前端面试知识点

前端基础知识


1、关于html

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

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

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

2、关于css

1、css选择器(三大特性)。

2、BFC机制。

3、盒模型。

4、css模块化开发(封装);SCSS和LESS的使用。

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

6、CSS3中新增的选择器。

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

3、关于布局

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

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

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

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

4.关于js基础

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

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

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

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

5、字符串、数组、对象常用API.

6、正则表达式。

5、关于js高级

1、作用于、作用域链、闭包。

2、原型、原型链、继承。

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

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

5、Ajax原理、axios库。

6、同步、异步编程。

7、jQuery源码学习。

6、关于浏览器

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

2、浏览器的内核。

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

4、浏览器缓存机制。

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

7、关于网络协议

1、HTTP协议。

2、cookie、session、token。

8.关于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的导出和导入。

9、VUE基础

1、基本指令。

2、实例的属性和方法。

3、实例的生命周期。

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

5、组件通信传值,父子、兄弟、跨级。

6、插槽slot等。

10、VUE高级

1、vue-router:搭建SPA

路由、组件的配置

路由间的传值。

路由跳转。

路由的导航守卫。

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

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

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

state、getters、mutations、actions、modules。

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

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

11、VUE深入、源码阅读

1、数据响应式原理。

2、virtual dom。

3、diff算法。

4、nextTick等等。

深入考察


1、面向对象的编程思想

1、类的抽象。

2、对象的封装、继承。

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

2、设计模式

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

3.数据结构和算法

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

2、考验你的抽象思维和数学功底。

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

你可能感兴趣的:(前端面试知识点)