面经 | 三个多月、40余场面试浓缩为6000字
点击左上方蓝字关注我们
前言
阿秀在三个多月的时间里,40 余场面试,都浓缩在这6000个字里了。
首先想要跟学弟学妹们说明的一点是面试可以说是求职应聘中最重要的环节了,因为是面试官直接与求职者面对面的交流,它不像笔试时,你面对的是冰冷的电脑。
面试,是你与面试官面对面得进行语言上的交流。
在面试过程中,你的计算机基本功、你的语言表达能力、你的逻辑思维能力都可以通过这种面对面的对话形式展现出来。
如果是中小型公司,面试两次基本就可以了;如果是大公司,一般至少需要面试三到四次甚至五到六次才能确定是否录用你。
阿秀面试经历很丰富,基本国内大中厂面了个遍。以我的经历加上同周围朋友们的交流来看,面试基本上是10% 手写代码 + 20% 基础问题+ 40% 深挖项目+ 20%开放问题 + 10% 聊人生。
其中面试手写代码是必要的,视频面试中的手写代码主要有两种形式:
1、一般会使用腾讯会议或者Zoom软件等共享你的电脑,然后使用本地IDE来写代码,比如让你在本地IDE写一个快速排序或者归并排序等。
2、使用一些在线网站的OJ系统,比如牛客网的OJ系统。这种类似于平常在 LeetCode 刷题的形式,会给你一个函数,直接在函数体中完成程序即可。
不过有时候也会使用牛客的 OJ 系统手撕的,需要你自己定义头文件、主函数之类的。这个具体要看不同的面试官风格了,大致就这两种形式。
这里额外多说一句,所以阿秀平时跟校招群的小伙伴说尽量多使用牛客或者 LeetCode 去刷题,而不要在本地 IDE 写好了再拷贝上去。
因为你并不清楚你的面试官会怎么考察你,所以平时在练习的时候就尽量使用这些 OJ 来刷题吧。
说回正题,同学们可以不用担心,面试过程中的代码题比笔试过程中的代码题要简单多了,难度基本都是easy或者medium的,hard的很少。
除此之外面试中的手写代码还有一个目的就是看你的代码风格和debug能力,毕竟个人代码风格不是一朝一夕能养成的,面试官看你的代码风格也是能够看出来你是不是经常写代码,在校期间有没有保持写码的习惯等。
经常写代码和不经常写代码的人代码风格完全不一样的。
Debug能力更不用说,考察的就是你能否快速定位到bug所在位置,进而解决它。
这里首先跟大家分享一下面试过程中需要注意的地方:
1、展示长处:同学们要注意的是面试主要是为了展示出自己的长处和优点,面试官对你的考察也是为了挖掘出你的潜力和你身上的亮点,除去一些比较无聊的面试官,大部分的面试官都不是为了难为你而问你一些很难的问题。
作为求职者的我们要抓住机会告诉面试官自己擅长的地方,引导面试官对你进行提问,整个沟通的过程也会更加流畅。
2、保持诚实:你要对你简历上的每一个标点符号负责,会就是会,不会就是不会,千万不要不懂装懂。
当面试官提到你没有接触过的领域的时候要及时跟面试官说自己没有了解过该方面的知识。如果你胡乱回答面试官的问题,瞎猫碰到死耗子回答对了还好,回答不对真的是很扣面试分的,直接说不会反而能够让面试官停止询问该方面的知识,也给了你更多的时间展示你会的和你了解的领域。
一定要保持诚实,不要不懂装懂,很多工作只有你真正的参与其中,才能够准确说出其中的难点。当面试官就某一个key点深挖时,如果因为你说自己会,那你的基本功不扎实这一点就会毫无保留的暴露出来,最终导致前面的努力功亏一篑。
3、保持互动:面试过程中的代码题以及智力题,除了考察你在这个人的代码能力和是不是足够机智,也考察你的分析问题能力。
某些场合下,面试官可能更看重你个人的思考过程,思考问题是否足够全面。所以当面试官告诉你代码题和智力题的时候,可以稍加思索,然后开口跟面试官说你的思路,说你打算如何做这道题,跟面试官保持互动。
即使不会这道题,也要跟面试官说一下这道题的考察点是什么,及时向面试官寻求帮助,然后再开始动手写这道题。
这么做的目的主要有两个:
一、显示自己的思考过程,让面试官看到你的思考方式,即使最后这道题没有成功做出来也是有一定的加分的,1分也是分,总比0分好,蚊子腿再小也是肉啊。
二、如果很干脆直接,没有任何迟疑的就把这道题解出来了,很容易让面试官觉得你以前做过这道题,可能是完全背答案写出来的,然后转手就给你一个更难的代码题或者情景题,那不是得不偿失嘛。
所以一定要与面试官保持互动,注意看着面试官的眼睛说话,保持眼神的交流互动。
4、多总结多回顾
面试过程中建议大家把手机录音打开,在本轮面试结束后复盘一下,听一听自己在面试过程中是如何回答面试官的问题的,看看自己哪些地方回答的不够好,应该如何去改进。
因为对于大部分校招选手来说,可能都是第一次参加面试,再加上面试过程中不免有些紧张感,在那种环境下你是很难描述清楚你想要回答的问题的。
通过复盘自己在面试过程中的表现,对自己进行查漏补缺,特别是对于一些比较内向的同学来说更应该如此。
下面就面试常见流程,为大家梳理一下互联网大厂四到五轮面试的主要询问点。
一面
一般来说,第一面都是基础技术面,就是考察面试者的计算机基础,也就是操作系统、计算机网络、数据库、数据结构与算法、编程语言(C++、Java、Golang、Python等)等,有时候也会问一下你的项目,不过一面深挖项目的不多,主要是考察基础,大厂普遍要求面试者具备扎实且广泛的计算机基本知识。
可以说一面是考察范围最广的一轮面试了,面试时间也比较长,互联网大厂一面基本都在50min-80分钟之间,如果你的面试时间小于30min,很有可能凉凉。
面试开始的时候都会让你简单介绍一下自己,为什么明明简历上都写了自己的信息,还需要自我介绍呢?我认为主要有以下2个原因:
1、面试官很忙,没看你的简历。
很多面试官本身就是公司的一些部门主管或者技术leader,他们本来就很忙,每天要处理很多的事情,可能他刚拿到你的简历没几分钟,HR就安排了这次面试。
在你进行自我介绍的时候,他也可以看看你的简历,熟悉一下你的技术栈和项目。
2、了解面试者的沟通能力,语言表达能力。
面试官通过听你的自我介绍也能看到的你总结概括能力、逻辑思维能力等。在职场中,除了基本的技能外就是跟同事合作,一起去完成某项任务。
如果你在介绍自己的时候都介绍的一塌糊涂,以后能指望你跟身边的同事沟通效率高吗?
所以不要小看自我介绍环节,可以私下里多练习几遍,跟室友或者朋友互相介绍一下自己。
练习个十来遍就差不多了,下次在介绍的时候就会显得游刃有余、从容不迫了。
一面最后的时候,面试官一般会问:你有什么要问我的吗?这个时候不要乱问,你可以问以下几个问题:
1、你们部门在做些什么?主要业务是什么?如果自己很荣幸的能够进入贵部门会负责些什么?因为面试者就是这个部门的,通过他的回答,你也能够了解到这个部门正在做的产品和使用的技术。
2、您认为我在哪些方面还存在着不足?这是一个很巧妙的问题,因为它可以从侧面反映出你这次面试的结果。如果面试官带有指导性的回答出了你的不足,你需要补充的知识点,这样就代表你这次面试差不多了,应该是能好好准备二面了;如果面试官直言不讳的说你很差或者基础太弱这样的话,你也就知道凉凉了。
3、请问面试官对自己职业规划的建议?面试官大概率是技术大佬或者工作过几年的前辈了,在社会上摸爬滚打了几年,知道的肯定比在校生多。这个问题既表达了对面试官身份的认可,也表现出求职者对当前这份工作得在意程度,并且还能得到技术大佬的分享,怎么看都不是亏本的买卖。
还有一些比较好的反问问题分享给大家,大家可以在反问环节问面试官:
贵公司对我面试的这个岗位的定位是什么?我需要具备哪些技能? 如果我有幸应聘成功,公司对我会有哪些期望呢, 这个岗位所在的的团队是什么氛围?我这个比较外向(千万要说自己外向,不要说自己内向,原因不必多说了吧)
切记不要直接问:我这次的面试能不能过?
这种直击面试官灵魂的问题,最好不要问,就好像你问阿秀“阿秀你帅还是刘德华帅?”,这种灵魂问题,就别问了。
这种问题一般也是招聘提问时的禁忌,稍微正规点的公司都是不能直接由面试官透露给求职者的。
你可以在面试结束后问一下自己的内推人,让他帮忙查一下这次面试的结果。
这里再插一句,所以大家不要随便在网上找个内推码就填上去了,这样你面试结果问都问不到,最好找个靠谱的内推人,也尽量加上内推人的微信或者QQ。
二面
如果你顺利进入二面,那么恭喜你离成功更进一步了。
互联网一般二面面试官都是技术leader级别的了。二面就开始考察你的实习/项目了,而一般中小厂可能将二面和HR面放在一起了。
二面没有一面那么注重基础,会开始问你一些这个项目的细节部分。
这个时候你就要跟面试官讲你精心准备的实习或者项目,一般都会是让你说一下你这个项目是用来做什么的?为什么会有这个项目?如何实现某某细节的,用的是什么技术和框架?
一般面试官问你问题的都是他们擅长或者喜欢的技术点,所以你如果仔细讲述清楚并且能加入一些自己的思考会加很多面试分,比如当前这个项目还存在着那些不足,可以用什么样的技术去改进它之类的。
可以在二面中适当增加自己的项目困难程度,从侧面反映出自己是具有真才实学和做事能力的,但是不要过分夸大,适当包装就好,不要太言过于实。
同样的,二面最后也是会问你有没有什么想问的,这个时候可以问一些一面反问环节中没有问过的问题,或者问一下贵公司面试共有几轮都可以的。
三面
三面一般都是综合面考察,并不是很在乎你的基础了,而是会考察你这个人的思维能力、分析能力等,将事物看清楚、看明白、提炼总结的能力,换句话说就是看你这个人是不是脑子够灵活,是不是够聪明。
一般三面都会考察一些情景题,比如让你设计一个系统,需要哪些功能或者给你一个智力题,考考你的反应能力。
像一些比较知名的智力题:腾讯赛马问题、高楼扔鸡蛋、三人三鬼问题以及三门问题都是很好的智力题。这种智力题如果不提前准备的话,很有可能当场懵逼。
其实它并不是难,可能就是比较绕,在那种面试的紧张环境下,很难当场想出来一个比较好的解决办法。
有道是:工欲善其事,必先利其器。
实不相瞒阿秀在某一线大厂的三面中就被问到过腾讯赛马问题的变种,还好以前有所准备成功答出来了。
在三面过程中,还有一些问题是看你的抗压能力以及处理意外情况的能力,因为工作中是有很多意外情况出现的,比如:
1、分享一件你觉得压力比较大的事?你的压力从何来?你是如何克服他的?
2、你长这么大以来遭受过的最大挫折是什么?你是如何克服它的?
3、二十多年来,你取得的最大成就是什么?
4、你通过多年努力获得的一项技能是什么?你是如何学习从而获得这项技能的,做了哪些工作去改善、精进这项技能?
从面试官的角度来看,他问你经历过的最大困难是什么是真的对你所经历的困难感兴趣吗?
不是的,他问你这个问题的重点是在考察你面对困难时所做的思考和应对,是想看到你的努力以及解决问题的能力。
困难人人都会遇到,克服困难固然值得鼓励,可更重要的是从这个困难中学到了什么。
即使没能够克服困难也不意味着一无所获,面试官希望看到的是你如何从过往的苦难和失败中总结出经验,并在以后的工作中能够用上这些经验,更好的指导日后的工作。
面试官问这些问题,是希望所招聘的人能够脚踏实地的做事,充满激情的从事相关工作,所以同学们可以提前想好说辞,提前练习几遍,这样才能做到从容不破。
交叉面
如果求职者被HR告知要进行一轮交叉面或者加面一轮,基本是出自以下两个原因:
1、前面三轮还不足以确定你的程度,属于那种对你基本满意但是还差点意思,需要加面一轮才能确定你的评级,才能最终给你定薪资。
这种情况就属于比较危险的,如果交叉面没答好,很有可能前功尽弃。
2、第二种情况就是求职者过于优秀,惊动高层的那种优秀,哈哈。
索性加面一场,如果你答得不错的话,给你更高的面试评级,这也意味着SP、甚至是SSP。
答得不好也不会取消offer和降低原有的评级,这一点不需要担心。
所以建议求职者找给你安排面试事宜的HR问清楚,到底是第一种情况还是第二种情况。
需要注意的是,交叉面的一般都是部门大佬级别的人物亲自来面,千万要小心谨慎一点。
HR面
很多人觉得前面几轮的技术面过了就基本稳了,其实HR面也很重要。
很多公司的HR权力是很大的,拥有绝对的一票否决权,即使部门主管想要你,HR不同意那也没有办法,比如X里的HR权利就很大,HR面不过关,部门leader来了也没用。
HR面主要是看你对公司文化的理解和价值观的认同,阿秀建议在HR面前,先去了解一下公司的文化和公司的优势之处,这样在被问到为什么选择本公司的时候能够把自己对公司的了解和优势说出来,体现自己的诚意。
阿秀在面试某大厂的时候就把这个公司每周末都会举行类似英语角的活动说了出来,HR给予了充分肯定,并且透露给阿秀在公司内部有很多英语学习的机会,欢迎阿秀前去体验。
HR面的时候也会问一些其余的问题,比如你的最大优点和缺点,这也是HR面试高频问题,大家最好提前准备好这个问题的答案,真的很高频。
阿秀在这里分享一下自己的回答:
我的优点就是喜欢看书,看各种各样的书,涉猎广泛,比如《乡土中国》、《中国简史》、《活着》、《明朝那些事儿》,还有一些技术书比如《深入理解计算机系统》;
我的缺点就是有点强迫症,不喜欢别人乱动我的东西。
END
整理不易,点赞三连↓