前言:无论你的角色是面试者还是被面试者,这篇文章都可以成为你前端路上的灯塔,通过两种角色视角来审视自己的职业,一起查漏补缺,持续学习💪。
🍊一、用人视角
前提:
1.0 明确自己企业用人需求(这个是前提,得搞清楚自己需要什么的人),目前自身团队构成及业务、技术发展方向;
2.0 前端职位的评估角度:制作者(技术专攻),开发者(行业视野),工程师(产品&项目&团队)。
一面(技术面):基础知识的掌握:
- 首先结合面试者简历进行 STAR 面试(确认简历的经验及措辞等的真实性客观性);
- HTML、JS、CSS基础;
- 框架的 API 及函数(有哪些你常用的API?如何使用?具体的使用场景?注重于框架基础。);
二面(技术的深度和广度):
- 框架实现原理,源码解析;
- 框架API设计理念和思想(为什么需要这么设计?以及解决了什么具体问题?注重于框架深度);
三面(技术热情和潜力):
- 在之前做过的项目中,有没有什么功能或改进点是由你提出来的?并最终获得了什么效益?
能力考查:
编程能力
就是用代码解决问题的能力。你编程能力越强,就能解决越复杂的问题,细分又有调试、算法、数据结构、操作系统原理等基础的支撑,你才能解决各种麻烦的问题。(职级:前端工程师)
工程能力
其实核心就是成事的能力。你要知道,当系统规模越来越大时,光靠你一个人是没办法完成的。那如何保证几个高手互相能够配合好?如何保证项目里面水平最差的人不拖后腿?工程化建设,往往会跨越多个业务,包括前后端解耦、模块化、质量保证、代码风格等。(职级:前端技术经理)
架构能力
就是掌控复杂系统的能力。当一个系统足够复杂,你会写每一块、能解决每一个问题,不等于你能搞定整个系统,这就需要架构能力。架构能力包含了一些意识,比如解耦、接口隔离,也包含认识业务建立抽象模型,也有一些常见的模式,比如经典的 MVC;还有设计层面,比如面向对象、设计模式;比如微前端架构等。(职级:全栈工程师,前端架构师)
前端工程能力模型
可以添加一些开放性的问题(如:用户从输入URL到看到页面中间都发生了什么?),然后再追问中增加难度、深度以及广度进行层级区分,最后再加一两个趣味性的有思考性的面试题;
面试的过程在交流,而不在于拷问,注重挖掘其思考问题的方式,解决问题的能力,以及知识的系统性。
🍊附:基本概念
1.0 STAR 面试法:
- (SITUATION)了解应聘者工作业绩取得的背景:公司规模,团队组成,所属行业,市场状况。
- (TASK)了解应聘者工作的职责及负责的主要事项和任务点:在团队中的角色,在项目开发中的任务。
- (ACTION) 了解该应聘者为了完成这些任务所采取的行动:开发遇到了哪些技术问题,又是如何解决的,用了多长的时间周期。
- (RESULT)结果:问题是否得到解决?没有解决是为什么?解决了还有什么待优化的呢?给团队带来哪些成长和价值?
🍊二、入职视角
我个人一直比较注重知识体系的建设,不仅限于前端学习。
前端面试者可以参照下面的前端知识体系图谱自行查找相关面试试题进行面试准备。
前端知识体系图谱
此文持续完善🐱......