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

一、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

相关推荐
minglie17 分钟前
zynq高频小数据量PS闭环的三个实验-第0课:目的和目标
学习
Old Uncle Tom23 分钟前
银行用户画像 -- 金融目标与需求意图
前端·人工智能·金融
IT_陈寒29 分钟前
Vue的响应式让我加班到凌晨3点,原来问题出在这
前端·人工智能·后端
东方小月29 分钟前
从0开发一个 Coding Agent(一):前言
前端·人工智能·typescript
恋猫de小郭30 分钟前
Flutter 全新真 3D 实现,用 flutter_scene 能开发一个「我的世界」
android·前端·flutter
ji_shuke1 小时前
远程排查 Web 系统问题:如何导出 HAR 文件协助定位
前端·问题排查
劈星斩月1 小时前
监督学习算法 之 决策树
学习·算法·决策树
AOwhisky1 小时前
Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解
开发语言·笔记·python·学习·云计算
程序员爱钓鱼1 小时前
Rust String 与 &str 详解:字符串所有权、借用与转换
前端·后端·rust