面试完 BAT等数十家公司,我想谈谈关于 Android 面试那些事

作者 : 开心源码 本文共6770个字,预计阅读时间需要17分钟 发布时间: 2022-05-12 共130人阅读

一. 本文目的

笔者将在本文中就Android开发工程师这一岗位,结合自己最近跳槽的经历,谈一谈自己对于面试的少量看法,希望能帮助到正在跳槽中的你们,也给自己的金三跳槽之旅划个圆满的分号。

注:本文适合工作三年以内的职场菜鸟观看,尤其针对想从小公司到大公司(更精确的说,是从普通公司到优质公司)的情况,大神或者骨灰玩家可以关掉了。

二. 背景详情

2.1 个人经历

抛开背景谈面试和offer是容易误导观众的,所以首先大概说说自己的情况供大家参考,某业内知名211本硕(不提母校名字,不给母校丢脸),计算机相关专业,毕业后在北京某央企工作两年(不要质疑我的选择,我不后悔),一直从事Android开发的工作,工作经验两年,开发经验三年,不是大牛,且一度对手机端开发产生质疑,后来重拾信心。

本人大概从过年前一个月也就是17年底开始抽空准备面试,年后3月1日开始面试,到现在恰好一个月,前后总共面了有十家左右的样子,有BATTMD中的,也有老牌二三线互联网,也有其余小规模ABCD轮创业公司,最后拿到offer的有作业盒子、知乎、阿里、网易,最终选择了网易。

2.2 谈谈Android

而后谈谈Android目前的一个市场行情吧,由于整个移动互联网时代进入了下半场,很多APP都已经享受不到随着移动设施普及率越来越高所带来的红利了,所以从0开始的团队和APP数量大幅减少(我指的是中型以上公司里),大部分都进入到了一个稳固迭代的状态,所以较为成熟的APP团队少有人员扩张的需求,基本上放出来的岗位都是人员流动带来的空位。因而这对于工作年限很短的我们的确不是什么利好。可以说一般大厂招聘的都是高级的title,不说独当一面吧,至少是希望你来了就能上手干活的,不需要太大的培养成本的。当然他们对于高级的定义基本上就是在大厂两到三年左右的,而对于非高级的Android开发工程师,其实他们从学校里招就足够了。

其实细想,这难道不是一个正当的招聘逻辑嘛?说实话我还是很看好Android的现在和未来的,我也会经常自嘲Android程序猿没人要了,但实际上很多大公司想招一个合适的人真的挺难的,这个市场上人多,但机会的总量也多,而与此同时真正的人才比例还是很低的,所以这不就是机会嘛?或者许只需你比别人努力一点点,你就能得到别人得不到的,与其余职业相比,互联网圈子还是非常开放和公平的。当然你要说Android开发工程师有没有它的瓶颈,当然有,但至少貌似我们现在大部分人的水平还不够资格去谈论。大家都是搬砖的,搬哪种砖能挣钱是市场决定的,没有谁比谁更优越,互联网发展之快超乎你我想象。而其实当我们真正成为了一名资深的Android开发工程师或者者任何其余工程师的时候,我们的视野会更加开阔,我们的技能树不仅扎根很深,而且已经枝繁叶茂,那时候现在纠结的问题或者许都不是问题了。

三. 正文

我可能不会指名道姓地记录每家公司的整个面试过程和面试问题了,由于首先市面上有挺多同类型的面经了,大概翻翻就可;其次那并不能成为你去相应公司面试的一个功课,换句话说就是别人的成功不可复制,由于同一公司尤其是大公司的不同部门的面试风格和面试难度是不一样的;再细化到面试官,不同面试官,不同时间不同心情对不同面试者出的面试题也很可能是不一样的;退一步回来讲,其实面多了你会发现,技术面试相对而言还是比较死板的,对于3年以内的面试者,经常被问到的问题其实也就那些,后面我会提到。

所以接下来我将结合我的面试经验,概括地谈一谈整个面试前后过程中需要注意的少量点。

3.1 面试前

无须置疑,求职者在面试之前必需做好充足的准备,我认为有以下几点是重中之重:

3.1.1 完善简历,以及对简历内容做充分准备

可以说简历内容不在于多而在于精,尽量让每个字都有信息量,而且千万要中肯,比方说对于三年以内工作经验的,还是不要用「精通」这两个字了,会让面试官觉得你很浮夸。

坦率地讲,好的简历不仅是你得到面试机会的前提,更是后面拿下这场面试的基础。在面试中有两种最常见的形式,一是抛开简历问问题,二是盯着简历问问题。假如是第二种情况,那一份好的简历可以引导面试官去问你简历上的东西,假如你每一条都能讲的头头是道,无疑对于面试是非常加分的,而那些写在简历上你却说不出个所以然或者者说不记得了的,还是最好不要写了。在写简历的时候就应该一边写一边想我这样写那面试官一定会问XX的,所以这就需要你对于简历中表现的项目的重点难点或者知识点和闪光点进行肯定的准备,最好能回过头来看看当时写的代码,至少也要能自圆其说。

3.1.2 系统地复习基础知识

坦白地说,即便是大厂,大部分人平常也都纠结于业务代码中,对于基础知识难免会有生疏,因而在面试前系统地进行复习还是很有必要的,尤其对于根基不牢或者者说背景一般的同学,你要是基础再不扎实,就很难在跳槽中更进一步了。

对于Android程序员来讲,所谓的基础知识,最直接的就是Java和Android,而后就是算法、数据结构、网络、设计模式。说到这里说少量高频考点吧,Java:多线程知识(锁、线程池)、内存模型、HashMap等;Android:线程间通信、多进程、View绘制、触摸事件传递等;算法:链表翻转、快速排序、二分查找、栈相关、int翻转、数组合并、LRUCache等,其余:MVP、单例、HTTPS等等。其实都是些烂大街的问题,但你还真别觉得你都会,有时候很基础的东西是可以问的非常深或者者场景化的,这种时候难度就上来了,假如你能把基础的东西理的特别清楚,那无疑是加分项。

3.1.3 投简历

其实投简历也有很多要注意的,比方说假如你不够自信,或者者面试经验不足,或者者对市场不够理解,还是先降低难度从小厂面起吧,千万别上来就面大厂,很容易失败的,等慢慢找到感觉再去面你特别渴望的公司。

还有就是珍惜每一次机会,尤其是你要面一家比较向往的公司的时候,肯定要打探清楚且准备好再去面试。举个栗子,你在投递岗位或者者让别人帮你内推的时候,肯定要尽可能理解你所投递的岗位的JD或者需求和你能否基本匹配,千万别由于面了一场注定会失败的面试而导致失去了短期内再去这家公司其余更匹配的部门或者岗位面试的机会。由于有的公司面试失败了是有冻结期的,说多了都是泪,为此错过了一个好的机会。

3.1.4 面试官怎样想

其实在面试之前,不仅求职者要做准备,面试官可能也会做准备,表现在两个方面,一个就是他想招一个什么水平的人,放在大公司,一般可以直接量化:p6、T5、2-3;另一个就是他预计你是个什么水平的人,略微靠谱点的公司,面试官在面试你之前至少会看下你的简历,有的比较负责的会直接根据你的简历来提前准备好问题。

不要小看后者,同样给予了面试的机会,其实面试官对你是有一个预判的,一个9分的期望值,面试中的问题你答的OK甚至有亮点,那面试其实就是一个面试官印证自己想法的过程,那就是「嗯,和我想的一样,这个小伙子果然不错」,而你拿下面试也是松松的了;而一个6分的期望值,面试中你答得的普普通通,没有答出花儿来,那其实也是面试官在印证自己的想法,那就是「嗯,我就知道,果然水平一般般,没能超出我的预期」,那这种的面试往往会以失败告终。

那接下来就来谈谈面试吧。

3.2 面试中

面试其实说白了就是一场show,面试者需要在短短的几十分钟时间内尽力去「卖弄」自己,为自己求得一个好价钱。那么同样的水平,一场成功的show会让面试官觉得你是神,相反一场失败地show之后,面试官会觉得你一无是处。也就是说,其实面试是充满了不确定性的。

说说常见的面试套路吧,有以下这几种:

3.2.1 简历型

常见于一面或者者二面,面试官会对着你的简历一条条来问,说实话某种程度来说这是面试官认可你的项目经历的一种表现,由于你的简历如同让他产生兴趣了。正如前面所说,只需你简历不给自己挖坑或者者不是看起来槽点满满,并且对于写在简历上的东西都能自圆其说,那么就问题不大。

3.2.2 全覆盖型

常见于一面或者二面,面试官会抛开你的简历,一个知识点接一个知识点的和你聊,从Java到Android,从网络到算法,中间聊到兴起还会让你写出来,来证实你是不是真的懂,还是只是嘴上谈兵。这种一般主要考察你的知识广度,当然也可能穿插着往深了问来考察深度。这个没什么好说的了,基本功扎实并且说起什么来都知道点就肯定没问题。

3.2.3 场景化型

常见于二面,面试官会向你形容一种场景或者者一个问题,可能会给少量束缚,让你去实现或者者处理。这种其实是比较有难度的,尤其对于某些知识点的掌握只是停留在博客上面的同学。这种面试会充分考察你对某个知识点或者技能的掌握深度以及你处理实际问题的能力。说实话应对这种面试,最好的办法就是给出你的答案,假如实在没有完整的思路,起码要做到多和面试官沟通,把能想到的东西尽可能多的讲出来,有时候面试官也不会步步紧逼,只需听到一个大概的思路就够了。

其实前面说的三种面试场景都属于你认真准备就能过的,后面的两种就属于逆风局了。

3.2.4 呵呵型

面试官会问你少量问题,这些问题可能比较大众也可能比较偏,而后面试官的态度可能会比较好,你就放松了警惕,说的比较简单,三言两语,甚至对于自己理解的比较少的就直接说了不熟,面试官也不会往深了问,只会发出一定的「嗯嗯」声。反正就我经验来看,这种面试面试官对于应聘人员的要求可能比较高,因而在面试前或者者上半场面试官就基本给了你一个6分的分数,本身就对你不是很感兴趣了,在后面的面试中也只是来进一步印证他对你的评判或者者例行公事走完该走的环节,最后把你pass掉。说实话这是一个最为被动的面试场景,面试官本身就对你有少量偏见了,可能由于你的背景一般,可能有某个他认为必需掌握的知识点你不知道,也可能他想招某个专长的但你不是,而后你也没办法把他问的少量普通问题说出花儿来,因而多半结果会呵呵了。我认真想了下,这种面试本身胜算的确小,那想要突破困境,你要变得更主动少量,talk more,把你真正的闪光点show出来,挽回他,当然,很难。

3.2.5 diss型

顾名思义,你在答复了几个不知道不清楚或者不熟习之后,面试官开启了疯狂diss模式,具体表现在说你表达有问题,或者者否定你前半生。这种的吧其实一般不会是什么压力面,就是面试官不爽,可能觉得你白费他时间了或者者他生活不和谐心情不好?那这种时候面试结果多半已经出来了,求职者能做的就是尽量保持你自己的风度和态度,完成这场面试,而后过后从自己身上找问题。

综上,其实面试的状况有很多,但我觉得一个最基本的要素是你要保持一个好的形象给面试官,包括衣着、谈吐、不要有小动作。就像我曾经面试过一个人,有一个让我哭笑不得的小动作,那就是「竖中指扶眼镜」,一场面试二十分钟他可能对我竖了二十次中指,这个我不知道别的面试官会怎样想,反正在我这儿是没门儿,这辈子都没有。。唉,不知道那位哥们现在过得如何。。

另一方面来说,面试肯定是一个双向选择的过程,彼此都在选择今后的同事,面试官在面试我们,同时我们也在考察面试官、团队氛围、公司环境。说实话,我们能从一场面试中看到很多。由于我发现优秀或者者成熟的公司,面试的流程是很规范的,包括从HR通知你面试开始,到整个面试流程,看的出来面试官是认真准备的,并且充分尊重求职者的。像那些面试全程玩儿手机、抠手指头或者者让你等半天而后面二十分钟的,进去多半也是个坑。而假如你感觉没怎样问问题就轻轻松松发了offer的,那你又要对这个团队的技术水平保持肯定怀疑了。

3.3 面试后

3.3.1 面试结果

通常,就我的经验来看,一面二面三面到HR面基本都是当天搞定的,假如HR面以前的面试官说「好,我没有问题了,你先回去吧,等通知」,「我们boss不在,那今天就先到这儿吧」的百分之九十是凉凉了,一般也鲜有公司会真的通知你面试没过的,冷解决的居多。

其实面试原本就是一个非常具备不确定性的事情,由于你永远都不知道面试官在想什么,比方有可能一场面试下来你自我感觉非常棒,但是就是没有下文,那没准儿他们HC已经发完了,但是又通知了你面试,那这种情况你再优秀似乎也没什么机会;还有的时候你认真准备了面试,但发现最后面试的过程根本不是你想象的那样,面试官可能没几个问题就把你否定了,你认真准备的那些东西根本没有用武之地,他可能认为你就是个辣鸡,那种失落感非常难受;当然也会有其实你面试的感觉并不怎样样,有好些问题答复的并不好,但还是顺利拿到了offer,这个时候可能你运气好部门急招,也可能你身上的某个优点(比方年轻、比方踏实、比方背景好)被面试官抓住了。

总之面试就是要不停地面对失败,没关系,收拾心情,重新出发吧。

3.3.2 谈谈薪资

当然,假如顺利到了HR面,那就要谈薪资了可能,这块儿说实话我经验不多,尤其当我准备跳槽的时候,由于我素来没有参与过社招,不太清楚现在精确的市场行情,而且对自己的背景有些不自信,对自己值多少钱这个事情心里没有谱。但其实经过后面不断地面试,我的期望薪资一直在不断往高提,提到提不动为止。

但其实现在想想,工作年限越短,大家的薪资差距越小,因而我们可以通过两个途径去理解市场行情,一就是我们可以去找学弟学妹理解一下目标公司目前校招的一个行情,据我所知,在我毕业这几年校招的薪资也是水涨船高的,千万别还是停留在一个自己当时毕业时候的认知;第二呢就是有比较熟的朋友,在你的目标公司或者刚刚跳去了你的目标公司,问问他们的一个薪资情况或者者婉转点问问他们你该要多少。还有就是由于你是跳槽,和那些毕业之后在你目标公司一路走来的同学相比,一般你要的薪资和职级至少不能比他们低,由于普涨和职级涨薪的涨幅始终是比较低的,而大幅涨薪始终是跳槽的重要意义之一。

对于定薪资,其实招聘方仅仅根据几个小时对你的面试是很难做出一个非常精确的评估的,那么在给你提供薪酬的时候,其实多半会首先参考你已经到手的offer的情况,而后考虑你上份工资,再而后结合他们以往的招聘经验以及你的面试体现来给你定价。尤其是你已经到手的offer,这个是摆在招聘方面前最直接的一道关卡,他们想要在众多offer中脱颖而出,那他们必需去匹配这个报价,除非他们有你已有offer提供不了的优势所在。

因而我的建议是,千万别被贫穷限制了想象力,在正当的范围内尽量往高了要,给HR一个压价的空间,一般优秀的公司很少由于你要的太高而直接否决你的,但凡能走完整个面试流程的,说明面试官对你是非常认可的,希望你加入的,至少会给你一个他们能提供的薪资,再让你做决定。当然不靠谱小公司就不肯定了,他们或者许就想招一个10k的,高于这个直接pass也不是没可能,或者者也有HR同学由于莫须有的罪名把你卡掉的,摊手,我们本文针对的目标公司绝对不是这样的公司。

3.3.3 谈谈offer的选择

这个的确是很纠结也很重要的,当几个offer摆在你面前并且都有吸引力的时候,你35岁、45岁甚至55岁什么样可能还真是你今天的选择决定的。

引用扔物线大大的几句话吧:「先想好你想要什么,而后从里面选出符合要求的」,「一般不会存在这个最好的选择,都是分人了,而且每个人也分时候」。

我没办法给出建议,大家细细品味吧。

四. 结束语

其实整个求职的过程是一个不断认清自己的过程,所以心态是最重要的,我们要把面试当成一个学习和成长的过程,大部分人能得到的结果是和我们过去的努力程度直接挂钩的,所以永远不要抱怨什么,我们今天的现状往消极了说是在为过去的选择买单,往积极了说还要感谢那个曾经努力过的骚年。

说了这么多,其实所谓面试的技巧只是求职中的「术」,而我们技术人,归根结底还是要努力提高自己的姿势水平,这才是我们整个职业生涯发展中的「道」。

这段时间我几乎把一律精力放在了求职上,其实面试多了也挺累的,甚至会觉得空虚。回过头来想想生活呀不应该只有眼前的工作,更不该只有面试和跳槽。我们通过自己的努力,得到想要的生活,实现个人价值,才是我们应该去坚持和追逐的东西。

最后,假如大家有什么问题或者者观点可以留言探讨,祝大家都能拿到满意的offer吧。

资料文佳图.png

想学习更多Android知识,或者者获取相关资料请加 入Android技术开发交流2群:862625886。 有面试资源系统整理分享,Java语言进阶和Kotlin语言与Android相关技术内核,APP开发框架知识, 360°Android App全方位性能优化。Android前沿技术,高级UI、Gradle、RxJava、小程序、Hybrid、 移动架构师专题项目实战环节、React Native、等技术教程!架构师课程、NDK板块开发、 Flutter等全方面的 Android高级实践技术讲解。还有在线答疑

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 面试完 BAT等数十家公司,我想谈谈关于 Android 面试那些事

发表回复