最后
我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家
在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【算法合集】
【延伸Android必备知识点】
【Android部分高级架构视频学习资源】
**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
在这之前我想先问大家几个问题
你如何看待面试?
任何企业招聘重要岗位时都不会只安排一个候选人面试,通常都是两到三个甚至更多,最终来优中选优综合评估,筛选出与企业所需岗位能力素质要求最接近的人,所以对求职者来说面试是一场比拼,一个竞争的舞台,比的是素质、经验、能力,也是思维方式,以及对岗位的认知度,拼的是耐性,临场发挥,对企业的认同感,比拼的奖品就是录用通知书,所以说应聘者以什么心态,怎样的精神面貌来对待面试这个过程,决定了你在面试时的结果。
并且我觉得面试本身并不能完全评价一个人的实力。面试通过的人,也许只是恰好在面试时遇到了自己熟悉的问题,面试不通过,也有可能是面试官自身的问题,并非每个面试官都具备客观评价别人的能力。
换句话说,面试没通过也许是面试官没有发现你的才华,面试通过了也并不代表你就能胜任工作,因为进入企业之后可不是每天负责回答面试题!
网上关于面试最多的是什么?就是面经,他有些介绍了一些“装逼”的方法,还有所谓的“面试技巧”,我本人的话是不太认可的。技巧需要有,这是为了让你更好的展示自己,而非坑蒙拐骗。我更想展现一个真实的自己,如果面试官不认可,说明我们没有缘分,或者说自己的能力还不够。
在招聘中,这类情况一直在发生。我们让工程师通过严格的筛选程序,问他们一些有挑战性的问题,但在把他们招进公司之后,只是让他们做一些枯燥乏味的事情,比如负责由五六个服务组成的系统,或者让页面看起来更漂亮些。我并不是说这些任务就不需要技能,只是这些任务所需要的技能与大多数面试涉及的内容根本不一样。
既然BAT们是众所周知的福利待遇发展好,那自然其进入门槛也水涨船高,我记得曾有媒体戏称进入BAT的难度不比考公务员低多少。
虽说如今招聘更偏重能力,但当出现僧多粥少的情况时,也必然需要进行硬性条件上的筛选。其实这也是没有办法的事情,不存在完全学历歧视的问题。你想,招聘一个人,大概要看100份简历,面试10个人,最后才能选中一个。但从工作量上来说就是一个很大的事情,只能硬性条件卡严格一点。
筛选过后,还要进行几轮的面试才能最终确定下来,岗位竞争非常激烈。但在经历了激烈的面试,开始入职后,却不乏有人发现岗位所需技能与面试所说差距过大,这是便有网友称:面试造火箭,工作拧螺丝。个人成就感难以满足,就萌生退意,递交辞呈了。
我相信在很多个领域里,有很多的人拿到的报酬已经远远超出了他们所从事工作的难度。有时候是因为他们是这个领域唯一知道怎么做这些事情的人,有时候是因为他们所在的公司无法从人才市场上招到更好的人,有时候是因为其他工程师故意过度设计,这样初级开发人员就需要花费很长时间才能理解它。无论如何,如果我们想要保持高薪和不被踢出局,就不能停止学习。加强知识的广度和深度,并学会如何将炒作从真正的突破性技术中过滤掉。
你为面试准备了些什么?
就算你觉得你所有的东西都准备好了,但也不是你拿着简历奔赴各个面试你就有机会
如果你为自己做了份详细的职业生涯规划,那你也应该为自己做一份详细的时间管理计划表。好的面试一定不是拿着简历跑出来的。
资历深的HR可以清楚的看出优秀和普通面试者的区别,当然了他们可能也会问这样的问题,“你觉得哪首歌最能体现你的职业道德?”“EXCEL有多少种算法公式?”“你洗澡的时候都在想什么”当然,这些问题也都是真实存在的。但是面试的重点一定不是寻找和你喜好相同,品味一致的人。
面试需要准备些什么,在这里我就不给予评价了,各大面经里面都有,大家去看看就好了的。但是大家在刷面试题的时候一定要注意,不要仅仅是去背答案,浅步的了解会让提高你面试的成功率。
总之,面试的本质一定不是一问一答,如果你还想要让自己在面试过程中魅力十足,那就带一份工作计划过去,这不仅是展现你的诚意,更让HR看到的是你的工作思路和专业实力。
接下来我给大家分享一下我的经历吧!
分享的多也没有什么用,就举例一次映像十分深刻的吧。一次很偶然的机会,被猎头推荐到阿里巴巴面试。简历被送到阿里后,会有几天简历审核期,这个过程会先从简历上筛选掉一部分人。简历审核通过后,会有负责技术面试的人对你进行一个电话面试,我当时接到电话感到很突然,因为简历都已经投递一周了,然后就匆匆跑到楼下进行电话面试。
面试问题还记得一些,一部分已经忘记了,为了防止再忘记,所以便写了出来。
1:你是如何理解Android操作系统的。
2:是否熟悉framework层,如果熟悉,那就对framework做个简介。
3:是否熟悉多线程,如果熟悉,介绍下线程。
4:对象锁和类锁是否会互相影响,会举例子让你判断锁的使用是否恰当,并说出原因。
5:是否熟悉Lopper架构,如果熟悉说下其原理,如果你自己实现,你会怎么实现。
6:自定义控件原理,及消息分发流程。
7:binder工作原理。
8:ActivityThread,Ams,Wms的工作原理。
9:如果工作中需要修改framework,你如何寻找切入点。
电话面试就这么多内容,自我感觉给回答打了75分,然后就是等通知;又隔了两天,阿里的HR打电话让我去指定地点面试,心里有点紧张,因为想给马云打工的人太多,竞争激烈程度可想而知(哈哈放平心态就好了,每个人都会有一个最好归宿)。
和技术负责人聊了聊,大概2小时左右。
主要聊的是framework、binder、并发容器、线程并发和对象锁,再就是ndk使用的是否熟练,是否熟练hook技术等;还有你遇到过什么技术难点,是如何解决的。还有你读过什么开源工程,有什么感想,你是否考虑过做一个开源工程。最后就是设计一个多线程并发处理大数据量,然后刷新UI的架构。
最后结果是没能达到他们的期望,跟技术负责人聊的较开心,就留了联系方式。
**面试总结:**通过这次面试知道自己还有哪些不足,要继续努力,功夫用在平时很重要。
面试收获,注意看!!非常重要!!
一、提前准备面试所有问题的答案并重复练习
众所周知,面试就是由面试官向面试者提问,来了解面试者个人基本信息,考察面试者的工作态度、综合能力和专业能力。想要顺利通过面试,我们就得提前了解面试官经常会提问一些什么问题,这样才能针对性的进行回答。
二、重新回顾简历的工作经历和结果很重要
HR 们会通过询问你工作经历中的具体细节来判断这段经历的真实性以及你的专业程度。实习等工作经历是体现你专业能力的重要指标。
如果你无法详细地讲述工作经历的细节,HR就有可能会怀疑你伪造工作经历。或许离你上一次的工作经历已经过去了很久,你可能已经忘记了很多细节。但没关系,你可以通过下面这样来回答:
-
你做了什么工作?
-
这个工作的目的是什么?
-
这个工作发生在什么时候?
-
由谁参与了这个工作?
-
在哪里开展的工作?你在什么情境下做的工作?
-
你如何做这个工作?结果怎么样?
另外,一定要记住,最好使用具体的数据来证明自己的能力,数据往往比天花乱坠的形容词来得更令人信服。
三、针对岗位量身制作一份求职作品集
一份好的求职作品集在面试中可以说是必杀技。一份优秀的求职作品集,一方面说明你对这次面试重视程度,让 HR 体会到你的用心;另一方面,可以展现你出众的专业技能。
你可以根据公司发布的招聘信息,提取关键词。提取岗位招聘信息中的关键词,熟悉工作流程,然后亲手去执行几遍,向HR展示你的成果。当然,如果你并不了解这份工作,也可以请教业内人士,指导整个过程,帮助你完善作品集。
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
家有一个方向参考。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!