【已OC】字节_Android_社招_一二三面

秋招来了,各位找工作的小伙伴抓紧上岸啊!


唠叨一下:先讲一下我的职业生涯哈,不想看的可以直接到最后一段。我是普通二本出身,一直飘在北京,先是做web网站开发,后转到了Android移动端,也没有什么好运气,就靠一点小机智,得过且过混到16年初,靠着移动互联网大浪把我推到了一家二线互联网企业,在这里才算真正重构了自己,感谢当时遇到的同事,以及有可以和公司一起成长的机会,先后经历了完整的插件化和RN重度封装,知道了虚拟机和Android源码的重要,并开始积累。

18年初,由于公司内部重大调整,动荡不安,再加上自觉jvm和framework很溜了,于是开始看机会,寒冬初期也还算是顺利吧,进了一家普通的一线,可是没想到真正的大厂弯弯绕这么多,***激烈,效率如此之低,不是嫡系,你不仅少有升职加薪的机会,连好的项目都拿不到,这个时候迷茫了,大厂也算进来了,结果却如此令人失望,再加上看了一些中年危机的文章,更是稀里糊涂了,于是转而研究各种赚钱方式,基金,股票,房产,开店加盟等等吧。直到去年过年回家,跟老家发小聚会,介绍了各自的情况,才明白中国实体经济竟然是那么的糟糕,脏累险,如果轻易踏足,自己这个小白绝对会被人生吞活剥了的。

还得多谢CSDN大神们的引导,这时才明白了一点,知识特别是你本专业的知识,才是安身立命之本,是你最好最快的赚钱方法,读了多少年的书中自有黄金屋,这刻才算真正领悟吧,于是用三个月逐渐修补自己最后的短板:开源库和算法,过程中,逐渐拿各细分行业的小独角兽练手,最后一次就搞定了字节,很顺利。以上就是我的唠叨和感慨,进入字节对于很多985研究生毕业的人来说,是件不太难的事情,可是对于普通人来说,还是个梦想,所以我稍微记录一下心路历程,给别人以参考。
 

字节一二三面

一面(40min):
a. 线程池的底层原理
b. 四种引用类型
c. JAVA GC d. Sychornized关键字
e. 静态同步函数
f. 可不可以调用Abstrut 父类的super方法
g. HTTP协议中POST,GET 的区别
h. TCP/IP协议栈 i. TCP和UDP的区别
j. 三次握手是什么?可以两次握手么
k. 进程和线程的区别
l. 手写ViewGroup树结构遍历
 

第一次面试稍微有些紧张,但总体来说发挥还是OK的


二面(1h):
a. ArrayList / LinkedList的区别
b. HashMap的底层实现原理
c. 两个线程分别调用同一个类的实例函数和类函数
d. 什么是可见性?举例场景
e. volatile关键字的意义
f.Class对象
g. 线程结束的方法:Interrupt之后需要做什么
h. Android Activity切换生命周期
i. Activity保存状态的函数
j. 子线程对UI的操作方法
k. 如何在应用程序远程调用中表明用户身份
l. 单例模式、建造者模式、中介模式
m. 手写中位数查找算法
 

中规中矩,就是Activity回答的不是很好


三面(50min):
a. 聊聊项目
b. Handler和Looper的底层结构
c. postRunnable方法的底层实现
d. Thread Run和Start的底层调用区别(是否中断陷入)
e. BroadCast的使用方法
f. Intent的使用方法
g. Intent-Filter
h. 手写外部排序算法
 

由于之前还有做过一些项目,这关单纯就是我的加分项目了

最后offer到手啦

有关字节跳动的一些面试题还有复习资料我都放在我的 【Codechina】里了有需要的可以自行查看,记得回复暗号“1” 小编看家见了会将资料发送到邮箱中。

你可能感兴趣的:(Android进阶之路,android,安卓,移动开发)