怎样判断面试者是否有扎实的前端基础?

Tiger老师

前言

最近朋友去面试,得到反馈说 ta 的“前端基础”不好。我突然觉得这是一个很有趣的问题,比如对于武术家来说,你让他扎一个小时马步,就知道他基础好不好;对于歌手,你让他视唱视奏一下,就知道他基础好不好。

而技术面试,大家往往都是最开始面的几家公司会炮灰,然后随着面试过程不断刷题或者背概念,在背下来 HTTP协议概念,网络攻击,异步标准之后,终于在面到第 N 家的时候拿到了 offer。

问题是,短短几个礼拜的时间其实并不会增加多少知识和经验,但是就能轻易的从“基础不好”变成”基础扎实“,到底是我们对”基础“的定义有问题,还是对”基础“的评价标准有问题?

按理说基础的考察应该是可以有一个开放标准的,就是无论是否提前知道题目,都几乎不会影响获得的分数,那么对于前端来说,什么是长期积累下才能夯实的基础呢?我们在面试的时候又应该怎么量化去评判它?

一般大家会遇到那种问的问题去google就能知道答案的知识,尤其是在面试初级前端时。其实面对这种面试官很简单:
1.刷题
2.把上个面试官问的问题都记下来,回去查清楚,如此反复,就能应付这帮面试官了。

其实说到底,面试官看重的重点就两个:
1.这个面试者目前知道哪些知识
2.这个面试者未来能否搞定我们的工作

大部分面试官会选1,而我,可能也是跟我经历和特点有关吧,我个人会更关注2。我面试过不少应届毕业生,都是中国不错的大学。我发现我跟其他面试官的理念差异很大,有的二面面试官问我,这个人连 AMD 都没听说过,你怎么不把他拒了。嗯?AMD 很重要吗,不知道就要拒吗?这东西不就是两个函数约定吗?在指导下学起来很快啊。没踩过坑的不要?我踩过啊,你们团队没有code review 吗?其实是因为我更看重面试者其他方面的特质。前端这些基础,说实话,教两个月基本就会了。如果你从来没打算教新人就当我没说。我更关心的他英语水平如何,他是否有编程思维,他是否能跟我有效沟通,他遇到问题是否会立即反馈给我而不是闷头干,他是否能快速掌握目前不会的知识,他是否会被团队里的人喜欢。还有就是,说句不好听的,有些前端团队不好好培训新人,尽想着用新人的价格招一个中级前端,这些团队也是想瞎了心了,早点死心吧。

判断

回到题目,如果你真想检验一个人的水平。第一步先考察一下基本的编程基础,问几个基本的编程问题,可以和前端相关也可以无关。比如垃圾收集大致是怎么做的,setTimeout 大致做了什么(说会在另一个线程里执行回调的直接毙掉)。

第二步考察一下知识面,问问http、tcp的基本知识,dns是怎么工作的,或者常用框架的实现原理,看看候选人是不是除了自己的一亩三分地什么都不关心。

第三步考察hold业务逻辑的能力,从一个简单的注册页,或者查询页开始,先让说下代码的基本架构,然后需求、性能、可靠性、安全层层加码,看看能不能很快的反馈出解决方案。能对答如流的要么做过,要么对他来说这种复杂度的东西是小case。

前三步都没问题,基本上说明候选人已经还行了,但是行到什么程度,不知道。如果想找比较厉害的,就增加个第四步,亮点项目考察。

总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了,我整理一套前端面试题,免费分享给大家,希望对即将去面试的小伙伴们有帮助!

由于篇幅原因,如有需要以上完整学习笔记PDF,可以点击这里免费自取
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~小编在这谢谢大家啦!

更多前端学习相关资料点此处免费领取

阅读 60
22 声望
2 粉丝
0 条评论
你知道吗?

22 声望
2 粉丝
宣传栏