- 线程池中核心线程数跟最大线程数如何定义
高德—汽车事业部(Over)
面试机会来自于Boss
一面:
- View的生命周期
- View的绘制流程跟事件分发
- Activity跟Window之间的关系
- 对C跟JNI是否熟悉
- 热修复原理,插件化是如何进行加载插件的
- Java中的锁,各种同步方式之间的区别
- ANR在四大组件中的时间,场景
- OOM,如何避免
- 内存泄露原理,如何避免
- MVC跟MVP之间的区别
- ListView针对多种item的缓存是如何实现的
- Android绘制二维跟三维的View的区别
- 是否了解硬件加速
- ListView是如何实现对不同type的item的管理的
二面:
- Android中IPC方式,各种方式优缺点,为什么选择用Binder
- 主流的热修复框架流派,原理,是否研究过classloader源码
- Android为什么要设计两种classloader,为什么不用一种,通过type来区分
- Bundle传递数据为什么需要序列化
- 手写一个快排,分析原理
- 广播传输的数据是否有限制,是多少,为什么要限制?
- Activity启动时生命周期是如何回调的?
- MVP.MVC.MVVM之间对比分析
- 组件化通讯:有几种通信方式,Arouter原理
- 插件化加载流程,原理
- 关于反射混淆,耗性能的解决方式
- 天猫七巧板布局原理
- 热修复流派,原理
高德—地图事业部(Over):
面试机会来自于Trinea内推
一面:
- RecyclerView的itemdecoration如何处理点击事件
- 单例模式如何修改数据
- android事件传递,非常细
- 多线程
二面:
- JVM内存分布,Classloader
- 静态代理跟动态代理
- 线程的生命周期
- 是否用过DataBinding
- 是否接触过JNI
- 对热修复跟插件化了解多少
- 对RN了解多少
- 二分查找
- 说下多态
- 编译期注解跟运行时注解
- 线程跟进程间通信
- Android中的IPC
- java中的传递
- equals跟==
- P
icasso的存储 - 项目中的难点
- 项目中用到了哪些第三方
- MVC,MVVM,Clean架构
- 抽象类跟接口的区别,接口的默认修饰符
面试之外的学习心得
1.好记性不如烂笔头
这句谚语,几乎无人不知无人不晓,但是总被许多初学者抛在脑后。在学习的时候,总是看的代码多,而动手练习的代码少!身为一个程序员都应该很清楚,代码如果不多动手敲它,它永远不会自己跑进脑中,所以多动手才是成功的关键。
2.花更多的时间分析问题
花更多的时间理解和分析问题,然后再设计方案吧。你会发现剩下的事情很容易了。设计不是说要用建模语言和工具,可以是仅仅看看天空在脑子里构思。那些在遇到问题就开始敲代码的人往往会最终偏离需求。作为程序员,当你在编写代码之前,尽量把问题分析透彻一点,这不仅能提高你编码的效率,更重要的是能提高你的分析问题能力。
3.重思考,多总结
一个段好的代码并不是它们越复杂越好,简单的方法,实现复杂的功能,才是我们最需要的。要提高编码速度,更重要的是简化梳理程序流程,以最小的代码量完成功能实现。所以编程最重要的事情是思考和总结。
最后
这里附上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2020面试真题解析,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习
【一线互联网面试真题解析大全】
【字节跳动面试真题解析】
【腾讯、华为Android中高级面试真题解析】
42701)]
【字节跳动面试真题解析】
[外链图片转存中…(img-vAZJqdaa-1642592942702)]
【腾讯、华为Android中高级面试真题解析】