juejin.cn/post/694094…
segmentfault.com/a/119000002…
interview.tefact.com/senior
目录:
- HTML 篇 (暂不录入)
- CSS 篇(暂不录入)
- Javascript 篇
- 框架相关
- 源码相关
- 网络相关
- 设计模式
- 函数执行结果(考察知识点掌握)
- 算法相关
- 大厂面试题
Javascript 相关
- js作用域
- this指向
- 闭包
- 为什么闭包不能被垃圾回收机制回收
- 简单说说 js 中有哪几种内存泄露的情况
- call apply bind
- call 和 apply 的区别是什么,哪个性能更好一些
- 浏览器缓存机制
- 事件循环
- === 和 == 的区别
- setTimeout、Promise、Async/Await 的区别
- js中的一些实现原理
- 实现继承的6种方式
- 检测数据类型的方式
- 介绍下 CacheStorage
- 原型和原型链&instanceOf原理
- 手写一些代码
- 前端spa页面性能优化的实践
框架相关
Vue
- 重点的面试题
- Vue 的响应式原理中 Object.defineProperty 有什么缺陷?为什么在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?
- 在 Vue 中,子组件为何不可以修改父组件传递的 Prop,如果修改了,Vue 是如何监控到属性的修改并给出警告的。
- vue 在 v-for 时给每项元素绑定事件需要用事件代理吗?为什么?
- Vue 组件间如何通信?
- Vue 中 computed 和 watch 的差异?
- 简述一下 PWA
- Vue 双向数据绑定原理
- react-router 里的 Link 标签和 a 标签有什么区别
- Vue的依赖收集
React
源码相关
- 如何实现函数的柯里化?
- 手写 bind、call、apply
- 模拟 new 的实现
- 请使用 Proxy + Fetch 实现类似于 axios 的基础 API
- 手写 Promise
- 聊聊 Redux 的源码实现
- 聊聊 redux-thunk 是如何实现异步 action 的?
- 简单聊聊 new Vue 以后发生的事情
- 介绍下 webpack 热更新原理,是如何做到在不刷新浏览器的前提下更新页面的
- 简述一下 React 的源码实现
网络相关
- HTTP1.0 和 HTTP1.1 有什么区别?
- (网易)简单讲解一下 http2 的多路复用
- 介绍 HTTPS 握手过程
- HTTPS 握手过程中,客户端如何验证证书的合法性
- 介绍下如何实现 token 加密
- 介绍下 HTTPS 中间人攻击
- 说出几个你知道的 HTTP 状态码及其功能
- 从输入URL到页面加载的全过程
- 简述 HTTP2.0 与 HTTP1.1 相较于之前版本的改进
- SSL 连接断开后如何恢复?
- 什么是 CDN 服务?
设计模式相关(待录入)
函数执行结果
- 第一题(考察 This 指针)
- 第二题(考察对象应用)
- 第三题(考察事件循环/异步)
- 第四题(考察 React 的使用)
- 第五题(考察作用域)
- 第六题(考察作用域)
- 第七题(考察数组)
- 第八题(考察赋值表达式)
- 第九题(考察赋值表达式)
算法相关
大厂面试题
- (头条、微医)Async/Await 如何通过同步的方式(形式)实现异步
- (挖财)什么是防抖和节流?有什么区别?如何实现?
- 介绍下 Set、Map、WeakSet 和 WeakMap 的区别?
- (滴滴、饿了么)写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?
- (bilibili)编程算法题
- (携程)编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组
- (阿里巴巴)介绍下深度优先遍历和广度优先遍历,如何实现?
- (网易)简单讲解一下 http2 的多路复用
- (挖财)什么是防抖和节流?有什么区别?如何实现?
- (头条、微医)Async/Await 如何通过同步的方式实现异步
- (滴滴、挖财、微医、海康)JS 异步解决方案的发展历程以及优缺点。
- (兑吧)情人节福利题,如何实现一个 new
- (京东)下面代码中 a 在什么情况下会打印 1?
- (百度)实现 (5).add(3).minus(2) 功能
- (滴滴、饿了么)写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?
- (阿里巴巴)简述执行上下文和执行栈
- (阿里巴巴)Vue 组件间如何通信?
- (阿里巴巴)简述前端性能优化
- (阿里巴巴)如何实现数组的随机排序?
- (阿里巴巴)介绍下 CacheStorage
- (阿里巴巴)Vue 双向数据绑定原理
- (阿里巴巴)页面的可用性时间的计算
- (阿里巴巴)简述一下 WebAssembly
- (阿里巴巴)谈谈移动端点击
- (阿里巴巴)谈谈 Git-Rebase
- (阿里巴巴)简述懒加载
- (腾讯)webpack 中 loader 和 plugin 的区别是什么?
- (阿里巴巴)谈谈对 MVC、MVP、MVVM 模式的理解
- 简单介绍一下 Buffer
- 简单介绍一下 Stream
- 什么是粘包问题,如何解决?
- cookie 与 session 的区别? 服务端如何清除 cookie?
- hosts 文件是什么?
- 介绍一下 Node 里的模块是什么?
- 请介绍一下 require 的模块加载机制