Android大厂面试题回忆录

最近面了BAT、美团、快手、字节、爱奇艺、京东、小米、好未来、茄子快传、伴鱼、永辉等公司,拿了一些公司offer,最终选择入职字节,记录一些面试中遇到的问题,给大家和日后的自己一些参考。其实面试大部分问题都是按简历上的技术点来的,但不排除有些面试官还是按自己准备的套题来面试。

Android相关的

1、ui还原度(怎么确认你做的效果和ui的切图、尺寸标注是一样的,怎么快速对比?谁去确认这个事,是开发、测试还是设计?)
2、启动速度优化做了哪些,优化的效果是怎么样?应用启动时长怎么统计?系统耗时部分怎么统计?从点击launcher的应用图标到application.attachBaseContext这段时间的时长怎么统计?如果发现某个系统库加载特别慢,如何优化?闪屏页或是首页统计到哪个点比较好,到用户可见可操作的?
自己看到的一些黑科技:1)提高cpu锁频,对system/cpu中文件进行写值,暴力拉伸cpu
2)抑制GC,避免创建太多对象,如何抑制,可以参考支付宝的文章https://www.sohu.com/a/278007600_608959
3) 用javassist查看每一个方法耗时
4)redex用interindex调整类在dex文件中的顺序,原理,怎么调整类顺序,怎么找到为启动所需要的类
5)类预加载,类加载过程去掉预检验
3、应用被安装了但从未启动过,如何给它发送push消息,让用户打开应用?
4、插件化动态换肤原理,插件资源如何加载,图片命名一样,怎么区分?一个类可以有两个Resources么?
5、泛型擦出是在哪个阶段被擦出?运行时怎么获取到泛型类型?为什么被擦出了还能在运行期间获取到?泛型信息保存在类结构的哪个区域?gson解析时是如何获取泛型类型?怎么获取泛型数组的?
6、flutter为什么要用skia引擎渲染,有什么好处?dart vm了解么?组件是有状态的还是无状态的?
7、组件间通信,路由合并是怎么合并的?如何实现组件间通信?serviceloader了解么?
8、hprof的文件结构了解么?当上传到服务器特别大,该如何对其进行裁剪?hprof文件怎么分析,有没有什么工具能快速找出大对象或是重复对象

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值