四面阿里,因为最后一个问题与 offer 失之交臂,android 驱动开发
源码是一项比较基本的知识点,在学校的时候还意识不到它的重要性,面试的时候却屡屡栽在这个上面,很多人都向我倒苦水表示:真的快绝望了。下面是一个四面阿里,功败垂成的朋友
一直都在联络,我感觉得到,他前面的表现还是很好的,如果进展顺利,offer 没问题,我甚至已经想好要他请我吃饭的地点了。但是我没想到,后面的环节让这顿饭泡汤了。
![](http
s://upload-images.jianshu.io/upload_images/22861276-39cd46f6e1eaf5af.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这样的情况还不止一个:
这都是 CV 的锅啊!
问:来啊!我老厉害了,精通 CV!(骄傲.jpg)我:不错不错,学到了精髓啊!(直呼内行.jpg)
我的内心毫无波澜,甚至还想抽根烟。精通 CV 的兄弟们啊,是时候歇歇了,看看别人的面经吧,躲不过的:
不要心存侥幸,**不只是阿里,其他大厂也是这样,**面试官都极其注重应聘者对源码的分析理解。网上那些面试成功的同学无一不是熟知源码的人。
基于大家的迫切需求,我特意咨询了一位业界的大牛:Alvin 老师,前三星、小米研发经理。 今天我就给大家分享一下 Alvin 老师的 Android 源码学习方法:(源码的学习方法是通用的)
1、通读源码官方文档
学习 Android 源码之前,首先要把 Android 官方网文档系统的阅读一遍。哪怕你读不懂,也会接触到很多名词,读源码的时候大有帮助。
有人拿自己英语不好当借口,子路笑言自己的英文水平经常被人喷,这个困难要自己克服。既然决定了前行,那就不能畏惧阻碍。
2、如何正确阅读 Android 源码
读完源码就忘,什么印象都没有,是因为你没有理解透彻。建议:“不要从字面意义上去读源码,通过源码启动方式阅读。”
比如去理解作者做这个设计变量的思路、设计代码的原则、作者的想法是怎样的。
那么三者结合在一起就可以看出作者写代码的意图,一定要站在作者的角度,结合全局来看源码。
3、尽情去调试吧,源码知识一定要自己验证!
在学习过程中,不要怕,尽量多去调试;看一下就去断点调试一下;多去写自己的注释;尽量去把代码改了,把代码给删了!
多思考代码某些地方预留的接口能干嘛?这个地方是不是可以做扩展?市面上还有哪些主流框架?边看源码边思考,这样你的记忆会加深很多。
学习源码目的就是为了让我们能够去对源码做二次开发或者扩展。
实话实说,我相信现在大多数人学源码,就是为了去面试。很多人在简历上写“读过源码”,这么写你连电话都接不到! 见面试官的机会都没有。
评论