前端面试知识点目录一览
写在前面:
金三银四,又到了一年一度的跳槽季,相信大家都在准备自己面试笔记,我也针对自己工作中所掌握或了解的一些东西做了一个目录总结,方便自己复习;详细内容会在之后一一对应地补充上去(有些在我的个人主页笔记中也有相关记录),这里暂且放一个我的面试知识点目录;大家有兴趣可以自己根据目录去扩展,欢迎在评论下方指点一二,看还有哪些没考虑到的,互相交流一哈...
基本功考察
关于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中新增的属性,transformtrasitionanimation等...
关于布局
1.标准文档流(padding+margin+负margin)+浮动float+定位
2.百分比布局(流式布局): px单位用%num代替,占父级元素的百分比
3.flex弹性布局:主轴辅助轴的几个属性
4.grid栅格布局:使用框架中的类名来替代:本质上还是百分比布局
关于JS基础
1.变量数据类型及检测: 基本+引用
2.运算符:算术+条件+逻辑+位+短路,隐式转换等
3.条件,循环,异常处理 if switch(){casexxx:}trycatchfinallythrow
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.变量扩展:letconst解构赋值块级作用域
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.virtualdom
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.学习能力
1.持续学习的态度--博客,笔记记录
2.技术论坛活跃度高,问答多
3.GitHub开源项目参与
2.了解一门后端语言
1.python,node.js,php等...
2.数据库mysql,redis,mongodb. sql的操作语句,mongo的操作语句,redis操作语句
3.node+express搭建本地服务等
4.python+django+request+scrapy
3.系统编程
1.Linux命令行操作,系统文件管理
2.多任务,多线程,多进程,协程,并发,并行,串行,同步,异步等概念的理解
总结
以上所述是小编给大家介绍的前端面试知识点目录一览,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!