中级前端需要会的东西都有那些?

0 阅读3分钟

中级前端其实不是“多会几个 API”,而是从“会写页面”升级到“能做系统”。下面我给你按能力模块拆开,尽量具体一点,你可以对照查漏补缺。


一、JavaScript(核心能力)

这是中级前端的分水岭,必须扎实。

1. 基础但要深入

  • 作用域、闭包、this 指向(手写绑定逻辑)
  • 原型链、继承(ES5 / ES6)
  • 执行上下文、调用栈
  • 事件循环(Event Loop,宏任务 / 微任务)

👉 必须能解释:

  • Promise 为什么是异步的?
  • async/await 本质是什么?
  • setTimeout 和 Promise 执行顺序

2. 进阶能力

  • 手写 Promise(核心逻辑)
  • 防抖 / 节流(应用场景 + 实现)
  • 深拷贝(考虑循环引用)
  • 函数式编程基础(map / reduce / compose)

3. 浏览器相关

  • DOM / BOM 操作
  • 事件机制(捕获 / 冒泡)
  • 浏览器渲染流程(重排 / 重绘)
  • 性能优化(减少重排、虚拟列表等)

二、HTML & CSS(不只是会写)

中级要求是“能还原复杂 UI + 解决兼容问题”。

1. CSS 核心

  • 盒模型(标准 / IE)
  • BFC(解决布局问题)
  • Flex / Grid(必须熟练)
  • 定位(absolute / relative / fixed / sticky)

2. 进阶能力

  • 响应式设计(媒体查询)
  • CSS 预处理器(Sass / Less)
  • CSS 模块化(BEM、CSS Modules)
  • 动画(transition / animation)

三、框架(React / Vue 至少精通一个)

你现在用 React/Vue,这块是重点。


React(建议重点)

1. 基础必须熟练

  • Hooks(useState / useEffect / useMemo / useCallback)
  • 组件通信(props / context)
  • 生命周期(理解 hooks 对应关系)

2. 进阶

  • 自定义 Hooks
  • 状态管理(Redux / Zustand)
  • 性能优化(memo / useMemo / useCallback)
  • 路由(react-router)

3. 原理(中级必须懂)

  • 虚拟 DOM
  • diff 算法
  • Fiber 架构(基本理解)

Vue(如果你用 Vue)

  • Vue2 响应式(Object.defineProperty)
  • Vue3 响应式(Proxy)
  • Composition API
  • Vue Router / Pinia

四、工程化能力(非常关键)

这是很多人卡在“初级”的原因。

1. 构建工具

  • Webpack(必须理解核心概念)
  • Vite(现代项目必备)

2. 必须掌握

  • loader / plugin 区别
  • 打包优化(代码分割、懒加载)
  • 环境变量管理
  • source map

3. 代码质量

  • ESLint / Prettier
  • Git(rebase / cherry-pick)

五、网络 & 浏览器

中级一定会问。

1. HTTP

  • HTTP1.1 vs HTTP2
  • 状态码(200 / 301 / 304 / 404 / 500)
  • 缓存(强缓存 / 协商缓存)

2. 前端必须懂

  • 跨域(CORS / JSONP / 代理)
  • Cookie / localStorage / sessionStorage 区别
  • Token 认证(JWT)

六、性能优化(面试高频)

  • 首屏优化(懒加载、骨架屏)
  • 资源压缩(gzip / brotli)
  • 图片优化(WebP)
  • CDN 加速
  • 长列表优化(虚拟滚动)

七、前端安全(很多人忽略)

  • XSS(如何防)
  • CSRF(如何防)
  • 点击劫持

八、TypeScript(中级加分项 → 现在几乎必备)

既然你已经在学 TS,这块要重点搞:

  • 泛型(重点)
  • 类型推导
  • interface vs type
  • utility types(Partial / Pick / Record)

九、项目经验(决定你是不是“中级”)

不是写 demo,而是:

  • 能独立负责一个模块
  • 能设计组件结构
  • 能做性能优化
  • 能封装通用组件 / hooks
  • 能排查线上问题

十、加分项(冲高级)

  • Node.js(简单服务能力)
  • SSR(Next.js)
  • 微前端
  • ECharts(你已经在用,是加分项)
  • CI/CD