前端开发面试题总结

CSS

1、垂直水平居中的方式有哪几种?

2、实现水平三栏(两侧定宽,中间自适应)、垂直三栏(上下定宽,中间自适应)布局的方式分别有哪些?

3、BFC是什么?(块级格式化上下文)

4、CSS的盒子模型有哪几种?区别在哪里?

5、rem的原理?

6、浏览器是怎样解析CSS选择器的?

7、CSS的性能优化方案?

JS

1、getElementById与querySelector的区别?

2、数组常用的遍历方法有哪些?

3、for in 与 for of 的区别?

4、浅拷贝和深拷贝的区别是什么?分别如何实现?

5、常见的继承方式有哪几种?并简述其原理和实现方法

6、判断数据类型方式有哪几种?并简述其区别

7、ES6、7、8常用的特性有哪些,不常用的特性有哪些?

8、Event Loop(事件循环)的原理,微任务与宏任务分别有哪些?

9、简述this的指向,并且setTimeout中的this指向为什么会丢失?

10、谈谈对闭包的理解和使用场景

11、js 延迟加载的方式有哪些?

12、js获取原型的方法?(p.proto、p.constructor.prototype、Object.getPrototypeOf(p))

13、ES6 模块与 CommonJS 模块、AMD、CMD 的差异?

14、谈谈JS的运行机制?(单线程、事件循环)

15、哪些操作会造成内存泄漏?

16、什么是高阶函数?请列举几个

17、为什么函数被称为一等公民?(赋值、传参、返回、类的构造函数、Function类的实例)

18、什么是节流与防抖?分别在什么场景下使用?

19、webSocket是什么?其通信原理是什么?

20、什么叫函数式编程?纯函数是什么?

21、什么是回流?什么是重绘?两者之间有什么区别?

22、APP内嵌H5页面,如何与原生交互,其原理是什么?

vue

1、vue组件之间的通信有哪几种?分别区分出父子组件与兄弟组件

2、第一次页面加载会触发哪几个钩子?(beforeCreate, created, beforeMount, mounted)

3、vue数据双向绑定的原理是什么?

4、active-class是哪个组件的属性?嵌套路由怎么定义?

5、虚拟DOM是什么?实现原理?

6、简述路由缓存(keep-alive),相对应的钩子函数是什么?

7、简述路由守卫(全局守卫、路由独享的守卫、组件内的守卫)

8、computed和watch的区别

9、Vuex中action和mutation有什么区别?

10、用过Vuex模块的命名空间吗?为什么使用?怎么使用?

11、Vue3对于Vue2新增的哪些功能?Proxy 相比于 defineProperty 的优势在哪?

12、单页面应用和多页面应用区别及优缺点?

13、父组件可以监听到子组件的生命周期吗?

14、组件中 data 为什么是一个函数?

15、谈谈你对Vue.js的template编译的理解

16、什么是diff算法?如何实现?

17、assets和static文件夹的区别?

18、SPA首屏加载慢如何解决?

19、axios的特点有哪些?如何封装一个axios?

20、vue-loader是什么?使用它的用途有哪些?

21、Vue 项目如何优化?

22、什么是SSR渲染?为什么使用SSR渲染?

浏览器

1、网页从输入网址到渲染完成经历了哪些过程?为什么要三次挥手和四次挥手?

2、前端有哪几种跨域的方法,其原理是什么?

3、请简述浏览器的缓存机制?

4、HTTP 和 HTTPS的区别,为什么HTTPS安全?

5、简单介绍一下 V8 引擎的垃圾回收机制

性能优化

1、谈谈你对模块化开发的理解,几种模块规范?

2、什么情况下会造成网页图片缓存,如何解决?

3、CDN的原理是什么,CDN有缓存吗?

4、前端页面性能优化办法有哪些?

小程序

1、请简述一下小程序登录流程

2、小程序的生命周期函数

3、小程序页面间有哪些传递数据的方法?

4、小程序中可以嵌套H5吗?如何实现?webview中的页面怎么跳转回小程序?

5、使用过哪些小程序的框架?该框架优势在哪?

6、在小程序开发过程中经常会遇到哪些问题?你是如何解决的?

typeScript

1、typeScript与javaScript有什么区别?为什么要使用typeScript?

2、typeScript基本类型有哪些?并解释下Enum枚举类型

3、如何理解TypeScript中的泛型?

4、什么是TypeScript中的类型断言?

5、什么是TypeScript Declare关键字?

6、接口和类之间的关系?(类实现接口,接口继承接口,接口继承类)

webpack

1、请简述webpack构建流程

2、有哪些常用的Loader?他们分别解决什么问题的?

3、webpack热更新的实现原理是什么?

4、有哪些常用的插件?自己写过插件吗?

5、如何利用webpack来优化前端性能?

6、如何提高 webpack 的构建速度?

前端安全

1、前端安全性问题有哪些?如何防御?

nginx

1、为什么要用Nginx?

2、Nginx 有哪些负载均衡策略?

3、什么是正向代理?什么是反向代理?反向代理的优点是什么?

4、Nginx怎么处理请求的?

5、如何用Nginx解决前端跨域问题?

node.js

1、为什么使用Nodejs,它有哪些优缺点?

2、请介绍一下require的模块加载机制

3、新建Buffer会占用V8分配的内存吗?Buffer的内存分配机制是什么?

4、Express、koa和egg有什么区别?各自的优势在哪?

5、koa洋葱圈模型原理是什么?

数据结构与算法

其他

1、项目遇到哪些问题,如何解决的

2、平时如何学习前端技术

posted @ 2021-02-19 16:28  运知路上  阅读(68)  评论(0)    收藏  举报