Android 高级工程师每日面试题精选,重要概念一网打尽
面试经验
自己大大小小投了也有 20 多家公司,不过经历简历筛选以及笔试淘汰,最终就经历了 7 家公司的面试。下面我就把自己面试中问到的问题贴出来供大家参考,一些具体项目相关的就不贴了。
阿里巴巴
阿里是 3 月初开始投的,是自己第一次面试大型的互联网公司,当时自己的准备也不够充分,表现不是很好,经历了三次技术面,最后挂了。
阿里一面
排序,快速排序的实现树:B+树的介绍图:有向无环图的解释 TCP/UDP 的区别,滑动窗口,如何确保有效性 volatilesynchronized 与 Lock 的区别 Java 线程池 Java 中对象的生命周期类加载机制双亲委派模型 Android 事件分发机制 MVP 模式 Rxjava
阿里二面
抽象类和接口的区别 synchronized 与 Lock 集合 Set 实现 Hash 怎么防止碰撞 JVM 内存区域开线程影响哪块内存垃圾收集机制、对象创建,新生代与老年代二叉树、深度遍历与广度遍历 B 树、B+树消息机制
阿里三面
项目介绍项目中做了哪些?主要解决的问题为什么选择 Retrofit,RxjavaRxjava 特点进度调度进程与线程死锁进程状态 JVM 内存模型并发集合了解哪些 ConCurrentHashMap 实现 CAS 介绍锁 synchronized,lock 开启线程的三种方式,run()与 start()方法的区别线程池常用的数据结构简介判断环排序、堆排序实现链表反转海量数据 字典查找平时看什么书...
总之,这些大厂的 Offer 和我都没有半毛钱关系,继续在家上网,找其他工作机会。
大概三个月后,我开始慌了
最开始是身边的同学开始在群里分享都去哪上班了,晒一些职业照工作餐之类的。虽然也羡慕还不觉得太担心自己。
第一次感觉有点慌是学校辅导员打来电话,问去哪个公司了,学校要给毕业生做就职率统计。我第一次意识到这时候大家应该都已经上班了。
辅导员听说我还没找到合适的工作,也没多说什么,就提醒了一句要尽快,如果时间太久要把档案从学校校提走,否则会进入就业人才中心,好像影响职称什么之类的。
当时的感觉是忽然眼前的目标没了,很茫然。之前 16 年学生生涯都有人告诉你目标,现在毕业了什么都可以做,家长也没给压力,反而发现自己不知道要做什么了。
我一方面报了个驾校,给自己找点事情干,一方面继续盲目的投简历。
再之后的几个月,让我对社会的工作开始有点恐惧
这一段因为有点慌张,所以基本什么岗位都投,从各种测试、产品经理,到比较热门 Java,反正什么职位都投。
每周还会去一两次招聘会,到了那里看见哪个柜台都聊聊,希望遇到那种奇遇的机会。但其实大部分都是爱答不理的冷遇,少部分很热心,还有安排下午就面试的。
但后来发现,很多立刻邀请你面试和热情的招聘摊位,都是不靠谱的公司。比如寻找廉价的销售,要不就是先交多少钱押金之类的。
作为刚毕业的大学生一开始有点懵懂,几次面试完就被组织培训了才反应过来,觉得不对赶快跑了,又担心自己填写的入职信息那么详细会不会有麻烦。
最危险的一次是说有班车就在招聘会外面等着,结果小巴坐满了一车人开始往城外开,感觉不对急忙说要下车,但是司机不停,威胁要报警对方才骂骂咧咧停了车,狼狈跑下来。
现在回想可能就是帮助一些不靠谱企业拉人挣中介费的,去了少不得先交钱,总之感觉挺后怕的,导致那一阵对去面试都有点敏感的戒备。
经历了这段也有点害怕了,我对父母求助,请他们帮忙介绍工作。
父母也是普通人,但到底认识一些朋友同事之类的。很快就帮助介绍了几个工作。
但随着去了一些面试,感觉这个事情就像相亲,除了自己家人都是做顺手人情,听说哪招人顺手就给你推荐,不会那么考量你的需求和岗位是否匹配,也不会可能专门为你付出多大人情。
好的职位不求招不到人,轻松的岗位也不会因为顺水人情正好为你开设。所以这类岗位大多和让不熟的人介绍相亲一样随机,全凭运气。
总之,这些工作机会都去了,详细看了也了解了情况,但仍没有找到合适自己的工作。
在这段时间,并不是全无收获,也不是没有进入任何企业做一天工作
前面总说这些工作这个不合适,那个不靠谱,很多人可能觉得是个眼高手低被宠坏的大学生形象。
其实也不完全是,很多企业都是经历了面试、笔试,甚至报到后进去做了一阵试用期,感觉不合适才走的。
慢慢的,还会摸索出了一套快速判断行业或企业是否适合的方式。
比如在被人介绍或通知去一个企业面试前,先从网络找它最近半年的新闻,了解它在做什么事。
尤其对于私企,要了解它的老板是谁,经历是什么,查有关老板名字的新闻,了解企业风格。
比如在面试通过后,要求面试官能否和对方的老员工了几句,了解企业的工作状态和部门。
还会在企业信息查询网站上,看这个企业最近 2 年的劳务纠纷和诉讼,了解它们是否正规经营。
很多时候,通过面试官什么时候打给你电话,通知你面试的过程,给你发 Offer 的邮件,都能判断出这个企业是否正规。
比如下班时间打电话通知,和周六日安排面试的,多数不怎么靠谱。面试后会正式发给你一套定位地图、面试通知且细心提示着装和携带材料等细节的,大多企业管理比较严谨。
如此,到了第二年,我不太焦虑了,开始深入了解一些行业
到了第二年,父母可能懒得说了,没有再给很大压力,可能看我每天都跑出去忙,也就没在催促找工作。
这段时间实际做了不少事情,当然,如果让父母知道可能在他们眼里都是“闲事”。
比如,和朋友一起弄了一个自媒体,一开始是吐槽性质的公众号,后来变成了一些 Android 技术交流和职场面试内容的持续内容产出。
还有一段很喜欢公益活动,所以报名一个公益组织,帮助策划参加了几次公益类的活动,但随着对行业的了解,感受到一些自己不喜欢的方面,没有成为全职人员。
学完车之后,又随着需求和爱好学习了 PPT、PS、思维脑图等一些常用工具,学了自媒体后台运营和监测的方式,以及一些简单的剪辑技巧。
中间联系要好的大学同学,去他们的企业和拜访叙旧聊天,一方面联络感情吃个饭,一方面了解他们的岗位和所在的行业是什么样的。
后来一次偶然的机会,我得到消息,阿里有一个部门要补招,不过是测试岗。同学把这个招聘信息发到我们几个人的小群里面,之后就没怎么在意。
过几天,我找到同学说我通过他发的那个招聘信息拿到了 Offer,虽然是测试岗,但是进来之后还是有机会转开发的。
之后我们一起来到杭州工作,我所在的部门面临拆分重组,我和领导表达了自己的想法,一方面因为我自己也确实优秀,另外也是尊重我的想法,我就被划分到 Android 开发团队了。
在之后的日子里,我经常主动承担团队内部的工作,在工作中发现安卓体系内没有很好的组件化框架,于是他自己搞了一个,还做了开源。
于是,渐渐的我深深的得到了主管和同事们的信任。一方面自己比较优秀,另外一方面也是因为主管力挺。我也很快得到了晋升的机会。
之后我的主管要转岗到其他部门,于是又把我带过去了,过去后又得到了很多重用。现在又在带团队,相信很快就能再次晋升了。我本身也是一个要性比较强的人,我知道自己想加入阿里,于是抓住了这一次补招的机会。我乐意牵头去做很多事情,于是得到了主管的信任,不仅给他很多机会,即使到了新的部门也愿意带着他。
很多人说,我是因为跟对了人,当然这是一个重要原因,但又不见限于此。因为我的主管之前手下有很多人,但是只有我得到了快速晋升的机会,也在转岗之后只把我带过去了。这些都是源于我有很强的要性,可以主动的去承担事情,也能很好的把事情做好。
结尾
腾讯 T4 级别 Android 架构技术脑图;查漏补缺,体系化深入学习提升
一线互联网 Android 面试题含详解(初级到高级专题)
这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率
有 Android 开发 3-5 年基础,希望突破瓶颈,成为架构师的小伙伴,可以关注我
**本文已被[CODING 开源项目:《Android 学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](
)
收录**
最后自我介绍一下,小编 13 年上海交大毕业,曾经在小公司待过,也去过华为、OPPO 等大厂,18 年进入阿里一直到现在。
深知大多数初中级 Android 工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此也是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
评论