一、见过很多面试者,一般面临三个问题
- 平时工作中,觉得项目太简单,没什么可说的;
- 临近面试,不知道如何准备,如何写简历以及梳理自己的知识体系;
- 面试过程中,不知道如何应答,有一种考试的感觉而不是面试的感觉;
针对第1项:不知道项目怎么做才能算是一个好项目的,除了极少数项目确实很小,大部分情况候选人都多少是个互联网类项目,并不是项目本身无可挖掘的点,而是候选人并无这个意思,得出“这个项目挺简单的,就是实现XX功能”;其实,即使二级厨师资格考试题目,也不过是“三盘一模一样的韭黄”,考验的不是菜品本身,而是对刀工火候的掌握度;小项目,在不同的“厨师手中”,也有不一样的味道。
针对第2项:见到过不少候选人,临近面试,疯狂背题,到处搜各种“面试宝典”,找各种所谓的“面试题”;各种网络大V(有些人可能压根没进过大厂),也很合胃口地写了各种文章,告诉你一面、二面.....都面啥题目,其实都属于扯淡。每个面试官都有自己的风格,根据项目出题目,都很临时起意;面试并不是考试,不是题海战术来提高自己的得分,而是要让面试官觉得你是个技术不错的人。那些把面试做成考试的公司不去也罢。
针对第3项:总听到候选人说某道题答错了或者答的不好怎么办,真的没有关系,这不是考试,每一个面试官的问题,都是你展现自己的好机会,能多说不少说,可以把整棵知识树都合盘托出,并带上应用场景,遇到的问题,让面试官觉得这一块已经不需要再考量你了。
二、大厂的面试流程是如何的,各个环节都是做什么的呢
- 面试流程一般是:简历筛选 -> 初面 -> 多轮技术面 -> 主管面 -> HR面,先不说各个环节怎么应对,我们得先了解各个环节面试官是什么心理
简历筛选:这个环节很简单,现在招人真的很难,但凡是觉得可以一试的简历,面试官都不太会放过,那什么样的简历是值得一试呢?学历+经历+项目,学历并不是决定因素,大专学历在大厂也是有的;名企背书的候选人自然是自带光环的,不过大部分候选人都来自二三线甚至更小公司,小公司并不可怕,但是工作年限,特别是起码要有一家两年以上的工作经历,面试官才会觉得你有可能有较好的沉淀;项目是最关键的因素,你的项目和目标岗位的关联性越大越好,这样面试官才能与你产生共鸣,你曾经所遇到的困难能被面试官理解并且认可“是个挑战”,你的解决方案能够被认为能力的体现,大厂有各种岗位,所以投简历的时候请看清这个岗位所从事的东西,比如交易的面交易、订单的面订单、视频的面视频,事半功倍;
简历中的项目如何写,记住三要素:业务、技术、角色。业务,写一个能被人理解的项目名称和项目描述,不要写内部的代号如“诺曼底项目”之类的,即使想要把自己狂拽酷炫的项目代号写出来,也要写“诺曼底项目(外卖下单系统)”;技术,首先要表明技术栈,rpc框架用的啥,数据库用的啥,缓存用的啥之类的,不用写你的开发环境如Intellij啊之类,太low,属于无效信息;角色,要写清楚你在项目中的角色,这个可以适当的描述,如你负责过跨团队的需求,你可以写某项XXX的“owner”,表明你,负责架构设计、团队沟通、流程进度控制等,关键词是owner,表明你能独当一面,如果你负责了大型的项目,你完全可以写负责人,你的工作范围也描述清楚,当然,此类人群我想也用不到我这篇文章了,肯定有好几把刷子。
初面:这一面是个初筛,是个基础面,结论会是“完全没戏”或者“可以一试”,当然“可以一试”里也会有被标为非常优秀的。这一面面试官会挑选跟你较为贴合的题目来考你,请你不要吝啬你的学识,尽可能的多答,答的完整,比如问个线程池,你就把整个初始化过程、线程池的存在意义、有哪些品类的线程池(如还有forkjoinpool)、使用过程中遇到的坑、或者一些妙用如快慢线程池等,一并托出,让面试官知道你的实力和底线,而不是问什么答什么,机械地答题,让面试官觉得有的聊。这一面有可能会问道项目,如果问到,请将项目部分也合盘托出,不要为了避免面试官追问而有所顾忌,遮遮掩掩反而会取到不好的效果,我们是在找适合我们并且能胜任的工作不是么,并不是靠投机取巧去骗个职位。项目怎么回答请看下文。
技术面:恭喜你通过了初面,你的技术基础得到了认可,进入技术面会有多轮轰炸,面试官会让团队中“德高望重”的人来考察你,重点在于项目,当然顺便会穿插你对语言基础、框架、项目涉及组件的理解,已来再次确定你的基础是否如一面那样牢靠,二次校验下。
当然,重点还是项目,还记得写简历时的三要素(业务、技术、角色)么,技术面会让你介绍项目(面试官也许看了也许没仔细看你的简历,需要你重新描述)。
你需要快速地描述清楚业务让别人理解,,这时也很考验你的表达能力,讲清楚你做的项目“是什么”,比如是一个广告系统,做投放的,或者是一个订单系统,做购物的,总之要让面试官快速对你的项目产生概念,这时候会有互动了,面试官会对你的项目提些业务问题,比如qps、日活等业务因素;
技术,快速描述清楚你项目中用到的框架,这时候面试官会针对你使用的框架提一些技术性的问题了,你要接的住哦,毕竟你夸下海口,在你的项目中深度使用了该框架。如果实在接不住,千万不要撒谎,面试官问你问题的时候他对问题一定胸有成竹,谁也不会问一个自己不熟悉的领域,撒谎会马上被看出来,你首先要承认自己用到什么程度,只是使用还是深度了解框架或者看过源码,对面试官的问题的了解程度,是否遇到过,不了解时,你要说明自己不了解,在此前提下你可以说如果我遇到此类问题,有什么思路(毕竟大道相通,解决问题的思路无非那么几种),面试官可以确认你的思路是否靠谱,实际遇到此类问题你有没有解决这个问题的能力
角色,记住star法则,即Situation Task Action Result。在什么情况下,遇到了什么问题(Situation),需要完成什么任务,达到什么目的(Task),你“主动”做了什么(Action),达到了什么样的成果(Result)。这里面有一点很关键,就是主动承担和推动的,不仅体现你的能力,也体现你的主动性。至于你扮演的角色,实事求是的基础上适当包装,项目owner、负责人、leader等,找个又能描述你角色、且能让人产生概念“产生共鸣”、且好听高大上的角色名(不一定是你公司的,业界通用的也可以)。
主管面:恭喜你,胜利就在眼前,你的技术能力已经得到肯定,这时候一般是高级别的部门主管来最终考核你。