前端面试知识点目录整理★★★

 

写在前面

金三银四,又到了一年一度的跳槽季,相信你们都在准备本身的面试笔记,我也针对本身工做中所掌握或了解的一些东西作了一个目录总结,方便本身复习。详细内容会在以后一一对应地补充上去(有些在个人我的主页笔记中也有相关记录),这里暂且放一个个人面试知识点目录,你们有兴趣能够本身根据目录去扩展。欢迎在评论下方指点一二,看还有哪些没考虑到的,互相交流一哈...php

基本功考察

1.关于Html

一、html语义化标签的理解、结构化的理解;可否写出简洁的html结构;SEO优化。html

二、h5中新增的属性,如自定义属性data、类名className等;新增表单元素;拖拽Drag。vue

三、h5中新增的API、修改的API、废弃的API稍做了解(离线存储、audio、video)。node

2.关于CSS

一、CSS选择器(三大特性)。python

二、BFC机制。mysql

三、盒模型。webpack

四、CSS模块化开发(封装);SCSS和LESS的使用。ios

五、屏幕适配以及页面自适应。web

六、CSS3中新增的选择器。面试

七、CSS3中新增的属性,transform、trasition、animation等。

3.关于布局

一、标准文档流(padding + margin + 负margin)+ 浮动float + 定位 left + right + top + bottom。

二、百分比布局:px单位用%num代替,占父级元素的百分比。

三、flex弹性布局:主轴、辅助轴的几个属性。

四、grid栅格布局:使用框架中的类名来替代,本质上仍是百分比布局。

4.关于JS基础

一、变量数据类型及检测:基本 + 引用。

二、运算符:算术 + 条件 + 逻辑 + 位 + 短路、隐式转换等。

三、条件、循环、异常处理if、switch(){case xxx:}、try、catch、finally、throw。

四、函数定义、调用方式(apply、call、直接调用);传参:实参给形参赋值。

五、字符串、数组、对象经常使用API。

六、正则表达式。

5.关于JS高级

一、做用域、做用域链、闭包。

二、原型、原型链、继承。

三、函数上下文、this指向。

四、js的运行机制、事件队列和循环。

五、Ajax原理、axios库。

六、同步、异步编程。

七、jQuery源码学习。

6.关于浏览器

一、浏览器的构成和运行机制。

二、浏览器内核。

三、浏览器交互:BOM和DOM相关webApi、监听事件。

四、浏览器缓存机制。

五、浏览器的渲染原理。

六、浏览器的安全性:跨域和攻击。

7.关于网络协议

一、HTTP协议。

二、cookie、session、token。

8.关于ES6语法

一、字符串、数组、对象扩展的api。

二、变量扩展:let、const解构赋值,块级做用域。

三、函数扩展:箭头函数默认参数、rest参数。

四、展开运算符、模板字符串。

五、set和map数据结构。

六、迭代器和生成器函数next和yield的理解。

七、proxy对象属性代理器:属性的读取(get)和设置(set)相关操做。

八、promise对象、异步编程的解决方案。

九、async + await:异步编程的终极方案promise + generator的语法糖。

十、class语法、构造函数的语法糖。

十一、模块化编程export + import的导出和导入。

9.VUE基础

一、基本指令。

二、实例的属性和方法。

三、实例的生命周期。

四、组件基础:建立、注册、添加属性方法、套用等。

五、组件通讯传值,父子、兄弟、跨级。

六、插槽slot等。

10.VUE高级

一、vue-router:搭建SPA

  • 路由、组件的配置。

  • 路由间的传值。

  • 路由跳转。

  • 路由的导航守卫。

  • 记住在router.js和组件页面中的使用方式。

二、vuex:状态管理、数据仓库store

  • 实例化仓库的5大属性的使用。

  • state、getters、mutations、actions、modules。

  • 辅助函数mapState等,仓库中计算属性的映射、方便操做。

  • 记住在store.js和组件中使用方式。

11.VUE深刻、源码阅读

一、数据响应式原理。

二、virtual dom。

三、diff 算法。

四、nextTick等等。

工程能力考察

1.项目能力

一、vue-cli脚手架搭建和功能配置vue.config.js。

二、webpack的经常使用配置。

三、项目构建打包。

四、熟悉各种框架的文档。

五、UI框架:Bootstrap、MUI、Element-ui等。

六、经常使用的插件整理;整理一个本身插件库,封装本身的方法库、组件库。

七、经常使用的工具熟练度。

八、PC端和移动端开发注意事项。

九、经验总结:快速肯定项目的技术选型。

十、坑点总结:项目遇到坑坑坑!

十一、项目中的性能优化记录(都是细节点,多记录)。

十二、需求文档的理解,能够结合项目流程图、UML图。

1三、问题解决能力:bug定位调试、查找文档、寻求他人。

1四、记录习惯养成。

2.模块化、组件化开发能力

一、项目分类;各种文件整理、分类。

二、各种功能封装。

三、组件和功能模块的抽离、解耦、复用。

内功考察

1.面向对象的编程思想

一、类的抽象。

二、对象的封装、继承。

三、为了更好的去管理数据、分类数据,实现高内聚、低耦合。

2.设计模式

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

3.数据结构和算法

一、学习经常使用的排序搜索算法、顺序表、链表、栈、队列、树、堆等。

二、考验你的抽象思惟和数学功底。

三、将现实需求抽象成计算机代码的思惟能力。

附加技能考察

1.学习能力

一、持续学习的态度——博客、笔记记录。

二、技术论坛活跃度高、问答多。

三、GitHub开源项目参与。

2.了解一门后端语言

一、python、node.js、php等。

二、数据库mysql、redis、mongodb;sql的操做语句、mongodb的操做语句、redis的操做语句。

三、node + express搭建本地服务等。

四、python + django + request + scrapy。

3.系统编程

一、Linux命令行操做、系统文件管理。

二、多任务、多线程、多进程、协程、并发、并行、串行、同步、异步等概念的理解。

 

 

做者:appleguarduhttps://segmentfault.com/a/1190000018603454

相关文章
相关标签/搜索