面试考察
面试主要考察以下三个方面的内容:
- 基础知识:考察面试者是否掌握扎实的前端基础知识体系
- 业务思考:考察面试者的业务深度
- 笔试实践:考察面试者基本知识的实践能力,并考察代码风格和逻辑思维能力
基础知识
基础知识主要包含以下几个方面:
- 基础:计算机原理、编译原理、数据结构、算法、设计模式、编程范式等基本知识了解
- 语法:JavaScript、ECMAScript、CSS、TypeScript、HTML、Node.js 等语法的了解和使用
- 框架:React、Vue、Egg、Koa、Express、Webpack 等原理的了解和使用
- 工程:编译工具、格式工具、Git、NPM、单元测试、Nginx、PM2、CI / CD 了解和使用
- 网络:HTTP、TCP、UDP、WebSocket、Cookie、Session、跨域、缓存、协议的了解
- 性能:编译性能、监控、白屏检测、SEO、Service Worker 等了解
- 插件:Chrome、Vue CLI、Webpack 等插件设计思路的理解
- 系统:Mac、Windows、Linux 系统配置的实践
- 后端:Redis 缓存、数据库、Graphql、SSR、模板引擎等了解和使用
业务思考
业务思考更多的是结合基础知识的广度和深度进行的具体业务实践,主要包含以下几个方面:
- 工程化:代码部署、CI / CD 流程设计、Jenkins、Gitlab、Docker 等
- 通用性:脚手架、SDK、组件库等框架设计
- 应用框架:Hybrid 混合、微前端、BFF、monorepo
- 可视化:
- 低代码:通用表单设计、通用布局设计、通用页面设计、JSON Schema 协议设计等
- 测试:E2E 测试、单元测试、测试覆盖率、测试报告等
- 业务:数据、体验、复杂度、监控
笔试实践
- 正则表达式
- 算法
- 数据结构
- 设计模式
- 框架的部分原理实现
- TypeScript 语法
- 模板解析
参考
这里规划为以下几部分
- interview questions
- interview handwrite
- interview algorithm
- interview experience