前言
自己毕业三年,两年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(安卓)开发零根底从入门到精通
Android大厂精选高频面试题逐题解析
FrameWork必问:WMS/AMS/Handler/Binder/事件散发机制/屏幕适配/插件化
Android开发中高级进阶:实现QQ语言变声/网易云音乐无闪烁动静换肤