1.自我介绍 2.JVM内存布局,GC垃圾回收机制 3.对做智能家居有没有兴趣 4.设计模式怎么分类,每一类有哪些 5.乐观锁、悲观锁 6.动态代理的几种实现方式以及优缺点 7.直接在Activity Sleep 5000ms,再post一个runable会不会ANR。 8.looper的唤醒是在Java还是Native层,怎么做到的 9.Binder通信机制 10.如果让你设计一套进程间通信的机制,你会怎么设计
阿里二面:
1.写一个二叉树的深度度优先遍历,递归 非递归 2.Koltin为什么比Java更安全 3.安装包优化有哪几种方式 4.如果一个app无法访问网络,你怎么做数据存储。 5.事件处理函数有哪几个,父View 子View 监听同一个事件,重写哪些方法。在哪个View重写? 6.如果android没用对应的view,flutter能运行吗?手写单例模式,volatile 跟 synchronized区别? 7.如何处理Crash,NativeCrash呢?Google是怎么做到的?如果上报过程中再次产生Crash能不能捕捉到? 8.apk编译打包流程 V1,V2 签名区别 9.binder的Native层代码看过吗 10.Android 沉浸式状态栏 怎么实现的
阿里三面:
1.handler中loop方法为什么不会导致线程卡死,动画的原理,有没有实战过补间动画;bugly上面收集到的最难的bug是怎样的,如何解决的? 2.网络协议okhttp中的缓存机制,dex加载流程,组件化的原理; 3.应用启动流程,activity 启动流程,为什么要每个应用有一个自己的虚拟机,这个虚拟机和JVM的关系。 4.如果让你实现一个调试器,你会怎么设计?静态调试?动态调试呢? 5.React Native跟原生开发的优劣 6.hashmap的基本原理 7.如果要你自己去实现一个图片库,怎么做? 8.插件化的原理有了解过吗? 9.MVC MVP MVVM原理和区别 10.做过哪些页面卡顿优化,是怎样做的。 11.谈谈对热修复的理解
经验总结
以上就是我的阿里之路三面凉经了,前两面还算比较顺利,到第三面基本上没有回答出来几个。细心的朋友可能已经发现了。阿里三面问的大多是底层的原理。总结一下我的失败经验大多是: 我并没有去追根溯源搞清楚那些方法、工具、框架到底是怎么实现的,他们的工作原理是什么。我个人觉得自己在大学时期的项目经历已经足够丰富了,但都只是把纸面上别人的东西搬运、组装,变成了我自己东西,其实那终究不是我的东西,社会需要的是创新型的人才,并不是一个敲代码的搬运工。要创新,那必然要搞懂原理,你才能够是一个创造者。
重整旗鼓,血虐字节面试官
经历阿里的惨痛教训后,LZ卧薪尝胆,在家恶补历年
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
各大厂Android岗中高级岗面试题。将掌握知识,系统化的整理了出来。恶补各种底层代码。魔鬼训练两个月后,终于在五一节前收获了字节跳动offer。已经拿到offer了,lz决定把我两个月恶补整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。以下是部分截图。 免费领取方式见石墨文档:Android架构视频+BATJ面试专题PDF+学习笔记或关注后私信我【面试】我发给你
1637899024810)] [外链图片转存中…(img-jEJ94zr5-1637899024811)]
|