前端面试题汇总(持续更新...)
HTML:
1.严格模式与混杂模式如何区分?如何触发这两种模式?
2.html新特新,语义化的目的是什么?常用结构标签及其作用?谈谈对语义化的理解
3.常用浏览器内核
4.img的title和alt属性的区别
5.src和href的区别
6.<strong><em>和<b><i>标签的区别
7.你知道有多少种DOCTYPE?HTML和XHTML的异同
8.iframe优缺点
9.本地存储和会话存储的区别?html5应用缓存?localStorage,sessionStorage和cookie区别?本地存储有生命周期么?
10.web worker 和 websocket的作用,websocket兼容低版本浏览器
11.如何实现浏览器多标签页之间的通信
12.svg和canvas区别
13.如何刷新浏览器的应用缓存,应用缓存中的回退
CSS:
1.基本选择器,权重,优先级
2.css引入方式,link和@import的区别
3.浮动引起的问题,如何解决
4.定位的相对关系
5.为什么要初始化css
6.css哪些样式可以继承,哪些不能继承
7.元素居中(垂直居中,水平居中)
8.两列布局,三列布局,盒子模型
9.如何定义高度很小的容器
10.如何让超出宽度的文字显示为省略号
11.ie6下兼容min-height,position:fixed
12.px和em的区别
13.优雅降级和渐进增强,BFC,GFC,FFC
14.rgba()和opacity的透明效果有什么不同,透明度继承
15.css中自适应的单位,rem和em的区别
16.伪类,css3新增伪类,:first-child和first-of-type区别
17.css3动画的优缺点?animation和transition异同?css3动画如何在动作结束时保持该状态不变?
18.box-sizing
19.媒体查询
Javascript:
1.垃圾回收机制,标记清除和引用计数
2.script标签页的defer和async区别
3.DOM的创建,添加,移除,替换,插入和查找节点
4.基本数据类型和复杂数据类型,内置对象,typeof和instanceof
5.js创建对象的几种方式,对象继承
6.闭包
7.this
8.数据和对象
9.for....in,for....of和forEach,map区别
10.事件捕获和冒泡
11.原型与原型链
12.函数,函数构建的三种方式,作用域,回调函数,立即执行函数
13.排序,二分查找,去重,正则验证
14.跨域
15.移动端单击穿透
16.移动端click事件300ms延迟问题
17.移动端禁止复制或选中文本
18.es6
19.异步,事件循环
网络:
1.ajax优缺点
2.http和https异同,常见状态码,完整的http事务流程,tcp和udp,网络分层模型,304缓存原理,反向代理
Node.js:
1.node.js优缺点
2.eventEmitter应用
3.流
4.exec,execFile,spawn和fork使用
5.express常用函数
Vue:
1.mvvm,数据双向绑定原理
2.v-model原理,自定义指令及其钩子函数
3.路由传参
4.vuex,vue-loader
5.<keep-alive>
6.axios,sass,webpack
Angular:
1.angular数据绑定机制,angular优缺点,优化性能,不同模块的通信方式
React:
1.react中元素和组件的区别,约束性组件和非约束性组件,哪个生命周期发ajax请求
2.使用状态时要注意事项,作用域常见问题
资料来源:
《前端程序员面试秘籍》张容铭