前端面试
作者:爱前端不爱恋爱
链接:https://zhuanlan.zhihu.com/p/76798879
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://zhuanlan.zhihu.com/p/76798879
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
js类
- addEventListener,第三个参数的作用
- js事件阶段(捕获>目标>冒泡),阻止冒泡有哪些方法(3/8)
- 如何监听dom的变动(Mutation Observer)
- 简述Event loop/描述场景问你执行顺序等,要熟悉事件循环机制(4/8)
- 了解宏任务和微任务吗,请各举几个常见的/宏任务与微任务哪个先执行(3/8)
- 简述原型,原型链/描述场景问指向等(3/8)
- es6平时开发中常用那些属性(2/8)
- es6的class与其继承如何实现(2/8)
- 箭头函数和普通函数有什么区别/箭头函数的优点
- promise的状态(peding,fulfilled,rejected,状态一旦确定不可更改)
- call,apply,bind的作用与不同之处
- 你知道几种深拷贝的方法
html类
- html5有什么新的特性
css类
- 简述下flex布局
- 简述下grid布局
- 你可以用几种方式来实现水平垂直居中
- css3有哪些新的属性
- position有哪些值/absolute以什么作为父级/简述sticky属性(3/8)
- 了解BFC吗,BFC可以用来解决什么问题
- display:none和visibliy:hidden的区别
vue类(简历中有写常用技术栈为vue)
- 双向绑定原理(频率很高,6/8左右)
- vue3.0和2.0双向绑定的区别,这样的改动有什么好处(2/8)
- vue-router的实现原理,history和hash模式有什么区别
- 虚拟dom为什么效率高
- 请描述vue生命周期
- keep-alive是否与普通组件有一样的生命周期,如果不是,它有哪些钩子(2/8)
- vue如何实现seo/为什么会被seo搜索到,ssr的生命周期与普通vue生命周期有什么不一样
- computed如何得知数据变化/computed有缓存吗(2/8)
- $nextTick原理
- vue父子组件传参有哪些方式(5/8)
- v-if和v-show有什么区别(3/8)
http类
- 跨域有哪些方式,有些面试会问jsonp和Nginx的原理,其他的原理倒是没怎么问(★跨域面试必问)
- jsonp回调函数参数格式/如何设置回调(类似这样的问题,有点记不清了)
- 后端修改请求头,实现cros跨域时,在发送post请求之前会先发送什么
- 列举一些http状态码,每一类起码都要列出几个来(3/8)
- http,tcp,ip各处在什么层
- http2.0与http1.x相比有哪些优化/http发展历程
- http都有哪些请求方式
- 了解过http连接池吗
- 浏览器的缓存机制,如何实现协商缓存(etag)(3/8)
- 简述从浏览器输入地址到页面渲染完成之间发生了什么
性能类
- 实际项目中做过的性能优化,优化之后效果怎么样(★性能优化几乎必问)
- 一个页面中有大量的数据,如何优化页面(3/8)
- 一个页面中有大量的图片,如何优化页面(2/8)
- 图片除了雪碧图,还有什么可以优化的方式
- 为什么gzip不压缩图片
- 单页应用的首屏优化
- 请简述cookie,localstorage,sessionstorage的区别(2/8)
技术其他类
- 平时的工作中如何保证产品在不同浏览器中的兼容问题
- 有考虑过前端模块化的问题吗
- 对webpack有没有了解,自己有写过webpack配置文件吗/是否有改过webpack的配置
- 对脚手架工具有没有了解,自己有实现过吗
- 搭建项目时会对整体的开发做哪些考虑/搭建项目时会考虑哪些因素,会做哪些规划
- 如何制作骨架屏
- 是否了解过seo
- 简述mvc和mvvm
- 请简述重绘和重排(2/8)
- (如果简历有写使用ts)简述使用ts的好处