大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。
“这是我参与8月更文挑战的第8天,活动详情查看: 8月更文挑战”
不知不觉,已是八月中旬。最近有很多大四的小伙伴都在跟我谈论秋招面试的问题,其实对于面试,我也没有太多的经验,只能默默地把之前整理的前端面试题分享给Ta。今天就来大致的梳理一下前端的面试体系(每一部分最后都有相应的面试题参考答案哦)。
在说前端面试体系之前,先来看一下之前整理的前端知识体系图(可能不太完整,毕竟我只是一个刚毕业一个多月的小菜鸡),这只是一个基础版的前端知识体系图,适合刚入门前端的小伙伴参考,大佬勿喷:
常考的HTML面试题:
下图对HTML面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:「2021」高频前端面试题汇总之HTML篇
常考的CSS面试题:
一、CSS基础
CSS选择器及其优先级
CSS中可继承与不可继承属性有哪些
display的属性值及其作用
display的block、inline和inline-block的区别
隐藏元素的方法有哪些
link和@import的区别
transition和animation的区别
display:none与visibility:hidden的区别
伪元素和伪类的区别和作用?
对requestAnimationframe的理解
对盒模型的理解
为什么有时候⽤translate来改变位置⽽不是定位?
li 与 li 之间有看不见的空白间隔是什么原因引起的?如何解决?
CSS3中有哪些新特性
替换元素的概念及计算规则
常见的图片格式及使用场景
对 CSSSprites 的理解
什么是物理像素,逻辑像素和像素密度,为什么在移动端开发时需要用到@3x, @2x这种图片?
margin 和 padding 的使用场景
对line-height 的理解及其赋值方式
CSS 优化和提高性能的方法有哪些?
CSS预处理器/后处理器是什么?为什么要使用它们?
::before 和 :after 的双冒号和单冒号有什么区别?
display:inline-block 什么时候会显示间隙?
单行、多行文本溢出隐藏
Sass、Less 是什么?为什么要使用他们?
对媒体查询的理解?
对 CSS 工程化的理解
如何判断元素是否到达可视区域
z-index属性在什么情况下会失效
CSS3中的transform有哪些属性 二、页面布局
常见的CSS布局单位
px、em、rem的区别及使用场景
两栏布局的实现
三栏布局的实现
水平垂直居中的实现
如何根据设计稿进行移动端适配?
对Flex布局的理解及其使用场景
响应式设计的概念及基本原理
三、定位与浮动
四、场景应用
下图对CSS面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:「2021」高频前端面试题汇总之CSS篇
一、数据类型
二、ES6
三、JavaScript基础
new操作符的实现原理
map和Object的区别
map和weakMap的区别
JavaScript有哪些内置对象
常用的正则表达式有哪些?
对JSON的理解
JavaScript脚本延迟加载的方式有哪些?
JavaScript 类数组对象的定义?
数组有哪些原生方法?
Unicode、UTF-8、UTF-16、UTF-32的区别?
常见的位运算符有哪些?其计算规则是什么?
为什么函数的 arguments 参数是类数组而不是数组?如何遍历类数组?
什么是 DOM 和 BOM?
对类数组对象的理解,如何转化为数组
escape、encodeURI、encodeURIComponent 的区别
对AJAX的理解,实现一个AJAX请求
JavaScript为什么要进行变量提升,它导致了什么问题?
什么是尾调用,使用尾调用有什么好处?
ES6模块与CommonJS模块有什么异同?
常见的DOM操作有哪些
use strict是什么意思 ? 使用它区别是什么?
如何判断一个对象是否属于某个类?
强类型语言和弱类型语言的区别
解释性语言和编译型语言的区别
for...in和for...of的区别
如何使用for...of遍历对象
ajax、axios、fetch的区别
数组的遍历方法有哪些
forEach和map方法有什么区别
四、原型与原型链
五、执行上下文/作用域链/闭包
对闭包的理解
对作用域、作用域链的理解
对执行上下文的理解
六、this/call/apply/bind
七、异步编程
八、面向对象
九、垃圾回收与内存泄漏
下图对JavaScript面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:
一、Vue 基础
二、生命周期
三、组件通信
四、路由
router 的区别
五、Vuex
Vuex 的原理
Vuex中action和mutation的区别
Vuex 和 localStorage 的区别
Redux 和 Vuex 有什么区别,它们的共同思想
为什么要用 Vuex 或者 Redux
Vuex有哪几种属性?
Vuex和单纯的全局对象有什么区别?
为什么 Vuex 的 mutation 中不能做异步操作?
Vuex的严格模式是什么,有什么作用,如何开启?
如何在组件中批量使用Vuex的getter属性
如何在组件中重复使用Vuex的mutation 六、Vue 3.0
Vue3.0有什么更新
defineProperty和proxy的区别
Vue3.0 为什么要用 proxy?
Vue 3.0 中的 Vue Composition API?
Composition API与React Hook很像,区别是什么
七、虚拟DOM
下图对Vue面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:
一、组件基础
二、数据管理
三、生命周期
四、组件通信
五、路由
六、Redux
七、Hooks
八、虚拟DOM
九、其他
下图对React面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:
一、浏览器安全
二、进程与线程
三、浏览器缓存
四、浏览器组成
六、浏览器本地存储
七、浏览器同源策略
八、浏览器事件机制
九、浏览器垃圾回收机制
下图对浏览器原理面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:「2021」高频前端面试题汇总之浏览器原理篇。
一、HTTP协议
二、HTTPS协议
三、HTTP状态码
四、DNS协议介绍
五、网络模型
六、TCP与UDP
七、WebSocket
下图对计算机网络面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:「2021」高频前端面试题汇总之计算机网络篇。
一、CDN
二、懒加载
三、回流与重绘
四、节流与防抖
五、图片优化
六、Webpack优化
下图对前端性能优化面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:「2021」高频前端面试题汇总之性能优化篇。
一、JavaScript 基础
二、数据处理
三、场景应用
下图对手写代码面试题的考察频率进行了大致的区分,可以选择性的学习:
既然有面试题,那面试题答案也是必不可少的,参考文章:「2021」高频前端面试题汇总之手写代码篇。
代码输出结果是面试中常考的题目,一段代码中可能涉及到很多的知识点,这就考察到了应聘者的基础能力。在前端面试中,常考的代码输出问题主要涉及到以下知识点:异步编程、事件循环、this指向、作用域、变量提升、闭包、原型、继承等,这里就不一一列举相关的面试题了,已经在另外一篇文章写的很清楚了,参考文章:「2021」高频前端面试题汇总之代码输出结果篇。
如果这一篇文章中的面试题都能搞懂了,那面试中的代码输出结果问题基本都很容易就解决了。
一、Git
二、Webpack
三、其他
注: 关于前端工程相关的面试题,由于个人还在整理中,还不是很全面,会尽快发在掘金上,暂时就不给出答案了,大家可以自行查找学习。
除了上面给出的这些类别的面试题,其实还有很多,比如数据结构与算法,前端业务实现等。关于数据结构与算法,主要考察方向就是LeetCode题目,可以参考一个搬砖的胖子大佬的codeTop来针对性的刷题。下面只给出几个业务实现的问题,大家可以参考:
最后,这篇文章只给出了前端面试中经常考察到的“八股文”,基本没有涉及到项目经历相关的问题, 只能根据自己的实际情况去作答了。整理不易,本文所附链接中的面试题文章的总字数已经超过了30w字,如果觉得有用就点个赞吧!