前端八股文
随着准备面试汇总一些我觉得重要的面试考点。这个是目录,随着复习随着更新
JS基础
- ✅原型对象和原型链.
- ✅作用域、作用域链和执行上下文.
- ✅JS继承.
- ✅数据类型
- ✅类型判断 (Object.prototype.toString.call)
- ✅var、const、let 对比
- ✅new 的过程.
- this 指向问题
- ✅bind 实现方式.
- ✅闭包
- ✅事件循环 【超高频】和node中的区别
- ✅手写 Promise 手写Promise.
- ✅asnyc&await.
- 异步&同步
- ✅深拷贝&浅拷贝
- ES6新语法
- ✅实现多页签通讯
- ✅原生JS遍历时获取下标的三种方式
- JS垃圾回收机制
- 事件流(冒泡 捕获) 事件委托
- BOM DOM
- 数组的操作方式(哪些改变原数组)
- for循环的方法(为什么Object不能for of)
- 迭代器
- meta SEO
- 词法分析 语法分析
- 箭头函数
- JS数据类型转换
CSS
- 盒模型
- 选择器及其等级
- 完成扇形 三角形
- 常见的布局问题
- 伪元素 伪类
操作系统
- 进程 线程(协程)
一些不知道怎么分类的内容
- GIT常用命令
- 浏览器渲染之 重绘重排
- express—使用Node.js搭建服务器
- axios—promise+xhr的ajax请求库
- 函数防抖&函数节流.
- ✅cookie,session,localStorage,sessionStorage,webStorage.
前后端通讯
- ✅输入 URL 到页面展示 【超高频】
- ✅跨域 【超高频】
- ✅HTTP 各版本 (通常是由缓存带出来的问题)参考
- ✅HTTPS 原理 【高频】https协议.
- ✅TCP 三次握手、四次挥手
- ✅HTTP请求/响应过程
- ✅TCP 和 UDP 区别
- ✅HTTP 常见状态码
- ✅OSI网络七层模型
- ✅ 传输层有什么协议
- ✅HTTP2.0 3.0
- get和POST请求
- ✅鉴权
- 强缓存 协商缓存
- 请求头有什么
- 状态码
- WebKit渲染流程
- websocket
- 浏览器的多进程 和 多线程
安全
- 有哪些安全问题?
- 解决的办法。
- XSS
- CSRF
工程化
- 页面性能优化 【超高频】(传输优化、渲染优化)
- webpack 性能优化
- Webpack打包流程
- VITE
- 常用的webpack插件
- loader&plugins
- CommonJS和ES6 的区别(TreeShaking)
- babel polyfill
- 内存泄漏怎么查 怎么解决
- 白屏问题(SSR或者阻塞等)
- SSR
REACT
- ✅React 的 diff 算法 diff
- ✅React 中的 setState 是同步还是异步 (这道题建议看卡颂老师的讲解,按照那个级别回答完,你面试基本稳了)
- ✅React 中各种组件复用(mixin、render props、hoc、hook)参考
- ✅React 的 Fiber 架构
- ✅老版本的 React 的某些生命周期被废弃的理由
- ✅React 性能优化
- ✅React生命周期
- 新版生命周期和Fiber架构的一些联系
- 虚拟DOM的作用
- useEffect&CDM
- context
- 不可变对象
- suspense
- usestate保证每次都取到上次的数据
- UseCallback+useMemo
- ✅React Hook
- ✅React三大属性和组件间与组件内通信
- ✅Redux
- Redux和ModX
- 受控组件 非受控组件
VUE
- 和React 的区别,为什么16.8之前Vue性能更优
- Diff(我被要求手撕过)
- 响应式原理(数据劫持和Proxy)
- MVVM和MVC的区别
- 常用语法糖
- 两种路由(高频!)
- 组件间通信
- nextTick
- watch和computed
- keep-alive和show
- 生命周期
- VueX
- mutation&actions
TypeScript
- ts 中 type 和 interface 的区别
- ts 中如何实现一个函数的重载
- 手写ts 的工具函数
手撕
- promise.all
- reduce
- map
- new
- bind
- 节流防抖
- 扁平化
- 深拷贝
- 继承
- merge assign
- 快排 归并
- Diff算法
- eventEmitter
- 获取URL后面的参数
- 伪数组的处理(这不是一道单独的题,但是很多都会用到)
数据结构与算法
这一部分我已经刷过一遍了,刷的时候并没有按照前端和后端分开刷题,数据结构多掌握一些总是没有问题的。全部流程过了一遍大概一个月200+道题,最近忙着准备项目放下了一阵,会一边复习一边按照顺序更新。
前端现在也是靠算法的!朋友们 冲!
参考资料
[1] 我背透了这些前端八股文https://blog.csdn.net/Y0W1as5eg37urFdS/article/details/113777492