序言
目前形势,参加到Android队伍的人是越来越多,可以说是已经达到了供过于求的地步了。
今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇面试心得与经验总结。
诚意之作,希望可以给在外来找工作的人一点指导以及帮助,如果能耐心读完的话,相信你会找到自己想需要的东西的。
在这之前我想先问大家几个问题 你如何看待面试?
任何企业招聘重要岗位时都不会只安排一个候选人面试,通常都是两到三个甚至更多,最终来优中选优综合评估,筛选出与企业所需岗位能力素质要求最接近的人,所以对求职者来说面试是一场比拼,一个竞争的舞台,比的是素质、经验、能力,也是思维方式,以及对岗位的认知度,拼的是耐性,临场发挥,对企业的认同感,比拼的奖品就是录用通知书,所以说应聘者以什么心态,怎样的精神面貌来对待面试这个过程,决定了你在面试时的结果。
并且我觉得面试本身并不能完全评价一个人的实力。面试通过的人,也许只是恰好在面试时遇到了自己熟悉的问题,面试不通过,也有可能是面试官自身的问题,并非每个面试官都具备客观评价别人的能力。
换句话说,面试没通过也许是面试官没有发现你的才华,面试通过了也并不代表你就能胜任工作,因为进入企业之后可不是每天负责回答面试题!
网上关于面试最多的是什么?就是面经,他有些介绍了一些“装逼”的方法,还有所谓的“面试技巧”,我本人的话是不太认可的。技巧需要有,这是为了让你更好的展示自己,而非坑蒙拐骗。我更想展现一个真实的自己,如果面试官不认可,说明我们没有缘分,或者说自己的能力还不够。
“面试造火箭,工作拧螺丝”,你也是这样认为的嘛?
在招聘中,这类情况一直在发生。我们让工程师通过严格的筛选程序,问他们一些有挑战性的问题,但在把他们招进公司之后,只是让他们做一些枯燥乏味的事情,比如负责由五六个服务组成的系统,或者让页面看起来更漂亮些。我并不是说这些任务就不需要技能,只是这些任务所需要的技能与大多数面试涉及的内容根本不一样。
既然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的架构。