共计 1009 个字符,预计需要花费 3 分钟才能阅读完成。
前言
自己毕业三年,两年 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 语言变声 / 网易云音乐无闪烁动静换肤