javascript

  1. 晓得class继承与组合寄生继承的差异,并能举例说明
  2. 晓得event loop原理,晓得宏微工作,并且能从集体了解层面说出为什么要辨别。晓得node和浏览器在实现loop时候的差异
  3. 能将继承、作用域、闭包、模块这些概念融汇贯通,并且结合实际例子阐明这几个概念怎么联合在一起
  4. 能脱口而出2种以上设计模式的核心思想,并联合js语言个性举例或口喷根底实现
  5. 把握一些根底算法核心思想或简略算法问题,比方排序,大数相加

打包构建工具

  1. 晓得webpackrollup以及他们实用的场景(理解下rollup)
  2. 晓得webpack v4v3的区别
  3. 脱口而出webpack根底配置
  4. 晓得webpack打包后果的代码构造和执行流程,晓得index.jsruntime.js是干嘛的
  5. 晓得所有模块化规范定义一个模块怎么写。给出2个文件,能口喷一段代码实现模块打包和执行的外围逻辑
  6. 晓得webpack打包链路,晓得plugin生命周期,晓得怎么写一个pluginloader
  7. 晓得常见loader做了什么事件,能几句话说明确,比方babel-loadervue-loader
  8. 能联合性能优化聊webpack配置怎么做,能分明说明确外围要点有哪些,并阐明解决什么问题,须要哪些内部依赖,比方cdn,接入层等
  9. 理解异步模块加载的实现原理,能口喷代码实现外围逻辑
  10. 工具化打包公布流程,包含本地调试、云构建、线上公布体系、一键部署能力。同时,计划不仅限于前端工程局部,蕴含相干服务端基础设施,比方cdn服务搭建,接入层缓存方案设计,域名管控等
  11. 客户端缓存及预加载计划

框架相干

  1. 晓得react常见优化计划,脱口而出罕用生命周期,晓得他们是干什么的
  2. 晓得react大抵实现思路,能比照reactjs管制原生dom的差别,能口喷一个简化版的react
  3. 晓得diff算法大抵实现思路
  4. stateprops有本人的应用心得,联合受控组件、hoc等个性形容,须要阐明各种计划的实用场景
  5. 能说明确为什么要实现fiber,以及可能带来的坑
  6. 能说明确为什么要实现hook
  7. 能说明确为什么要用immutable,以及用或者不必的思考
  8. 晓得react不罕用的个性,比方contextportal
  9. 能用本人的了解说明确react like框架的实质,能说明确如何让这些框架共存
  10. 能设计出框架无关的技术架构。包含但不限于:

    1. 阐明如何解决可能存在的抵触问题,须要结合实际案例
    2. 能阐明架构分层逻辑、各层的外围模块,以及外围模块要解决的问题
    3. 能结合实际场景例举一些坑或者优雅的解决计划则更佳
  11. 晓得antd组件化设计思路。晓得thunk干嘛用的,怎么实现的
  12. 看过全家桶源码,不要求每行都看,然而晓得外围实现原理和底层依赖
  13. 能从数据驱动角度透彻的说明确redux
  14. 可能口喷原生jsredux联合要怎么做
  15. 能联合reduxvuexmobx等数据流谈谈本人对vuereact的异同
  16. 有基于全家桶构建简单利用的教训,比方最近很火的微前端和这些类库联合的时候要留神什么,会有什么坑,怎么解决

Web前端技术

  1. HTML方面包含但不限于:语义化标签,history apistorageajax2.0
  2. CSS方面包含但不限于:文档流,重绘重排,flexBFCIFCbefore/after,动画,keyframe,画三角,优先级矩阵等
  3. 能口喷xhr用法,晓得网络申请相干技术和技术底层,包含但不限于:content-type,不同type的作用;restful设计理念
  4. cors解决计划,以及浏览器和服务端执行流程;
  5. 口喷文件上传实现
  6. 晓得如何实现登陆模块,包含但不限于:登陆表单如何实现;cookie登录态保护计划;token base登录态计划;session概念
  7. css方面可能联合各个概念,说明确网上那些hack计划或优化计划的原理
  8. rpc服务调用,负载平衡
  9. 晓得websocket用法,包含但不限于:鉴权,房间调配,心跳机制,重连计划等
  10. 晓得pc端与挪动端登录态保护计划,晓得token base登录态实现细节,晓得服务端session管制实现,关键字:refresh token
  11. mock计划,可能设计出满足各种场景须要的mock数据计划,同时能说出对前后端拆散的了解
  12. 思考mock计划的通用性、场景覆盖度,以及代码或工程侵入水平
  13. 埋点计划,可能说明确前端埋点计划技术底层实现,以及技术选型原理
  14. 可能设计出基于埋点的数据采集和剖析计划,关键字包含:分桶策略,采样率,时序性,数据仓库,数据荡涤等

编码习惯和注意事项

  1. 在团队内推广eslint,并给出工程化解决方案
  2. 理解近3年前端较重要的更新事件
  3. 面试过程思路清晰,面试官给出关键字,可能快速反应出相干的技术要点,然而也要防止滔滔不绝,说一堆无关紧要的货色