本人非科班渣渣,除了字节,还面了腾讯、美团、滴滴和京东,另外一些小公司穿插面的就没有写上来了。
本文主要是介绍一下字节的面试过程,后面有时间会把剩下的都补上。
另外呢,文末也分享一下我自己的复习资料和复习视频,特别感谢之前给我分享资料的不知名大佬,今天做同样的事情也是希望帮助到更多的小伙伴。好了,废话不多说,下面开始正文~
一面(6.30 1h)
1. 项目介绍
2. 说一说retrofit
3. okhttp中的责任链模式讲一下
4. TCP三次握手四次挥手
5. Synchronized和volatiled的区别
6.乐观锁和悲观锁
7. Synchronized的锁升级机制
8. handler机制
9. App的启动过程
10. CAS
11. Activity的启动过程和启动模式,分别的应用场景
12. Tcp/Udp的区别
13. tcp可靠性的保证
14.动态代理的实现原理
15. 算法题:根据前中序重构二叉树
二面(7.7 50min)
二面只想起来一部分内容
1. hashmap
2. 能否自己写出一个求hash值的函数(算是半个算法题吧)
3. 讲一讲okhttp
4. http中如何实现缓存
5.那在okhttp中如何实现缓存
6. DNS的解析过程
7. 算法题:场景题,能否写一个函数给定安卓界面上最顶层的view得到安卓界面中view的深度
三面(7.13 50min)
1. 项目介绍
2. ==和equals的区别,Stringbuilder和StringBuffer的区别等等java基础
3. 项目中的难点
4. 项目中学到了什么
5. 算法:螺旋矩阵
不知道为何三面突然问起了java基础,项目里的内容也没有深究,可能是因为非科班,安卓端又非常缺人。
hr面(7.14 30min)
1. 自我介绍
2. 优缺点
3. 为什么选择字节
等等一些常规的hr问题。。。。
根据自己的实际想法答即可,提到字节舔就完事了 哈哈
总体来说,在面试难度上,安卓端的题目难度确实不太大,主要还是java基础和网络还有安卓一些常见的知识,可能是安卓比较缺人侥幸拿到了字节的offer。整个面试体验非常棒,每个面试官都比较和善,会耐心的听你讲完,有不会地方还会适当提醒一下。
最后
福利时间
分享一份大佬收录整理的Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料
这些都是我现在闲暇还会反复翻阅的精品资料。里面对近几年的大厂面试高频问题都有详细的讲解,也是对我这次面试通过有很大的帮助。相信可以有效的帮助大家掌握知识、理解原理。
当然你也可以拿去查漏补缺,提升自身的竞争力。