javascript
- 晓得
class
继承与组合寄生继承的差异,并能举例说明 - 晓得
event
loop
原理,晓得宏微工作,并且能从集体了解层面说出为什么要辨别。晓得node
和浏览器在实现loop
时候的差异 - 能将继承、作用域、闭包、模块这些概念融汇贯通,并且结合实际例子阐明这几个概念怎么联合在一起
- 能脱口而出 2 种以上设计模式的核心思想,并联合
js
语言个性举例或口喷根底实现 - 把握一些根底算法核心思想或简略算法问题,比方排序,大数相加
打包构建工具
- 晓得
webpack
,rollup
以及他们实用的场景(理解下 rollup) - 晓得
webpack
v4
和v3
的区别 - 脱口而出
webpack
根底配置 - 晓得
webpack
打包后果的代码构造和执行流程,晓得index.js
,runtime.js
是干嘛的 - 晓得所有模块化规范定义一个模块怎么写。给出 2 个文件,能口喷一段代码实现模块打包和执行的外围逻辑
- 晓得
webpack
打包链路,晓得plugin
生命周期,晓得怎么写一个plugin
和loader
- 晓得常见
loader
做了什么事件,能几句话说明确,比方babel-loader
,vue-loader
- 能联合性能优化聊
webpack
配置怎么做,能分明说明确外围要点有哪些,并阐明解决什么问题,须要哪些内部依赖,比方cdn
,接入层等 - 理解异步模块加载的实现原理,能口喷代码实现外围逻辑
- 工具化打包公布流程,包含本地调试、云构建、线上公布体系、一键部署能力。同时,计划不仅限于前端工程局部,蕴含相干服务端基础设施,比方
cdn
服务搭建,接入层缓存方案设计,域名管控等 - 客户端缓存及预加载计划
框架相干
- 晓得
react
常见优化计划,脱口而出罕用生命周期,晓得他们是干什么的 - 晓得
react
大抵实现思路,能比照react
和js
管制原生dom
的差别,能口喷一个简化版的react
- 晓得
diff
算法大抵实现思路 - 对
state
和props
有本人的应用心得,联合受控组件、hoc
等个性形容,须要阐明各种计划的实用场景 - 能说明确为什么要实现
fiber
,以及可能带来的坑 - 能说明确为什么要实现
hook
- 能说明确为什么要用
immutable
,以及用或者不必的思考 - 晓得
react
不罕用的个性,比方context
,portal
- 能用本人的了解说明确
react
like
框架的实质,能说明确如何让这些框架共存 -
能设计出框架无关的技术架构。包含但不限于:
- 阐明如何解决可能存在的抵触问题,须要结合实际案例
- 能阐明架构分层逻辑、各层的外围模块,以及外围模块要解决的问题
- 能结合实际场景例举一些坑或者优雅的解决计划则更佳
- 晓得
antd
组件化设计思路。晓得thunk
干嘛用的,怎么实现的 - 看过全家桶源码,不要求每行都看,然而晓得外围实现原理和底层依赖
- 能从数据驱动角度透彻的说明确
redux
- 可能口喷原生
js
和redux
联合要怎么做 - 能联合
redux
,vuex
,mobx
等数据流谈谈本人对vue
和react
的异同 - 有基于全家桶构建简单利用的教训,比方最近很火的微前端和这些类库联合的时候要留神什么,会有什么坑,怎么解决
Web 前端技术
HTML
方面包含但不限于:语义化标签,history api
,storage
,ajax2.0
等CSS
方面包含但不限于:文档流,重绘重排,flex
,BFC
,IFC
,before/after
,动画,keyframe
,画三角,优先级矩阵等- 能口喷
xhr
用法,晓得网络申请相干技术和技术底层,包含但不限于:content-type
,不同 type 的作用;restful
设计理念 cors
解决计划,以及浏览器和服务端执行流程;- 口喷文件上传实现
- 晓得如何实现登陆模块,包含但不限于:登陆表单如何实现;
cookie
登录态保护计划;token base
登录态计划;session
概念 css
方面可能联合各个概念,说明确网上那些hack
计划或优化计划的原理rpc
服务调用,负载平衡- 晓得
websocket
用法,包含但不限于:鉴权,房间调配,心跳机制,重连计划等 - 晓得
pc
端与挪动端登录态保护计划,晓得token base
登录态实现细节,晓得服务端session
管制实现,关键字:refresh token
mock
计划,可能设计出满足各种场景须要的mock
数据计划,同时能说出对前后端拆散的了解- 思考
mock
计划的通用性、场景覆盖度,以及代码或工程侵入水平 - 埋点计划,可能说明确前端埋点计划技术底层实现,以及技术选型原理
- 可能设计出基于埋点的数据采集和剖析计划,关键字包含:分桶策略,采样率,时序性,数据仓库,数据荡涤等
编码习惯和注意事项
- 在团队内推广
eslint
,并给出工程化解决方案 - 理解近 3 年前端较重要的更新事件
- 面试过程思路清晰,面试官给出关键字,可能快速反应出相干的技术要点,然而也要防止滔滔不绝,说一堆无关紧要的货色