校招字节番茄(三面挂)
一面:
1.final
2.类加载
3.双亲委派机制,为什么要使用
4.GC
5.leackcanary
6.hashmap
7.concurrenthashmap
8.事件分发
9.handler
算法:
1.LeetCode61:旋转链表
2.合并两个有序链表
2.类加载
3.双亲委派机制,为什么要使用
4.GC
5.leackcanary
6.hashmap
7.concurrenthashmap
8.事件分发
9.handler
算法:
1.LeetCode61:旋转链表
2.合并两个有序链表
二面:
1.final修饰int类型的变量能不能改变?怎么改变?
2.反射可以改变这个int值吗?怎么改变?反射的原理?
3.try catch块;try抛出异常,catch中有return语句,finally会执行,finally为什么会执行?
4.接口和抽象类;
5.sleep和wait;
6.操作系统层面wait调用notify之后具体是怎么样的?
7.java有哪些锁?
8.sychronized怎么实现锁;
9.操作系统的进程间通信;
10.安卓进程间通信;
11.binder机制;
12.学习的过程中使用过aidl吗?
13.apk打包过程;
14.如何获取view的宽高;
15.ConstraintLayout;
16.设计一个类似glide的图片缓存框架:面试官进行了引导:设计一个数据结构,缓存策略等;
17.创建了两个ArrayList对象,l1.getclass()==l2.getclass(),判断结果;
18.手写单例模式的饿汉式和懒汉式;
算法:层序遍历
#面试那些事##春招##面经##安卓工程师##Android#2.反射可以改变这个int值吗?怎么改变?反射的原理?
3.try catch块;try抛出异常,catch中有return语句,finally会执行,finally为什么会执行?
4.接口和抽象类;
5.sleep和wait;
6.操作系统层面wait调用notify之后具体是怎么样的?
7.java有哪些锁?
8.sychronized怎么实现锁;
9.操作系统的进程间通信;
10.安卓进程间通信;
11.binder机制;
12.学习的过程中使用过aidl吗?
13.apk打包过程;
14.如何获取view的宽高;
15.ConstraintLayout;
16.设计一个类似glide的图片缓存框架:面试官进行了引导:设计一个数据结构,缓存策略等;
17.创建了两个ArrayList对象,l1.getclass()==l2.getclass(),判断结果;
18.手写单例模式的饿汉式和懒汉式;
算法:层序遍历
三面:
1.前两个面试官问的问题下去了解了吗
2.代码插桩;
3.leakcanary内存泄漏;
4.ANR的检测;
5.怎么判断是不是内存泄漏:一个程序不是内存泄漏,但是内存占用很大,怎么分析这个问题
6.一个app申请了内存对象,这些内存对象在内存中是什么关系?可以通过内存的引用链来分析吗?
7.有一份内存,通过哪些方法分析哪些类对象占比比较大?(比如有一颗引用树,用什么方法或者工具统计,哪些对象加起来最大?)
8.安卓四大组件;
9.进程间通信;
10.binder机制;
11.双亲委派机制;
12.插件化的方法;
12.热修复:已经发布到线上的类,我们要修改类的方法,可以从双亲委派机制来思考下怎么做?在AMS注册之前怎么加载.dex文件?
13.操作系统原理:有socket阻塞和非阻塞io,为什么有这两种socket io?
14.安卓怎么设计一个网络请求的框架?
15.jvm内存有多大?怎么做调优?
算法:
子数组范围的和;
重排链表;
2.代码插桩;
3.leakcanary内存泄漏;
4.ANR的检测;
5.怎么判断是不是内存泄漏:一个程序不是内存泄漏,但是内存占用很大,怎么分析这个问题
6.一个app申请了内存对象,这些内存对象在内存中是什么关系?可以通过内存的引用链来分析吗?
7.有一份内存,通过哪些方法分析哪些类对象占比比较大?(比如有一颗引用树,用什么方法或者工具统计,哪些对象加起来最大?)
8.安卓四大组件;
9.进程间通信;
10.binder机制;
11.双亲委派机制;
12.插件化的方法;
12.热修复:已经发布到线上的类,我们要修改类的方法,可以从双亲委派机制来思考下怎么做?在AMS注册之前怎么加载.dex文件?
13.操作系统原理:有socket阻塞和非阻塞io,为什么有这两种socket io?
14.安卓怎么设计一个网络请求的框架?
15.jvm内存有多大?怎么做调优?
算法:
子数组范围的和;
重排链表;