今年面试,相对于刚毕业那会面了10家拿了4份offer,进步了一丢丢,主要是offer的质量也提升了很多,主要在于准备面试的时候,把面试题做了分类总结,这样有利于记忆并且有利于对知识点的理解,以下是今年准备的面试题以及在面试中被问到的题目总结,记录一下,后续有空更新日常记录的面试题答案
注释1: 序号为主题目,在回答中引申出其他问题,主题目下面的分类则为引申问题
注释2: 面试中除了基础知识,还应该准备项目亮点,以及根据简历可能会引申出的场景题,该处暂不做此记录
CSS
- 说说css选择器,以及它们的优先级
- 说说bfc
- 说说css选择器是从左往右解析还是从右往左解析
- 实现垂直水平居中
JS基础
- 说说闭包吧
- 什么是作用域,作用域链
- 什么是执行上下文
- 函数的执行是怎么样的
- 说说垃圾回收机制
- 说说原型,原型链
- 原型链指向null之前的时候指向哪里
- 说说js继承
- es6的class继承和es5的区别
- 说说箭头函数和普通函数的区别
- 说说this
- 说说改变this指向的方法
- 手写apply, bind, call
- 说说值传递和引用传递的区别
- 说说js的几种基本类型和引用类型,以及区别
- 如果判断基本类型和引用类型
- 说说你熟悉的es6
- let, const, var的区别
- for of和for in的区别
- 什么是迭代器
- 说说generator函数
- async await
- 什么是迭代器
- 数组的es6方法
- 了解Set, weakSet, Map, weakMap吗?
- Set和weakSet的区别
- promise
- 浏览器的事件循环
- 可能还会问和Node的事件循环的区别
- 浏览器的事件循环
http
- http的状态码
- 304代表什么,说说强缓存和协商缓存
- http1和http2的区别
- http和https的区别
- http的响应头有哪些设置
- 说说CSRF, XSS,以及前端怎么预防
- cookie和session的区别
浏览器
- 说说浏览器渲染html的过程
- 说说重绘回流
- 说说浏览器的同源策略
- 说说跨域
Vue
- 说说你了解的vuex
- Action和Mutation的区别
- Action可以有返回值吗?
- 说说vue-router中的两种模式和区别
- 说说vue-router的钩子
- 说说vue响应式
- 响应式是data影响视图,那视图影响data怎么做的(考察v-model)
- vue3的响应式做了哪些修改,有什么好处
- 说说compile过程(模板解析过程)
- AST解析怎么保证节点层级关系
- 说说diff
- diff的时间复杂度
- 没优化前的diff的时间复杂度,为什么
- patch过程是哪两个元素的比较
- 什么是虚拟dom,虚拟dom和真实dom的区别
- diff的时间复杂度
- key的作用
- key应该注意什么
- 组件data为什么是函数
- create和mounted的区别
- computed和watch的区别
- 组件通信
- 说说EventBus
- 说说axios,可以做哪些设置
webpack
- 说说webpack的解析过程
- 说说怎么优化打包前的体积以及打包后的速度
- shaking tree应该注意什么
- 热更新原理是什么
性能优化
说说你对前端优化的想法
- 什么是节流防抖
- 手写节流,防抖
- 滚动加载,懒加载
- 懒加载实现思路,有几种实现办法,有什么最优方法吗
React
这块题目主要来自几个前端朋友的面试描述,我没准备react相关题目,特此记录下
- react团队为什么要将类组件转为函数式组件,他的根本原因是什么?
- react的架构是什么样的?(15和16不一样)
- 15:协调—>渲染
- 16:调度—>协调->渲染
- 描述一下 一次update的过程
- fiber你了解吗?
- 原理
- 出现的原因
- 和15diff对比的优点
- fiber是如何实现重用上次工作的?
- 15版本 协调器和渲染器是交替的
- 16版本 这是因为协调器将所有的对比工作做完才一次性commit给渲染器
- hooks的原理?
- redux
- 原理
- 三大原则
- react的diff算法和vue的区别?
算法
这块我主要是按照数据结构的知识点顺序在leetcode上做的算法题,实际面试中遇到算法题不多
- 斐波那契相关(面试考察最多次)
- 栈队列相关题目
- 链表(该知识点考察最多的是快慢指针法,双指针法,例如vue diff就是双指针移动相互比较)
- 二叉树(前序中序后序遍历,二叉树的高,相似二叉树,等等)
手写题
- 节流,防抖
- 深拷贝
- 手写bind
- 手写map
- 手写new函数
- 手写promise
网友评论