滴滴移动端提前批(1-3面)面经
最后挂了,还是想吐槽一下,我二面过了之后,又给我安排了一次二面,不是加面,就是单纯的安排错了,有点难受。最后挂的也有点难受,感觉面得还可以,不太知道哪里挂了
一面(1小时20分钟)
1.介绍项目(介绍了2个实习+1个项目,主要问了都有什么收获以及技术难点)2.了解android里的Map么(ArrayMap和SparseArray)
3.了解java的·四种引用类型吗(弱引用一定是在内存不够的时候就会回收么?)
4.讲一讲android中的跨进程方式,并讲一讲AIDL,讲下AIDL的原理(偏原理的东西而不是使用)
5.讲一讲输入一个地址会使用哪些协议,怎么知道的ip地址
6.讲一讲DNS的原理
7.讲一讲TCP里的三次握手
8.遇到过多并发的情况下么,讲下Syncornized的原理,
9.了解线程池么,讲一讲原理,讲一讲其中有哪些参数?对应不同的任务,我该如何去设置这个核心线程数?
10.讲一下不同的锁,syncornized是重入锁么?
11.滑动冲突了解么,知道怎么解决么,给你一个实际的例子,你来讲下该如何去解决这个滑动冲突
12.了解双亲委派模型么,他们的好处有什么,android常用的类加载器你知道么,有什么区别?
13.listView能实现9宫格么
14.聊聊GC吧
15.聊聊HashMap的put吧,为什么 1.8 要树化,什么时候会树化,什么条件下是树化,什么时候会调用resize方法扩容,resize什么原理,如果哈希冲突很多的话会扩容么?
16.给定一个元素,插入到数组中固定的位置
17.了解Glide么
18.Gson的怎么使用,内部使用的是什么原理
19.SP有什么缺点,如果现在让你考虑存储,你会选择怎么去存储呢?
20.ArrayList和LinkedList的区别
二面(1小时)
1.写单例模式2.顺序的数组,插入一个元素(二分)
3.Fragment的生命周期
4、讲一下消息机制,怎么实现一个线程只有一个Looper
5.讲一下Service的启动方式,有什么区别
6.了解Binder么?
7.聊聊实习中做的东西,提出一些问题,并解答这些问题
8.聊一个实际场景,activity的生命周期是如何调用的
9.对第一份工作有什么期许
10.聊聊RN有关的,有一个怎么样的认识,知道RN有什么不好的地方么?
三面(30分钟)
1.聊聊重载2.聊聊OkHttp(我说完了一遍之后又让我重新说一遍?然后我说其实我说过了,就不问了。。。。)
3.api 和 implement的区别
4.用两个队列实现栈,需要线程安全么(赛码网是什么鬼,看不到我写的代码说的思路)
5.聊聊syncronized
6.观察者模式
7.handler机制,如何保证主线程不阻塞
8.跨线程与跨进程