前言

自己毕业三年,两年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语言变声/网易云音乐无闪烁动静换肤