ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

大厂Android面试官亲述:大厂面试背后的真相,如何拿到高薪Offer?

2021-05-18 23:30:16  阅读:172  来源: 互联网

标签:面试官 经验 亲述 潜力 问题 面试 大厂 团队


作者:徐宜生

这次来跟大家谈一谈面试。

作为一个面试者,我找过工作,也被别人面试过,作为一个面试官,我也面试过很多人,相信这两年开始,很多人都有这样的抱怨,移动端开发者越来越少,一个职位经常要招半年都找不到一个合适的人选,究其原因,到底是什么呢?

这篇文章,就和大家一起,聊一聊面试,我们先站在面试官的角度上来看看,我们都是怎么面试的。

面试官:双向选择

首先,面试是一个双向的过程,你在面试别人的时候,实际上你也在被别人面试,怎么说呢,一般来说,团队在招人的时候,都会让一些比较资深的成员来作为面试官,面试者在跟面试官交流的时候,实际上就能大概了解到互相的一个技术水平、沟通能力等等,对于面试者来说,面试官的水平,几乎代表着团队的水平,如果在面试者面前丢了人,大概率团队也是比较丢人的,所以,双向选择面前,人人平等。

所以,面试官的自我修养就很重要,这是一个团队的脸面,那么我们团队到底需要招什么样的人呢?

首先,面试官要牢记一个观点,你是招人,不是招神。

是人,就会有缺点,换句话说,真正完美的开发者,也不会来你的团队了。

所以,团队招人之前,需要对团队进行一次审视,我们团队要招的人,究竟是怎样一个人,能力需要多少,是能干活就行,还是需要独当一面,是非常有潜力,还是已经很资深,是对业务开发无所不知,还是对技术有深度钻研,在了解了这些要素之后,再去面试,这个时候,你再看面试者,可能就不是满眼都是缺点了,我们需要的不是完美的求职者,我们需要的是最合适的求职者。

其次,面试官,应该提高提问的水平,因为很有可能你的提问让求职者反向选择了。

第一要素,避免问「八股文」,茴香豆的茴有几种写法。这样的问题没有意义,每个人的知识点都不是完整的,很可能碰到盲区或者遗忘的地方,这些问题应该改成更具有深度的问题,例如,不应该问「单例模式有几种写法」,而应该问:

  • 你一般如何来实现单例?
  • 这样的实现是否考虑了线程安全?
  • 如果一定要用懒汉式单例,那么如何保证线程安全?
  • 我有这样一个使用场景,你要如何设计一个单例模式?

尽量问一些渐进式的问题,诱导面试者一步步思考,很多时候,面试官并不是要一个答案,而是想听听面试者思考的过程。

这里可以看看之前网上流传的一道很火的华为面试题:一头牛重800公斤一座桥承重700公斤问牛怎么过桥?

一看这个问题就很懵逼,什么玩意儿?

冷静的想一想,结果不重要,面试官想要的是你思考的过程,你会怎么回答?

  • 首先,了解下牛过桥的需求具体是什么,过桥是要活牛还是死牛?是要吃牛肉,还是单纯没事闲着蛋疼?
  • 如果可以是死牛或者是要吃牛肉,那就好办了,分解了运过去即可,或者说,能否在桥对面寻找替代牛?
  • 如果是要活牛,那么现在的问题就是800kg和700kg的问题,要么压缩牛,要么加强桥。
  • 所以针对这两个方面,我们可以考虑如何减轻牛的重量,比如来个热气球?让牛减个肥?发明量子传送通道?
  • 而针对桥这个方面,我们可以考虑能否临时对桥进行加固,或者造个新桥?
  • 剩下的内容无非是会议纪要,方案评审,立项,开发,上线,总结。

淦!这不就是我们平时和产品经理的对话?看来这个面试官平时被产品经理折腾的挺惨。

注意面试官言外之意

面试官的问题,通常都是带有很强的目的性的,听懂问题的言外之意,精准的戳中要害,比长篇大论讲一堆不着边际的答案要好的多。

这一点其实很考验面试者的情商,要知道,很多言外之意,它之所以被称之为言外之意,那就是它真的不太能被人听明白,不识庐山真面目,只缘身在此山中,很多时候,面试官觉得他已经把这个问题的言外之意点的很明白了,但是面试者依然一脸茫然不知道是什么意思,这里面可能有面试官的问题,也可能有面试者的问题,总之,这是一个双向选择的过程。

例如下面这个问题——现在有一个功能模块,是之前的同事遗留的陈年老代码,现在有个新的需求要在这个基础上进行开发,讲讲你的开发思路。

这个问题看上去很懵逼,不知道要干啥,但仔细想想,我们能提取出几个关键词:

  • 陈年老代码:不用问,这就是坑,危若累卵的坑。
  • 新需求:可能明天就要上线,很急,在线等。

所以,面试官是不是想看看面试者,怎么处理这种场景的问题呢?

  • 对于这种问题,我一般上来就重构,垃圾老代码,都是一坨屎,老夫写代码,就是一把梭,垃圾统统都要干掉。

面试官碰到这样的回答会怎么想呢?卧 槽,这是要P0事故的节奏啊,老代码虽然老,但是线上跑了N年没出锅啊,为了一个新的需求,直接全部重构,这风险,完全不可控,而且面试者解决问题的思路不清晰,没有轻重缓急,即使技术很牛逼,作为面试官,也要捏一把汗。

  • 首先,我会先把这部分的代码逻辑理清楚。
  • 然后看新需求是否能够在老代码的基础上完成。
  • 如果能完成,那么优先完成需求,然后向团队提出建议,对这块代码进行适当的重构。
  • 如果不能完成,那么需要跟团队Leader讲清楚原因,争取更多的资源来完成这个需求。

正合我意。

面试者碰到没读懂的言外之意,也不要怪面试官,毕竟中文博大精深,面试官很可能是站在自己的立场上来看待问题,所以有些隐晦也是正常的,一个有经验的求职者,这个时候最好的办法就是提问,诱导面试官将问题具体化,让言外之意,不经意间浮出水面。

越是高级别的面试,越是要深思熟虑后再回答,因为面试官越是高级,言外之意,可能也更加意味深长。

确实有运气成分

面试真的也是一个看运气的过程,碰到的面试官话不投机半句多,这是运气,职位空缺半年,急招,所以减低了一些要求,这也是运气,面试的内容正好做过、看过,这也是运气,有时候你面试不过,也许不是你自己的问题,很可能是运气的问题,还是那句话,双向选择。

面试者的实力组成

面试者虽然经常被运气所玩弄,但这是不可避免的事情,我们能做的,就是当运气眷顾你时,完美的把握住这次运气。

打铁还需自身硬,当你足够强大时,全世界都会给你让路(让你去喝毒鸡汤)。

对程序员来说,实力的三大组成部分——经验、技巧和潜力。

经验

我有十年的Android开发经验,真的吗?想到一个段子,一个刚毕业2年的程序员,简历上写我有4年开发经验,为啥?因为加班。

这4年,每天你都有提高吗?每天都了解了你不知道的知识点吗?如果不是,那么这加班,又有何用,只是为了生存而加班,经验?不存在的。

你不是有十年经验,而是把一年经验,用了十年而已。

经验并不等价于工作年限,它是你实力的一个投影,多思考,多总结,才能让经验增加,重复的体力劳动,增加的只是你的年限,而不是经验。

技巧

技巧来源于有效的经验,它是你经验的精华,一个面试者的技巧越丰富,越熟练,那么会反过来让他的经验变得更加丰富。

我认为技巧一般分为两个部分——内功和外功。

内功主要是对技巧深度的研究程度,表现在你对一个疑难问题的排查、一个复杂需求的实现,而外功,表现在你技巧的广度,对解决方案提出最优技术选型,架构的设计能力等方面。

潜力

所谓潜力不错,可能是对你能力不足的一个美化修辞,这个一定要注意区分。

真正的潜力,主要体现在5年以内的求职者,再之后的潜力,就转化为经验和技巧了,工作的前几年,经验有限,这时候一个人的学习能力和思维能力,就是他潜力的体现。公司实际上是非常愿意招有潜力的求职者的,一方面可以以很便宜的价格,招到不错的打工人,另一方面,团队可以小小的花力气将他的潜力激发出来,这样相当于获取了一个经验技巧不错的求职者。

那么如何让自己显得有潜力呢?

腹有诗书气自华,潜力主要来源于你的思考力和思维力,这些能力会潜移默化的让你变得有潜力,所以,平时多思考,多阅读,才能不断提高自己的潜力。

在面试过程中,潜力具体表现在下面几点:

  1. 学习能力:要体现出你的学习能力,这件事情虽然不会,但是可以快速学习,借助类似的知识,触类旁通,快速上手。
  2. 逻辑思维能力:做事情安排合理,分析问题有迹可循,解决问题能抓住重点。

为啥要面试

前面说了,面试是一个双向选择的过程,除了面试者本身的这些硬条件外,还有些方面也是面试者需要注意的,这里简单的列举下。

  • 尽可能选择现场面试、视频面试,避免电话面试,面对面的沟通往往是最高效的,不要因为沟通问题导致面试的失败。
  • 注意细节,回答问题的时候,尽可能完善一些,比如边界条件,方案限制,树上的鸟有没有聋 子。
  • 面试者是一个被观察者,你的一举一动,都可能给你带来正面或者负面的影响,所以,如果你很重视这次面试的话,尽量稳重一点。

等等,讲了这么多,回到最初的问题,我们为啥要面试?

废话,当然是为了跳槽,那么为啥要跳槽,干的好好的,为啥要跳呢?

跳槽,无非是两点:

  1. 钱不到位。
  2. 心不到位。

钱不到位很好理解,就像前面那个很有潜力的求职者,进公司培养一段时间后,潜力变成了经验和技巧,但是钱没跟上能力的涨幅,那么这个不到位就很好理解了,所以通过跳槽来寻求这种平衡,就自然而然了。

而心不到位,则是另一种情况,简单的说,就是在公司受委屈了,升职没通过,成果被人抢了,被背黑锅了,被同事、产品、测试、领导怼了…

说了这么多,在你鼓起勇气跟老板谈离职前,一定要先想清楚现在的状况,避免一时冲动,假戏真做了。

工资工作比(时薪)

首先,要认清自己,认清环境。

在当前的社会中,特别是去年整个市场经济都不好,整体大环境处于比较差的局势,这时候冲动离职的结果,很可能就是长时间的空窗期,即使你特别特别想离职,人在屋檐下,有时候不得不低头,学一学司马懿的隐忍精神,都是成年人,当一当缩头乌龟又不会死(当然,这是针对老年人说的,年轻人就是要一把梭,那我也不反对)。

认清自己,是了解你目前的状态:

精神状态——是否能够适应加班,以及何种程度的加班

家庭状态——是否能够工作生活平衡,还是压根不需要平衡,以及通勤时间等等这些因素。

一个不加班月薪2w的工作,和一个加班疯狂月薪4w的工作,我相信每个人的选择都不一样,这就是工资工作比,把这些条件列出来,可以帮你更好的选择是跳槽,还是改变。

跳,必须跳

那么什么时候,可以说是必须跳槽的时候呢?

这个其实没有定论,我总结了一些方面,可能不全,也不一定对,博君一阅耳:

发展受限:特别是在公司职位不高的时候,这是你急速成长的时候,如果因为一些原因导致你在这家公司无法正常成长,那么这个时候,就要考虑跳槽去寻求成长了,不然仅凭一己之力,也是无法翻身了。

工资严重倒挂:工资倒挂其实很正常,因为通胀的原因,每年的新员工工资可能都比上次要高,如果你涨幅跟不上,就会出现倒挂,一旦这样恶性循环下去,钱和心,就都不到位了。

公司的发展受限:比如公司濒临破产,行业竞争力下降,导致业务下滑,这时候,如果你不是公司核心骨干,誓与公司共存亡,那么也可以跳了,毕竟不是核心的你,也无法左右公司的前景。

还有一种情况,比较特殊,那就是兴趣和激情。

如果你对每天的工作完全没有了任何激情,没有了任何兴趣,那也应该考虑是否要跳槽了,换个行业,或者是换个自己真的感兴趣的工作,是需要思考的问题,快乐学习、快乐工作,没有了波澜的生活,你和咸鱼有什么区别,一个理想的工作,就是每天做着自己真正喜欢的事,而且工资还不低。

国企事业单位这种铁饭碗除外,毕竟还要向生活低头。

面试技巧

正视面试官

当你有了足够的能力,面试就自然不慌不乱了,这就跟考试一样,平时学的都掌握了,能力真实有效,上了考场也能游刃有余,特别是面试,比考试更简单,因为面试官也同样在被你面试,而且,面试官的压力也不一定比你小,面试的时候,他也会有很多担心:

  • 这么久没招到人了,活都要没人干了。
  • 是不是我的要求太高了?
  • 这个人要是我过了,结果老板面了很不满意怎么办?
  • 这人到底行不行,别来了让我背锅。
  • 我的问题会不会被他鄙视啊,万一我记错了咋办。
  • 这人太厉害了,万一来了把我挤下去怎么办。

你看,面试官的压力也不比你小多少。

掌握主动权

在面试过程中,一般有三个地方你可以获得主动权,把握好这三个地方,能为你的面试增光添彩。

  • 自我介绍。
  • 提问中反客为主。
  • 最后的面试者提问。

注:这里的反客为主,千万不要没事就反问面试官!!!面试官内心:“那你给我讲怎么做。”

在自我介绍中,一定要自信,不能上来就给面试官一种萎靡的感觉,可以简要的概括下你的工作经历,特别突出的亮点(意思就是让面试官重点关注这里),切忌复读简历上的东西以及与面试无关的废话,自我介绍不用多,这个时间面试官很可能就是来浏览你的简历的,所以,突出亮点,暗示面试官,快问这个吧,这个我牛逼。

如果你有一些特别出彩的地方,能让面试官一下子记住你,那就更好了,因为大部分时候,面试官都不记得你的名字,只记得,那个「写了两本畅销书的」、「那个头条的加班狂」、「那个一身肌肉的程序员」,这些标签,可以让你快速在面试官脑海里留下印象,第一印象建立好了,主动权就慢慢的掌握在自己手里了。

在提问中,面试者不一定是完全的被动者,在碰到一些不能回答的问题时,可以尝试反客为主,当然不是说:「我不知道,要么你来给我讲讲?」这样的话,而是将面试官引导到你的熟悉的场景来,例如:「这个问题我不太清楚,想问下这个问题的场景是什么,这个场景我的解决方案是什么」,这样将面试官引导到自己熟悉的战场,是一种很好的沟通策略。

而最后的面试者提问,是面试中的最后一步,但这最后一步,通常只是一个过场。

所以,这里不要问太尖锐的问题,比如「工资」、「我今天的面试表现」这样的问题。你可以问一些例如「职位的考核标准」、「团队的发展规划」这样的问题,特别是能给出一些对公司项目的建议、工作流程的优化等等,让面试官愉快的结束面试的同时,也让面试官能有一些收获,这样面试官对你的评价,自然会更上一层。

补充一点,回答问题,尽可能给出超出期待的回答,例如「Glide是如何管理内存图片的」,面试官可能只是想问你是否知道LRU算法,但是如果你不仅回答了LRU,还给出了Glide管理内存的整个策略 (不要说太多,点到为止即可) ,这样就超出了面试官的预期,这是很好的加分。

谈薪水

HR可精了。

和HR谈薪水就是一场心理博弈战,打不过打不过。

一般来说,涨幅在你上家工资流水的30%左右,HR一般会使用的套路就是:

  • 画大饼:把未落实到合同的收益也算给你,或者是一些看不见的隐形福利。
  • 算总包:把除工资以外的一些福利收入也算到base中,让你觉得base高了很多。
  • 心理战:我们已经有其他候选人了,我们还有其他的面试者,你的面试情况一般,反正就是各种心理博弈。

咋破?合理的评估自己的面试表现,加上一些心理技巧,以及根据自己对这份工作和公司的取舍。

最后

到这里本文就已经差不多了,希望可以帮助大家在未来的面试中取得不错的成绩

在这里我再分享一份多位大佬亲自收录整理的Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料

这些都是我现在闲暇时还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效地帮助大家掌握知识、理解原理,帮助大家在未来面试取到一份不错的答卷。

当然,你也可以拿去查漏补缺,提升自身的竞争力。

如果你有需要的话, 点击这里快速免费获取

标签:面试官,经验,亲述,潜力,问题,面试,大厂,团队
来源: https://blog.csdn.net/River_ly/article/details/117003246

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有