前端八股文

前端八股文

随着准备面试汇总一些我觉得重要的面试考点。这个是目录,随着复习随着更新

文章目录

  • 前端八股文
  • JS基础
  • CSS
  • 操作系统
  • 一些不知道怎么分类的内容
  • 前后端通讯
  • 安全
  • 工程化
  • REACT
  • VUE
  • TypeScript
  • 手撕
  • 数据结构与算法
  • 参考资料


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

你可能感兴趣的:(前端八股文,前端,node.js,面试,javascript)