前端最常见面试题汇总

279 阅读5分钟

HTML&CSS

1:get和post区别

2:什么是盒模型

3:行内元素有哪些?块级元素有哪些?

4:行内元素和块级元素有什么区别?

5:src和href的区别

6:什么叫优雅降级和渐进增强

7:px、em、rem、vw区别

8:Http常见的状态码有哪些

9:一次完整的HTTP事务是怎么一个过程

10:浏览器页面渲染流程

11:link和@import有什么区别

12:Html5. Css3 新特性

13:前端性能方面的优化

14:如何实现同一个浏览器多个标签页之间的通信

15:浏览器的存储技术有哪些有什么区别

16:css定位方式

17:尽可能多的写出浏览器兼容性问题

18:垂直上下居中的方法

19:清除浮动的方法

20:Http和https的区别

21:如何让Chrome浏览器显示小于12px的文字

22:重绘与回流

23:什么是Virtual DOM,为何要用Virtual DOM

24:伪元素和伪类的区别

25:http的几种请求方法和区别

26:前端需要注意哪些SEO

27:<img>的title和alt有什么区别

28:从浏览器地址栏输入url到显示页面的步骤

29:请描述一下 cookies,sessionStorage 和 localStorage 的区别?

30:CSS选择器有哪些?哪些属性可以继承

31:CSS优先级算法如何计算?

32:用纯CSS创建一个三角形的原理是什么?

33:overflow: hidden 、 display:none、visibility: hidden 有什么区别 ?

34:一行或多行文本超出隐藏

35:margin 和 padding 的区别 ?

36:margin 纵向重叠问题 ?

37:margin 负值问题?

38:min-width、max-width、width 的包含(优先级)关系

JS

1:怎么添加、移除、复制、创建、和查找节点

2:数组去重

3:什么是闭包?闭包的优缺点?手写闭包

4:递归完成1100的累加

5Javascript有哪几种数据类型

6:如何判断数据类型

7Js的事件委托是什么,原理是什么

8:如何改变函数内部的this指针的指向

9:列举几种解决跨域问题的方式,且说明原理

10:谈谈垃圾回收机制的方式及内存管理

11:js实现继承的方法有哪些

12:判断一个变量是否是数组,有哪些办法

13letconstvar 有什么区别

14:箭头函数与普通函数有什么区别

15new操作符具体干了什么

16Ajax请求示例

17:异步加载Js的方式有哪些

18:webpack如何实现打包的

19:用过哪些设计模式

20:javascript有哪些方法定义对象

21:说说你对promise的了解

22:谈谈你对AMDCMD的理解

23:介绍js有哪些内置对象?

24nullundefined 的区别?

25:实现防抖和节流,原理介绍+应用场景

26:为什么console.log(0.2+0.1==0.3) //false

27:说一下JS中类型转换的规则?

28:深拷贝和浅拷贝的区别?如何实现

29:如何判断this?箭头函数的this是什么

30:== 和 ===的区别

31JavaScript原型,原型链 ? 有什么特点?

32typeof()和instanceof()的用法区别

33:什么是变量提升

34:all、apply以及bind函数内部实现是怎么样的

35:谈谈你对JS执行上下文栈和作用域链的理解

36:prototype 和 proto 区别是什么?

37:取数组的最大值(ES5ES638ES6新的特性有哪些?

39:promise 有几种状态, Promise 有什么优缺点 ?

40Promise构造函数是同步还是异步执行,then呢 ?promise如何实现then处理 ?

41PromisesetTimeout的区别 ?

42:如何实现 Promise.all ?

43:如何实现 Promise.finally ?

44:如何判断img加载完成

45:如何阻止冒泡?

46:如何阻止默认事件?

47document.write和innerHTML的区别

48:$(document).ready()方法和window.onload有什么区别?

49:手写一个类的继承

50async/await作用

51:常用的数组方法?

52:数组循环方式有几种?有什么作用?

53:常见的字符串方法?

54:同源策略?

55:js执行机制?

56:set,map是什么?有什么用?

57:常见的数组排序方法?

58:函数柯里化是什么?有什么用?怎么实现?

59:数组扁平化?

60:call,apply,bind异同?

61:slice,splice,split异同?

62:substr与substring的区别?

63:pop,push,unshift,shift?

64:js事件循环的理解?

65:手写bind方法?

66:实现一个发布订阅

67:什么是变量提升 ?

68JS 的微任务和宏任务有哪些

69JS 的堆、栈,以及垃圾回收方式

Vue

1:什么是 vue 生命周期

2:vue生命周期的作用是什么

3:第一次页面加载会触发哪几个钩子

4:简述每个周期具体适合哪些场景

5:created和mounted的区别

6:vue获取数据在哪个周期函数

7:mvvm与mvc区别

8:vue-router 有哪几种导航钩子?

9:$route$router 的区别

10:vue-router传参

11:vue-router的两种模式(hashhistory)

12:vue-router实现路由懒加载( 动态加载路由 )

13:vue-router怎么重定向页面?

14:vue-router怎么配置404页面?

15:vue父子组件传值

16:v-show和v-if指令的共同点和不同点

17:<keep-alive></keep-alive>的作用是什么?

18:如何获取dom

19:说出几种vue当中的指令和它的用法

20:为什么使用key

21:简述computed和watch的区别

22:$nextTick的使用

23:vue组件中data为什么必须是一个函数

24:Vue中双向数据绑定是如何实现的

25:单页面应用和多页面应用区别及优缺点

26:v-if和v-for的优先级

27:assets和static的区别

28:vue常用的修饰符

29:数组更新检测

30:自定义指令

31:Vue-router跳转和location.href有什么区别

32:vue slot

33:vuex是什么?怎么使用?哪种功能场景使用它?

34:vuex有哪几种属性

35:vuex中actions和mutations的区别

36:页面刷新后vuex的state数据丢失怎么解决?

微信小程序

1:请谈谈wxml与标准的html的异同?

2:请谈谈WXSS和CSS的异同?

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

4:请谈谈小程序的双向绑定和vue的异同

5:请谈谈小程序的生命周期函数

6:简述微信小程序原理?

7:小程序常见BUG

webpack

1:webpack优缺点

2:npm run build / serve 之后发生了什么?

3:webpack构成部分?

4:webpack执行过程?

5:列举几个常用loader?

6:webpack的工作原理?

7:webpack打包原理

8:gulp/grunt 与 webpack的区别是什么?

9:你是如何提高webpack构建速度的?

10:什么是bundle,什么是chunk,什么是module

11:webpack如何配置多入口文件?

12:如何优化webpack配置?