美文网首页
Learn Tips

Learn Tips

作者: kevin_3 | 来源:发表于2020-03-22 15:41 被阅读0次


    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原理等.

    相关文章

      网友评论

          本文标题:Learn Tips

          本文链接:https://www.haomeiwen.com/subject/fqlvyhtx.html