Appearance
一、简历筛选
1.1、专业技能
- 好的点:按技能分类,条理清晰,涉及面越广越好
- 不好的点:同一行写几个不相干的关键词或者同一个关键词在多行出现
1.2、工作经历
- 好:所在的公司规模越大越好,公司所涉及的业务与物联网联系越紧密越好
- 不好:3年内原则上不允许换过两次公司
1.3、工作指责
- 好:所涉及的方向越广越好(PC、H5、小程序、APP、node等等),有管理经验优先(如任务拆分、下发、管理进度)
1.4、项目
- 好(最近):项目业务描述清晰,技术点多,有深度;有项目地址可浏览
- 不好:一顿揉渣,项目所设计业务傻傻分不清,自己负责的部分和所用技术点描述不清晰
1.5、其他
- 好:有开源、个人项目或博客;爱折腾,有工作之外的技术产出
1.6、潜规则
- 原则上工作经验在3-6年
- 学历本科最优(重点本科优先)
- 性格开朗,子驱强,交流顺畅,学习能力强优先
- 年限越高要求越高
二、前奏
- 个人介绍
- 上家公司团队组成
- 项目介绍
- 前端工程化体系理解
- 前端模块化,封装过组件
- 看过什么源码
- 代码规范 exlint,开发中落实了什么规范
三、问题
仅供参考,具体以面试者简历衍生为主,项目中所遇问题以及解决方案归纳总结。
3.1、安全问题
- xss、csrf
- 用户输入输出(v-html、v-text)
3.2、浏览器
- DOM渲染方面
- 渲染:重排/重绘
3.3、网络方面
- ajax原理;fetch、axios区别
- 跨域请求方案(CORS、JsonP原理)
- 缓存(强缓存、协议缓存)
3.4、html5方面
- canvs、svg
3.5、css&css3
- 布局方案:flex、bootstrap自适应布局原理
- css3新特性:flex、过渡、动画
- 定位(层叠上下文)
- 上下居中的方案
3.6、js基础
- 数据类型、判断类型的方式(原始、引用类型;typeof instanceof 其他)
- 数组自带的函数
- 一个数组重新排序(随机排序)
- 深拷贝、浅拷贝
- 防抖、节流
- 缓存,localstorage、session、cookie
- 金额计算(小数点精确位数)
- 浏览器(多进程),tab页面(单进程),js(单进程,event loop事件循环)
3.7、es6
- 使用过哪些特性
- var、const、let区别
- promise(all、race)
- new Set,Map
3.8、框架方面
- 前端模式:mvc、mvvm、mvp
- vue、react相比较于原生js、html、css的优势
- vue、react的区别,各自优劣势
- 虚拟dom的优势
- diff算法,对比原理,key的作用
- 单页面优势
3.9、vue方面
- vue3.0新的改动点
- 生命周期
- computed、watcher
- vuex
- 性能瓶颈
- 按需加载
- 技术上做过哪些优化、定制
3.10、react方面
- 最新版16.8
- hooks、pureComponent
- 生命周期
- redux
- 性能瓶颈
- 按需加载
- 技术上做过哪些优化、定制
3.11、h5方面
- 自适应方案
- 1px线条
- 兼容问题
3.12、小程序
- 哪些API
3.13、node.js
- 哪些API
3.14、Typescript
- 与js区别
- 强\弱类型;动\静态
3.15、后端开发经历
- 后端语言
- 数据库
3.16、打包构建
- webpack,修改过哪些配置
- babel的作用,配置过哪些?
3.17、前端错误日志
- 有什么方案
四、综合
4.1、职业规范
- 为什么做前端开发
- 每一年对前端理解的演变(成长过程、积累、质变)
- 管理方向:1、项目管理 2、技术管理
- 开发方向:1、业务开发 2、技术开发
4.2、综合能力
- 主动性:最近几年前端发生历程,了解新技术
- 学习途径
- 管理方面经验
- 写过技术博客或者文章(文章编写)
- 分享过什么
五、面试标准
5.1、一面
- 基本情况了解,如:是否在职,人当时在哪里(在hang哪个区)
- 是否与简历相符合,根据简历定制面试题,确定技术是否过关,能够胜任开发任务
- 如果发现不合适,可以简单问问,就可以结束了
5.2、二面
- 技术能力、综合能力考察
- 原理与实践是否能够相结合
- 与团队需求是否相匹配