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岗中高级岗面试题。将掌握知识,系统化的整理了出来。恶补各种底层代码。魔鬼训练两个月后,终于在五一节前收获了字节跳动offer。已经拿到offer了,lz决定把我两个月恶补整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。以下是部分截图。 **免费领取方式见石墨文档:Android架构视频+BATJ面试专题PDF+学习笔记
或关注后私信我【面试】即可领取**
需要的朋友可在评论区下留言无偿分享
最后想说的话
引用一个知乎高赞回答吧
问:程序员应该关注哪些技术?
答:这些问题,每天都会有人在群里议论,也会有人经常在群里求工作职位坑。那么我的看法是不要纠结学什么,先学了再说,与其抓住变量(新的技术手段)还不如好好学习,我特别喜欢《暗时间》的一段重视知识的本质:对于程序员来说这一点尤其重要,程序员行业的知识芜杂海量,而且总是在增长变化。很多人感叹跟不上新技术。应对这个问题的办法只能是:抓住不变量。 而且总是在增长变化。很多人感叹跟不上新技术。应对这个问题的办法只能是:抓住不变量。
|