前端面试你需要知道的事情:技术面试流程

8,819 阅读5分钟

前一篇文章介绍了应该如何写简历:前端面试你需要知道的事情:简历。这主要次介绍一下主流公司的前端技术面试流程。

技术面试流程

一般公司技术面试分2-3轮,1面、2面注重基础,3面注重综合能力。一般对于社招来说1面、2面是面试部门的高工,3面是前端负责人或研发负责人。对于校招基本也差不太多,只是面试官是随机的,面试难度相对下降,同时更偏向基础。当然也有一些特殊情况会有更多轮面试,但流程上基本都差不多。

自我介绍

在面试前一般会有一个简短的自我介绍,自我介绍主要是面试官为了缓解一下面试者的紧张心情,所以面试者也不需要说太多。可以概要的介绍下你的从业经历,主要负责过什么,你的技术栈,你的爱好。比如:

我叫xxx, 我2015年毕业于xxx,上一份工作是在xx公司,主要负责xx网站维护和开发,技术栈使用react全家桶,同时使用node开发中间层。爱好是跑步。这次想找一份前端工程师的职位。

基本上这样就ok了,自我介绍时不要去讲大段的项目细节,除非你的这个项目真的是特别厉害的项目,能在github上有几百、几千个star,否则会给人一种啰嗦、无法抓住到事情的重点的感觉。

一定要记住,自我介绍很大程度上是暖场用的,千万不要说的太久。

基础面试面什么?

不管是社招还是校招,甚至是工作多年的资深工程师来说,只要还在写代码,那么基础都是必不可少的。前端的基础大概分为以下几个方向:

  1. html/css:包括html语义化、css布局等
  2. dom/bom:dom操作,dom api,浏览器属性/事件等
  3. js语言:闭包、js语法、原型链继承、es6、es7、typescript等
  4. 框架:React/Vue/Angular
  5. 打包构建:webpack/rollup
  6. 网络协议:http/https协议、tcp/ip、dns、cdn等
  7. 数据结构和算法:搜索、排序、链表、树等
  8. 操作系统:linux基本命令、进程线程、网络、内存、系统调用等
  9. 服务端:nodejs、python、java、nginx等
  10. 跨端:webview、react-native、flutter等

从这个方向可以看出前端是需要掌握的知识真的是包罗万象,是的,作为一个前端工程师就是要持续不断的去学习。只有掌握各个方向的知识才能作为一个名合格的前端工程师。上面只是简单的列了几个方向和要考察的内容,后面我会通过面试题分析来具体的讲一下每个知识点。

综合面试面什么?

对于校招生综合面试基本上是考察聪明程度和潜力,比如给面试者一道场景题你是否能快速的建模到对应的数据结构和算法上。对于社招来说,除了会深入考察上面的基础知识,还需要考察面试者应用到业务的能力,也就是平常说的设计能力和工程能力。

对于业务开发来说,任何工程能力都离不开几个方向:

  1. 开发效率
  2. 运营效率
  3. 服务质量

开发效率方向主要包括基础架构、组件设计、脚手架、mock等。有了这些基础支持,一线开发人员可以快速的响应业务需求,缩短开发周期,这也是为什么大公司都会有基础架构部门。

运营效率主要支持快速响应运营需求,比如快速修改文案,批量开发运营活动等工具。落地到产品一般是cms平台,运营组件平台等,这种平台大多都是可以解放开发人力,在开发不介入的情况下可以响应运营、产品的需求。

服务质量主要包括性能监控、错误监控、e2e测试、用户统计、日志查询等。

以上这些在二面和三面中都会经常考察,如果面试者做个这些方向的工作那么可以在面试前重点复习一下,会有意想不到的效果。

面试时间

校招面试分为集中面试、分散面试。集中面试是公司统一安排,一般会到公司、学校安排一批面试官,整个流程基本上一天结束技术面,面试时间看面试人数和面试官人数,运气不好可能会从早到晚,也可能很快就结束。

社招面试一般都是分散面试,如果是现场面试,大部分情况下一天之内会完成技术面加hr面。疫情期间,越来越多的公司都开始使用视频面试,视频面试的好处是节省时间,但面试流程可能被打断,一天一轮面试都是有可能的。

总结

这篇文章主要讲了技术面试的流程以及一些要考察的点和注意事项。下篇文章会从面试官的角度来分析下面试的时候我们面对的都是什么样的人。同时欢迎大家在下面留言面试中碰到的问题,我会统一解答。