字节 安卓客户端 一二三面面经 已拿offer
3.9,今天拿到offer了!
https://www.nowcoder.com/discuss/367609 是这个大哥内推的,有兴趣的都来试试!
————————————————————————————————
本人无安卓基础,20届校招,准备期间看了很多面经,也确实很多都考了,回馈牛客,攒好运求offer
### 一面
1. java有哪些集合
2. Set, List, Map都有哪些实现类,有什么区别
3. ArrayList和LinkedList区别
4. HashMap原理,put时怎么判断key是不是null
5. gc的几种算法
6. 如何识别是不是垃圾(引用计数器,可达性分析),引用计数法有什么问题,gc root有哪些
7. java为什么采用可达性分析不用引用计数器
8. java中多线程怎么通信的
9. synchronized和volatile区别
10. sleep()和wait()的区别
11. 讲一下https
12. 编程中用https发请求和http有啥不同吗
13. 写过Socket吗
14. http请求有哪些方式,get/post区别
* 编程题:找出数组中,升序子数组长度top2的数组
### 二面
1. java的4种引用方式
2. finalize()作用
3. 写一个双重检验的单例模式,这样就能保证线程安全了吗,怎么解决
4. volatile原理,了解ReentrantLock吗
5. http1.0, http1.1, http2的区别
6. http状态码
7. 如何关闭http连接
8. try catch finally怎么用,一般什么时候用finally
9. 还了解什么设计模式
* 编程题:找出岛屿个数,leetcode第200题
这个编程题我没写出来,面试官引导了将近一个小时也没写出来,然后居然过了。。
### 三面
1. 从List中删除指定元素(有重复),要求只用list接口的函数(就是考察对list的熟悉程度,不是算法题)
2. 重载和重写的区别
3. 多态的原理
4. 项目中的难点
* 编程题:从非降序数组中找出第一次出现的target元素下标
int[] array = {1,2,2,2,3,3,5,6,8}, int target =2
三面就问了这几道题。。多态的原理我还没答上,项目也是简单小项目。感觉三面凉了,求好运