Learn Tips

2020-03-22  本文已影响0人  kevin_3


1. 掌握图形学, webgl或熟练使tree.js框架, 熟练canvas相关的渲染及动画操作的优先.

    初级:

        1. 学习过图形学相关知识, 知道矩阵等数学原理在动画中的作用, 知道三维场景需要的最基础的构成, 能用threejs搭建3d场景, 知道webgl和threejs的关系.

        2. 知道canvas是干嘛的, 聊到旋转能说出canvas的api.

        3. 知道css动画, css动画属性知道关键字和用法.

        4. 知道js动画, 能说出1~2社区动画库, 知道js动画和css动画优缺点以及运用场景.

        5. 知道raf和其他能达到60fps的方法

2. 熟练掌握JavaScript[javascript语言精粹]

    知道class继承和组合寄生继承的差别, 举例说明

    知道eventloop原理, 知道宏微任务, 并且能从个人理解从面说出为什么要区别.

    能将继承, 作用域, 闭包, 模块这些概念融会贯通, 并且结合实际例子

    能脱口说出两种以上设计模式的核心思想

    掌握一些基础的算法核心思想

3.熟练掌握工程化工具, 掌握模块化思想和技术实现方案

    初级:

        知道webpack, rollup以及他们的使用场景, webpack v4和v3的区别, webpackde基本配置

        知道webpack打包结果的代码结构和执行流程

        知道amd commonjs, es module, cmd

    中级:

        知道webpack打包链路, 知道plugin生命周期, 知道怎么写一个plugin和loader

        知道loader做了什么, 能几句话说明, 比如babel-loader, vue-loader

        能结合性能优化聊webpack配置怎么做, 能清楚说明核心要点有哪些, 并说明解决说明问题, 需要哪些依赖, 比如cdn, 接入层等

        了解异步模块加载的实现原理, 能口喷代码实现核心逻辑

    高级[能设计出或具体说明团队的研发基础设施]:

        项目脚手架搭建及如何以工具形态共享

        团队eslint规范如何设计, 及如何统一更新

        工具化打包发布流程, 包括本地调试, 云构建, 线上发布系统, 一键部署能力.

4. 熟练掌握React前端框架, 了解技术底层. 同时了解vue等其他框架.

    初级:

        知道React常见优化方案, 脱口而出常用生命周期

        知道React大致实现思路, 对比react和js控制原生DOM的差异, 实现一个建议react

        对state和props有自己的心得, 结合受控组件, hoc等特性描述, 需要说明方案的使用场景

    中级:

        说明fiber以及可能带来的坑

        说明hook

        说明immutable

        知道react不常用的特性, 比如context, protal

5. 熟练掌握react生态常用工具, redux/react-router等

    知道核心实现原理和底层依赖

    能从数据驱动角度痛彻的说明redux, 能够口喷原生js和redux结合怎么做

    能结合redux, vuex, mobx等数据流谈谈自己对vue和react的异同

    基于全家桶构建的复杂应用

6. 熟练各种web前端技术, 包括HTML/XML/CSS等, 有基于Ajax的前端应用开发经验

    初级:

        HTML方面包括但不限于: 语义化标签, history api, storage, ajax2.0等

        css方面包括但不限于: 文档流, 重绘重排, flex, BFC, IFC, before/after, 动画, keyframe, 画三角, 优先级矩阵.

        能口喷xhr的用法, 知道网络请求的相关技术和技术底层

        知道如何完成登陆模块, 包括但不限于: 登录表单如何实现; cookie登录态维护方案;token base登录态方案;session概念;

    中级:

        HTML方面能够结合各个浏览器api描述常用类库的实现

        css方面能够结合各个概念, 说明网上那些hack方案或优化方案的底层

        能说明接口请求的前后端整体架构流程, 包括: 业务代码, 浏览器原理, http协议, 服务端,接入层, rpc服务调用, 负载均衡

        知道websocket

        知道pc端与移动端登录态维护方案, 知道token base登录态实现细节

        知道oauth2.0 轻量与整体实现方案

    高级:

        考虑mock方案的通用性, 场景覆盖度, 以及代码或工程侵入程度

        埋点方案

7. 良好的编码习惯, 对前端技术有持续的热情

    知道eslint, 以及如何与工程配合使用

    遇到不会的题目, 可以从逻辑分析上给出大致的思考路径

    面试官给出关键词可以快速反应出相关的技术要点

    知道TS是什么, 为什么使用TS, 有TS工程化实践经验

    知道移动端常见问题, 包括但不限于: rem+1px方案, 预加载, jsbridge原理等.

上一篇下一篇

猜你喜欢

热点阅读