如何面试候选人
站在面试官的角度考察候选人
面试原则
- 招最合适的人
- 他的技能是否和招聘岗位完全匹配
- 如果技能不完全匹配,现有能力是否能够在短期之内迅速上手
- 你是否愿意与他作为同事工作
- 这个人的离去,是否会让你觉得可惜
- 用真实场景考察能力
- 挖掘闪光点而不是能力比拼
技能判断
对面试者技能进行全方位评估。
- 硬技能 岗位必须具备的专业技能
- 基础 知道基本知识
- 熟悉 了解基本知识,并能举例说明
- 了解 知晓部分原理
- 精通 完全理解,并可独立实现
- 综合 可以多方面组合使用技能
- 软技能 侧重职业意识和职业精神考量
- 先采用二分法考察硬技能,根据面试者简历评估和岗位匹配度。 若感觉能力够,则拔高提问难度,然后在逐步筛选。
- 若能力不够则降低提问难度,来接下限
- 对于软技能多在能力不够的时候进行更多考量,侧重如下方面
- 是否在学习后能够符合岗位要求
- 是否和公司的文化价值观相契合
- 按照技能层级询问问题
前端面试策略
- 除了最核心的JS水平,不要因为其他单一方面的薄弱而淘汰人
- 多问语法特性和常用 API
- 多问语言设计思想等
- 少问框架、库相关的问题。对于这类问题,要多问Why和How。
- 考察框架解决问题的思路和方法
- 多问原生JS
- 热爱这个行业,好奇心和学习意识
- 新趋势的学习,例如新特性,新规范等
- 开源项目
- 前端之外的知识
面试官开放性问题
- 你有什么想要问我的? 标准,期望面试者表达出对目前职位的热情和兴趣
知识点
-
流程
- 一面 主要判断对基础知识的掌握
- 基础
- cs 基础
- 前端基础
- 理解深度
- 发展潜力
- 沟通能力
- 基础
- 二面 主要判断技术深度及广度
- 基础
- cs 基础
- 前端基础
- 发展潜力
- 沟通能力
- 知识面、大局观、领导力
- 基础
- 一面 主要判断对基础知识的掌握
-
针对不同人群的面试策略
- 校招 -> 基础考察二面
- 社招 -> 项目能力
-
询问策略
- 项目
- STAR 法则
- 项目
-
软技能
- 快速学习能力等
-
js
- 语言层面
- 数据类型
- 运算符
- 对象
- Function
- 继承
- 闭包
- 作用域
- Prototype
- RegExp
- JSON
- 内存泄漏
- 跨域
- 异步请求
- 模板引擎
- 模块化
- Flux
- 同构
- ECMAScript6
- 严格模式与混杂模式
- 语言层面
-
框架工具
- 主流MVVM框架(React\Vue\Angular)
- Hybrid App\React Native\Weex
- TypeScript
- RESTFul
- WEB安全
- 前端工程化
- 依赖管理
- 性能优化、
- 重构
- 团队协作
- 可维护
- 易用性
- SEO
- UED
- 前端技术选型
-
cs 基础
- 算法
- 网络
- HTTP
-
Nodejs
-
html
- 事件
- 如何使用事件,以及IE和标准DOM事件模型之间存在的差别
- DOM
- DOM结构,两个节点之间可能存在哪些关系以及如何在节点之间任意移动
- 如何添加、移除、移动、复制、创建和查找节点等
- Ajax
- XMLHttpRequest
- fetch
- 对Web标准的理解(结构、表现、行为)
- 浏览器内核
- 渲染原理
- HTML5
- 离线 & 存储
- Histoy
- 多媒体
- WebGL\SVG\Canvas
- BOM
- 事件
-
css
- 基础
- CSS语法
- 层次关系
- 常用属性
- 布局
- 选择器
- 权重
- 盒模型,外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型
- CSS3
- Flexbox
- CSS Modules
- Document flow
- BFC
- CSS预处理器
- 基础