一面:
- 聊实习
- Java里的interface和class的区别
- 设计模式有哪些
- 单例模式有哪些
- 懒汉式为什么要用双重校验锁
- 怎么实现线程同步
- volatile实现了一个什么功能
- 说说你对原子操作的理解
- synchronized修饰方法和代码块性能的区别
- 显式锁(我说了lock锁)
- 线程池原理,举个例子说说它的使用
- 四大引用说一下
- Java常见的集合类
- 如何保证这些集合类的线程安全
- 自定义View说一下
- ListView和RecyclerView的区别
- RecyclerView缓存机制
- Fragment和Activity的区别
- 有哪些布局说一下
- ConstraintLayout有什么优势
- 说一下Okhttp的原理
- 说一下Okhttp和Retrofit的区别
- 说一下Android常见的数据储存方案
- 说一下常见的内存优化
- 内存泄漏怎么排查和解决
- leakCanary原理说一下
- 启动优化说一下
- Java垃圾回收说一下
- Android中的IPC
- AIDL怎么使用
- handler是干嘛的,原理说一下
- Layout Inspector你用来干嘛
- 说一下dart比起Java、kotlin这些语言的优势
- 反问
说好的30分钟,结果面了近50分钟
基本上都答上来了,面试官最后说了一句,感谢你参与面试...哈人
二面:
- 说一下Java垃圾回收
- 说一下你看过哪些源码,说一下okhttp和rxjava
- 内存泄漏怎么排查,原理是什么
- kotlin协程原理
- 想问flutter,被我制止了,我说我不会
- 一些类似hr面的问题
三面:
hr面,就是通过正常聊天的方式,观察我的品性和作风
四面:
又加了一轮面试,问的很深入,但是每讲完一个问题,面试官都会给我科普,以至于整场下来我觉得我讲的没他多
- Java写一个命令行程序需要注意什么
- kotlin中有什么新的特性
- kotlin中数据类型
- 什么时候自动装箱和拆箱
- Android 中四大组件应用场景
- Service启动方式,两种启动方式能不能同时启动
- 怎么设置一个Service为其他进程,怎么跟当前进程进行IPC
- AIDL具体说说
- Binder的一些边界限制,即什么时候不该用Binder
- 数据结构仔细说说
- 开发过程中怎么使用数据结构
- 递归和循环遍历区别,怎么解决stack over flow问题
- 反问
#秋招##Android##Java#