前言:
说一说自己的一些经历吧。湖南一所不出名的大专毕业,毕业后想着去互联网比较发达的一线城市会比较有发展前景,于是深圳成了我的首选。在深圳磕磕绊绊了半个月,简历投了无数家,基本上都是回去等通知。专科毕业,成了我简历上最大的黑点。后来找了个刚起步的小公司,终于是在深圳落下了脚。中间换了几家公司,都算不上大公司,稍微好一点的公司都是有学历门槛的。到现在,我已经工作2年了,疫情这段时间在家里,想了很多,决定拼一把吧。我要去杭州!
在家搜索各种学习资料、各种面食题,在刷题的过程中,发现了许多问题,比如知识不够系统化,有一些知识没有接触过等等。果然,人还是要在不断的学习,才能不落后于别人。埋头苦干了一个月。终于功夫不负有心人,顺利拿下了offer。下面分享一下我的面试经历吧,希望对你们有帮助!
阿里一面:
1.自我介绍
2.自己看过的源码,说一下?
3.接下来就EventBus的东西了,还是老问题,优缺点,有没有什么问题,列举了很多场景,我看源码看的比较细,根据自己看过的东西做回答和分析,然后还是,接口回调和观察者模式之间的选择。
4.问我你看过这么多源码,你觉得什么东西最重要?
5.答了源码中看到了大量的反射使用,多线程方面,Collections,数据结构这些。
6.问我多线程,引申出handler,我从handler的源码去解释
7.handler引申出的内存泄漏,为什么静态内部类不会持有外部对象
8.接下来还是场景题,图片框架的实现,涉及到的Lru缓存,线程池,线程池该如何分配线程数量。
9.APP从打开到显示之间发生的事情。
10.为什么java可以调用c/c++的函数,调用jni发生的事情说一下。
11.动画种类,使用动画的步骤,有没有看过动画框架的源码。
阿里二面:
1.自我介绍
2.还是自己对EventBus的理解。
3.学习Android的过程
4.项目遇到的问题,怎么解决的
5.回答过程中提到csrf,问原理
6.对公司有什么要求
7.IPC
8.socket的连接过程
阿里三面:
1.自我介绍
2.详细说我第一个项目
3.http缓存
4.如何把ip地址存储在一个int 变量里面?
5.详细介绍第二个项目
阿里四面(hr):
1.从小到大最有压力的事
2.数学怎么样
3.向往的生活
4.什么事情让你觉得自己喜欢移动端
5.哪里人,想去哪里
感想:
需要拥有的一些能力:
-
学习能力:尤其是自学能力,你啥时看到那些有名的程序高手在论坛上问“学习XX该看什么书,如何快速学习XXX,学习XXX有什么代码推荐”之类的问题,他们想学什么很快就能自己找到相关资料。这个行业发展太快,技术淘汰的速度也很快,2年不学新东西就可能落伍了。
-
动手能力:都是看书看资料,当别人还在纠结看什么书,还在纠结书里的字句是什么意思的时候,有些人的几百上千行代码都已经能运行了。
-
耐心和毅力:做程序员兴趣固然重要,写自己喜欢的代码那是相当愉快的事情,但是程序开发中无论如何还有大量乏味无趣的事情,要能坚持,咬牙把这些做完。
-
表达能力:能在大庭广众下,把自己的想法逻辑清晰流畅地讲出来,让人听懂。
那么技术呢?技术不重要,有了以上几种能力,市场上需要什么技术,很快就能掌握了。
最后再说说工资的事吧,记住两句话:
1.工资不是老板对你过去贡献的回报而是对你未来贡献的预期。
2.你所拿到的工资,永远和你所掌握的技能成正比。
以上皆是朋友亲身经历,以及个人的一些感想,分享给大家。
点个关注吧~~~
转载:https://blog.csdn.net/zzz777qqq/article/details/105738215