前端这个行业,三年是一个分水岭。前三年是一个非常重要的积累的时期,三年之后,基本上可以成为一名合格的中级前端工程师。
以下是我列举的工作三年的前端er自检清单,持续更新,欢迎补充:
Javascript:
- 基本数据类型,基本类型和引用类型之间的差异;
- 熟练运用es6提供的语法规范;
- 熟悉基本数据类型对应的操作方法,特别是数组和对象;
- 理解javascript基于原型编程的原理(这回事),理解原型,原型链;
- 熟悉es5和es6实现继承的方式;
- 理解作用域和执行上下文,能区分call,apply,bind三者之间的区别;
- 了解闭包,能说出在js中对于闭包的定义(闭包是什么东西);
- 异步编程,能说出js中实现异步编程的几种方式;
- 熟练使用Promise、async/await,并当成主要的异步解决方案;
- 能区分常用的宏任务和微任务,知道两者定义;
- 了解javascript的异步机制,以及Node中的Eventloop;
- 能写常用的正则表达式;
- 能基于es6进行oop编程;
- 理解ajax的原理,能书写简单的原生ajax;
- 简单的调试方法。
HTML:
- 能区分行内元素和块级元素;
- 元信息类标签的使用目的(title、head、meta);
- 了解浏览器绘制dom树的大致原理,理解重绘重排;
- 会使用canvas,svg。
CSS:
- 盒模型;
- 选择器的优先级;
- 水平垂直居中方案,越多越好;
- 至少会使用一种预处理语言,Sass、Less等;
- 熟悉css3规则,动画、过渡、渐变等;
- 常用的兼容方案;
- 能手写一套完整的响应式布局方案;
- 熟练使用flex布局。
数结构和算法:
- 熟悉栈和队列原理及相关其规则;
- 熟悉链表原理,以及使用场景,主要是单向链表;
- 哈希表的原理,以及使用场景,能说出解决hashcode重复的方案;
- 二叉树的原理,以及其遍历方法,能将实际问题转化成二叉树模型;
- 冒泡排序的原理,能手写冒泡排序,并能写出其优化方案;
- 选择排序的原理;
- 熟悉二分法的原理,并能手写二分法查询;
- 了解时间空间复杂度;
- 能够熟练使用递归调用。
运行环境:
- 熟悉浏览器的常用APi,如cookie、本地存储等等;
- 理解DOM,BOM原理,能熟练调用DOM各类接口方法;
- 能够理解DOM事件流机制;
- 理解浏览器同源策略,能提供跨域请求的解决方案,理解jsonp原理;
- 熟悉NodeJs应用场景,理解I/O概念,能熟练使用网络、文件系统等接口,并使用NodeJs写一些简单的小工具;
- 浏览器跨窗口通信;
- XSS攻击原理以及防御方案。
前端工程:
- 熟悉npm包管理;
- 理解webpack基本原理;
- 能够搭建简单的前端工程。
三大框架:
Vue:
- 熟练使用vue提供的基本语法;
- 熟悉vue双向数据绑定的原理;
- 熟悉vue生命周期及其对应钩子函数;
- 熟悉vue路由,并理解其原理,能熟练使用导航守卫;
- 熟悉Vuex,区分mutation和action;
- 能够封装高质量的组件。
后端知识:
- 熟悉基本的sql语句;
- 能够看懂表结构,表之间关联,至少会使用一种数据库;
- 能说出至少一种关系型和非关系型数据库;
- 搭建简单的web服务器。
前端路漫漫,吾当上下求索。
欢迎分享给更多的小伙伴。
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/2148603.html