Android 6年经验面试总结 2024.11.15
背景:深圳 面过12家中大厂、4家中小厂,通过4家中大厂,2家offer。
针对六年的求职面试总结:项目经验70%+30%基础(基础应该必会)
- 对于上来就问八股文的公司,对于已经工作了5年以上的开发来说,稍微显得不那么尊重了。
- 项目:项目中需要展现自己在日常做过的启动优化、卡顿优化、内存优化方面的内容,不然整个在职过程如果没有亮眼的项目,再没有优化的项目,会有一种只会绘制UI的感觉。
- 项目细节:需要展示自己的独立思考与深度思考,再加上对已有开源库的熟练掌握,以及是否也应用在了自己的项目中。
- 基础:这里还是简单背题的话,已经不能应对面试了,面试还是考察你这这块整个的理解程度,简单的几道题并不能丰富自己,比如绘制过程,从 Vsync开始描述,再一步一步扣细节,还是要自己一块一块梳理。
- 算法:已经不是那么重要了,顶多是一些智力题,如果项目中应用了简单的算法,可以写上,并且对于自己已经写在简历上的算法, 要熟记于心,比如排序、LRU等。
大致范围:
kotlin
协程:
- 优缺点、启动方式、作用域、分发起、结构化并发、取消机制、
- 冷流、热络、高阶函数
Jetpack
- LifeCycle、ViewModel、LiveData
Java
线程:
- 锁、锁的范围、锁的区别、死锁、锁安全、同步方法、线程间通信、关键字、线程池、GC、双亲委派
Android
- Handler、同步消息屏障、idleHandler、msg.target、ThreadLocal
RecyclerView 缓存、卡顿优化、内存优化 - Okhttp
拦截器、日志拦截、单向证书验证、分发器、内部维护线程池、 - Retrofit 设计模式
- Glide 原理、几种缓存内部使用的算法
- 屏幕适配
- App启动流程、绘制流程、启动优化、卡顿优化、内存优化、内存泄漏检测
- 组件化:
组件间通信方式、传输格式、protcolBuffer、Arouter - webview
- android 与 js 通信方式
Flutter
- 三棵树的绘制原理
RN
Bitmap
- 图片内存大小计算、如何优化、Android 不同版本有何不同
设计模式
视频
- 视频解码过程、编码过程
网络
- https/http、SSL/TLS如、何防止抓包、七层协议、TCP/UDP、握手
Git 分支管理
进制转换:
- 二进制、八进制、十六进制、十进制
HR相关问题
- 未来发展规划
需要面试资料(1万字整理)或者深圳有些我面过的公司的面试题可以留言