字节跳动面经
自我介绍,大概就是说些简历上没有的亮点还有跳槽原因等,从各个方面彰显自己优势和技术
手写代码(1)计算View树上所有view的数量 (2)参数ViewGroup(3)补全空方法返回view数量(就是数据结构多叉树递归层序遍历+Android View基本api调用)
主线程Looper一直循环查消息为何没卡主线程?
RecyclerView相对ListView区别?
好像还有Bitmap resize相关,就是设置option,然后decode等等等等吧
用MultiDex解决何事?
其根本原因在于?
Dex如何优化?
主Dex放哪些东西?
主Dex和其他Dex调用、关联
Odex优化点在于啥?
Dalvik和Art虚拟机区别?
多渠道打包如何实现(Flavor、Dimension应用)?
从母包生出渠道包实现方法?渠道标识替换原理?
Android打包哪些类型文件不能混淆?
Retrofit主要实现机制?
动态***静态***区别?
思维、架构:模块化怎么做的?怎么设计的?19.接口发现暴露怎么做? 基于什么思想?
MVC、MVP、MVVM应用和彼此本质区别?
Glide缓存特点?
你擅长Android中哪个方向呢?这问题我其实是按Android UI动画方面和移动端后台交互方案制定来预想过的,然鹅说完他挑了Android UI,幸好我有准备。
你看我这手机上这个launcher里应用抽屉(就是很多ROM都有的把很多APP管理归类的二级菜单功能)他在这ROM前一版是有个毛玻璃效果背景的,从系统ROM角度说下怎么做吧?UI相关的两个大问题:实时的水面倒影效果怎么做?这里面实时更新的UI性能如何保证?(我也没做过,估计面试官也知道,所有就说了一下思路啥的,最后也认可了我的思路策略以及知识迁移解决问题能力吧)
偏UI基础的考察:Measure、Layout、draw大流程、绘制顺序,基于这些说下TagLayout(FlowLayout)怎么写?
算法题:俩线程分别持续打印奇数和偶数,实现俩线程的交替打印(从小到大)
设计个IM客户端以及数据库架构,架构每一层都是啥,互相怎么交互工作?
最后
感谢大家能耐着性子,看完我啰哩啰嗦的面经过程,以上仅是个人的观点。但要记住的是,学习是不能落下的,因为时代在进步,技术在更新,只有更新了自己的知识库,才不会被行业所淘汰。
全部评论
(1) 回帖