400 道前端工程师常考必考面试题+详细解答
金三银四的招聘旺季,作为前端工程师的你想要跳槽大厂,但不知道大厂前端面试究竟考些什么——
- HTTP 返回的状态码有哪些?
- 什么是虚拟 DOM?
- 如何写一个 babel 插件?
- 请描述一下 Vue 的生命周期?
......
前端学习内容复杂、网上资料良莠不齐,想要靠自己梳理清楚确实不容易,为了帮助想要跳槽进大厂的你在金三银四顺利通过前端面试,我们为你专门梳理了各个大厂前端工程师常考必考的面试题型,总结出这「400 道前端工程师常考必考面试题 + 详细解答」
前端开发面试知识点大纲:
HTML&CSS:
对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应
JavaScript:
数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。
其他:
HTTP、安全、正则、优化、重构、响应式、移动端、团队协作、可维护、SEO、UED、架构、职业生涯
HTML&CSS
- 你是怎么理解HTML语义化
- 你用过哪些HTML5标签
- metaviewport是做什么用的,怎么写?
- label标签的作用
- 行内元素有哪些?块级元素有哪些?空(void)元素有那些?
- a标签中如何禁用href跳转页面或定位链接
- canvas在标签上设置宽高和在style中设置宽高有什么区别
- 介绍一下CSS的盒子模型
- CSS选择符有哪些?
- CSS3新增伪类有哪些
- 什么是cssHACK?
- Less/Sass/Scss的区别
- 请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?
- ......
JavaScript
- 请解释什么是事件委托/事件代理
- Javascript如何实现继承?
- 函数执行改变this
- babel编译原理
- 函数柯里化
- 说一下类的创建和继承
- 说说前端中的事件流
- 如何让事件先冒泡后捕获
- 说一下图片的懒加载和预加载
- js的new操作符做了哪些事情
- 改变函数内部this指针的指向函数(bind,apply,call的区别)
- Ajax解决浏览器缓存问题
- ......
VUE
- vue.js的两个核心是什么?
- vue的双向绑定的原理是什么?
- vue生命周期钩子函数有哪些?
- 请问v-if和v-show有什么区别?
- vue常用的修饰符
- 什么是vue生命周期
- 数据响应(数据劫持)
- virtualdom原理实现
- Proxy相比于defineProperty的优势
- vue中key值的作用
- ......
数据结构与算法
- 哈希
- ⼆叉树
- 链表
- 数组
- 排序
- 堆与栈
- ⾼级算法
- 动态规划