这已经是我不知道第几次,在近几年的面试中吃亏了,我一直都觉得,我尚且算是一个开放的前端开发学习者,我具备相对现代的学习方法,并且每天都在保持摄入新知。但我就是没有办法在面对所谓大厂的面试官时,将自己的优势表露得淋漓尽致。
我明明每天都在通过编码解决很多问题,我自认具备跨端协调的能力,并且在很多问题的预判上都比较准确。问题究竟出在什么层面呢?
现下流行的面试机制
对于一个非科班出身的开发者来说,我尤其不适合这样的考试,我没有系统的学习过数据结构,算法导论,因此在面对这类问题的时候,我首先要先理解题面的意思,多年来,我一直疏于这样的学习,每次失败的面试算法考试都会激励我做短暂的学习冲刺。可是,我在不精通这些的同时,仍然可以解决单纯从程序角度来说棘手的问题,说明我掌握在这个行业里生存的必要技能。
这类错位的面试每每令我错愕之后随之产生挫败感,让我很长时间内难以自处,进而会刺激我写出很多这样的话来,目前能想到的,有两类可能,第一种是如白爷所说,我根本就面试错了岗位,我尚且不算是Web一线研发,我擅长的部分,在大厂里很难定位,完全从事Web开发,到目前也刚刚满三年。而架构师这类岗位,我一直对其认识模糊,应该达成怎样的条件,才能妄自称为是架构师呢。
其次,就是庞大机构遴选人员的机制,本身就不适合我。
例如刚刚我经历的这个,面试官年轻的面庞在跟我进行例行公事的前20分钟对谈时,我还有不错的自信,当我们聊到具体的程序问题时,那熟悉的掘金题库感就又特么来了。
掘金题库,是滋生互联网开发者面试八股题的温床,面试者和考官都会去捞题目,就跟高考刷黄冈/衡水/海淀卷子是一个道理,如果我们花个小半个月,什么都不干,全神贯注地刷题,我相信会得到一个不错的大厂面试结果,因为考官也是到这里去选题。
但问题是:
这些题目,真的需要你在项目中,手动去实现么?例如说,你会没事就去写 #快速排序 么?你会经常去 #遍历二叉树 么?如果单纯作为前端开发者,你会经常去自己配置nginx么?
到了2021年,你仍然在以记忆力出众为主要卖点么?如果回答不出,某个html头部标签的具体属性的几种用法,是否就可以被标记为 #基础差 呢?如果每个人都用纯文本编辑器写代码,我认为当前的开发者阵营会大大缩减,助记并非是什么值得耻辱的事儿。
如果你不会其中的某些题目,那么你大约多久可以会呢?我的答案是,5-10分钟吧(或者说1-2天)。
你行你上
既然我认为这些面试都有弊病,那什么样的面试我才真的认可呢?
我构想过一种理想的简单的面试模式,也许早已经存在。
对解题者提前告知公司热衷的技术栈,用人公司内部应该持续更新不同岗位的热门技术题库,借助leecode,codewar等在线题目平台,推出预科题目,请想要面试对应职位的面试者做异步解题学习。这种方式广泛存在在教育发达国家的名校入学考试中,例如日本的大部分私立名校,都会预先发放录取准备提纲。
面试的第一阶段仅为线上考试,使用在线IDE,例如CodePen, CodeSandbox等,要求对方解题开放解题方式,但是需要考官监控你的解题思路,回答题目题量和时长按用人需求做合理增减。
根据第一阶段的回答问题结果,决定是否有进一步接触的可能,避免浪费时间盘剥对方可能并不出彩的履历。进入第二轮后,面试就更加专注于个人特质,气场,是否具备团队和谐共赢的其他情况,尽情发挥即可,面试官首先要具备丰富的阅历,未必是团队中的技术大拿,但必须具备团队领导力,减少让那些喜欢用一技之长刁难面试者的心智不成熟的团队成员成为考官,进而抹杀具备潜力的新成员的可能。
第一阶段的失败者,因为所选题目带有类别和难度标记,可以通过系统设计自动给与评定,并开放题库欢迎失败者继续挑战。为企业准备潜在的新鲜血液。
进入第三阶段的人员即可进行HR薪资接触,应根据行业标准和第一二阶段的考核评定给出建议薪资,并提前邮件告知,面试者同意后再进入后续接触。
“你就做梦吧你一天天地。”
“日语考试咋样了你在这叭叭叭叭叭的。”
“所以你还是受刺激受的少。”