前言
本人毕业三年,两年Java后端开发,一年Android开发。今年7月面试了字节跳动,半个月拿到offer,记录一下整个面试过程,需要的可以看一下。
一面
1.自我介绍。
2.说一下Activity的生命周期,接着再讲一下一个活动调用另一个活动,这两个活动分别调用了哪些方法。
3.OkHttp说一下。
4.Java的内存模型说一下。
5.进程和线程讲一下,这里延伸到了进程间通信。
6.view的绘制流程讲一下,具体说一下各个之间的参数。
7.讲一下view的事件分发机制。
8.将一下线程池的七个参数,还有具体的工作流程,具体有哪些拒绝策略。
9.讲一下JVM内存模型,垃圾回收算法,机制。怎么判断对象是否存活,可以做GCroot的有哪些对象。
10.操作系统的分段分页。
11.做一道算法题,之字形打印二叉树。
二面
1.自我介绍
2.上来问Android基础,activity生命周期说一下。
3.服务,问了我绑定服务和启动服务两者的区别。先绑定,然后之后再启动。这样的服务怎么结束。面试官追问,前台服务和后台服务的区别。
4.fragment,说一下它的生命周期。两个fragment之间怎么通信。
5.handler讲一下。
6.计算机网络,TCP是怎么保证其可信度的。
7.view的事件分发机制。追加问一个view,上下触发,viewgroup左右触发,怎么实现上述场景。
8.设计模式,我说了几种,然后挑了一个单例模式实现了一下。
9.JVM,怎么判断对象是否存活。我说了两种方法,追问可以作为GCRoot 的有哪些。然后问四种引用,具体说了一下。面试官追问引用队列。
10.实现一个判断链表是否为回文链表。
三面
1.自我介绍。
2.问了一些项目上的问题。
3.然后写一个堆排序。
4.问了一下计网方面的问题:关于OSI七层模型,然后讲一下每层的一些协议。
5.讲一下hashmap。
6.自定义view、如何实现一个自定义viewgroup。
7.讲一下未来Android技术方向上的一些规划。
8.反问环节。
总结
整体难度不大,面试官也很nice,但我最后综合考虑了各方面,选择去了腾讯。
【字节跳动Android开发面经(已拿offer)】相关视频推荐
Android(安卓)开发零基础从入门到精通
Android大厂精选高频面试题逐题解析
FrameWork必问:WMS/AMS/Handler/Binder/事件分发机制/屏幕适配/插件化
Android开发中高级进阶:实现QQ语言变声/网易云音乐无闪烁动态换肤