前端面试知识点目录

2019/05/10 321
目录
[隐藏]

基本功考察

关于Html

1. html语义化标签的理解;结构化的理解;能否写出简洁的html结构;SEO优化
2. h5中新增的属性;如自定义属性data,类名className等,新增表单元素,拖拽Drag
3. h5中新增的API,修改的API,废弃的API,稍作了解 (离线存储, audio, video)

关于CSS

1. CSS选择器( 三大特性 )
2. BFC机制
3. 盒模型
4. CSS模块化开发(封装);SCSS和LESS的使用
5. 屏幕适配以及页面自适应
6. CSS3中新增的选择器
7. CSS3中新增的属性,transform trasition animation等……

关于布局

1. 标准文档流(padding + margin + 负margin) + 浮动float + 定位
2. 百分比布局(流式布局):px单位用%num代替,占父级元素的百分比
3. flex弹性布局:主轴,辅助轴的几个属性
4. grid栅格布局:使用框架中的类名来替代:本质上还是百分比布局

关于JS基础

1. 变量数据类型及检测:基本 + 引用
2. 运算符:算术 + 条件 + 逻辑 + 位 + 短路, 隐式转换等
3. 条件,循环,异常处理 if switch(){case xxx:} try catch finally throw
4. 函数定义,调用方式(apply,call,直接调用),传参:实参给形参赋值
5. 字符串,数组,对象常用API,
6. 正则表达式

关于JS高级

1. 作用域,作用域链,闭包
2. 原型,原型链,继承
3. 函数上下文,this指向
4. js的运行机制,事件队列和循环
5. Ajax原理,axios库
6. 同步,异步编程
7. jQuery源码学习

关于浏览器

1. 浏览器的构成和运行机制
2. 浏览器内核
3. 浏览器交互:BOM和DOM相关webApi,监听事件
4. 浏览器缓存机制
5. 浏览器的渲染原理
6. 浏览器的安全性:跨域和攻击

关于网络协议

1. HTTP协议
2. cookie,session,token

关于ES6语法

1. 字符串,数组,对象,扩展的api
2. 变量扩展:let const,解构赋值,块级作用域
3. 函数扩展: 箭头函数,默认参数,rest参数
4. 展开运算符,模板字符串
5. set 和 map数据结构
6. 迭代器和生成器函数 next 和 yield的理解
7. proxy对象,属性代理器:属性的读取(get)和设置(set)相关操作
8. promise对象,异步编程的解决方案
9. async + await: 异步编程的终极方案 promise + generator的语法糖
10. class语法,构造函数的语法糖
11. 模块化编程,export + import的导出和导入

VUE基础

1. 基本指令
2. 实例的属性和方法
3. 实例的生命周期
4. 组件基础:创建,注册,添加属性方法,套用等……
5. 组件通信传值,父子,兄弟,跨级
6. 插槽slot等……

VUE高级

1. vue-router:搭建SPA路由,组件的配置,路由间的传值,路由跳转,路由的导航守卫,记住在router.js 和 组件页面中的使用方式
2. vuex:状态管理:数据仓库store,实例化仓库的5大属性的使用,state, getters, mutations, actions, modules,辅助函数mapState等…, 仓库中计算属性的映射, 方便操作,记住在 store.js 和 组件中 使用方式

VUE深入,源码阅读

1. 数据响应式原理
2. virtual dom
3. diff算法
4. nextTick等等……

工程能力考察

项目能力

1. vue-cli脚手架搭建和功能配置vue.config.js
2. webpack的常用配置
3. 项目构建,打包
4. 熟悉各类框架的文档……
5. UI框架:Bootstrap,MUI,Element-ui等
6. 常用的插件整理,整理一个自己插件库,封装自己的方法库,组件库
7. 常用的工具熟练度
8. PC端和移动端开发注意事项
9. 经验总结:快速确定项目的技术选型
10. 坑点总结:项目遇到坑坑坑!!!
11. 项目中的性能优化记录 ( 都是细节点……多记录 )
12. 需求文档的理解,可以结合项目流程图,UML图
13. 问题解决能力:(bug定位调试,查找文档,寻求他人……)
14. 记录习惯养成

模块化,组件化开发能力

1. 项目分类;各类文件整理,分类
2. 各类功能封装
3. 组件和功能模块的抽离,解耦,复用

内功考察

面向对象的编程思想

1. 类的抽象
2. 对象的封装,继承,为了更好的去管理数据,分类数据,实现高内聚,低耦合

设计模式

设计模式感觉也是将面向对象思想,再度抽象成现实中某些特定模式

数据结构和算法

学习常用的排序搜索算法,顺序表,链表,栈,队列,树,堆,结构等等……考验你的抽象思维和数学功底了,将现实需求抽象成计算机代码的思维能力

附加技能考察

1. 学习能力
持续学习的态度,博客,笔记记录,技术论坛活跃度高,问答多,GitHub开源项目参与
2. 了解一门后端语言
python,node.js,php等……数据库mysql,redis,mongodb,sql的操作语句,mongo的操作语句, redis操作语句,node + express 搭建本地服务等,python + django + request + scrapy
3. 系统编程
Linux命令行操作,系统文件管理,多任务,多线程,多进程,协程,并发,并行,串行,同步,异步等概念的理解

本文系转载多处整理而成,仅供博主自己参考。

               

分享本文:

添加评论

昵称*
网站