秋招来了,各位找工作的小伙伴抓紧上岸啊!
唠叨一下:先讲一下我的职业生涯哈,不想看的可以直接到最后一段。我是普通二本出身,一直飘在北京,先是做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” 小编看家见了会将资料发送到邮箱中。
|