系统设计:短链系统从 0 设计
短链是系统设计面试的经典题,小而全(读写、唯一性、重定向、缓存、扩展)。本文从需求拆解开始,讲清短链的生成(哈希/自增ID+进制)、存储、重定向(301 vs 302)、缓存抗读、分片扩展,以及面试里怎么"边设计边讲"展示思路。
Next.js、React、TypeScript、前端工程化
本专题收录 Web 开发 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
短链是系统设计面试的经典题,小而全(读写、唯一性、重定向、缓存、扩展)。本文从需求拆解开始,讲清短链的生成(哈希/自增ID+进制)、存储、重定向(301 vs 302)、缓存抗读、分片扩展,以及面试里怎么"边设计边讲"展示思路。
Feed 流是系统设计的硬核题——读多写多、要排序、要实时、要扩展。本文讲清两种核心模型(推模式 vs 拉模式 vs 推拉结合)、时间线存储、热门内容、分页与"读到底",以及不同规模(几万 vs 上亿用户)该选哪种。
不是为了刷题,是为了写好代码。本文讲清工程中最有用的数据结构与算法:哪些真常用(哈希表/树/堆/图)、复杂度怎么算、时间空间取舍、以及 LeetCode 式刷题的误区——真正的能力是把数据结构用在正确的工程问题上。
选错 API 风格,后期改不动。本文讲清 REST、GraphQL、gRPC 各自的哲学与适用场景:REST(资源/通用/简单)、GraphQL(灵活取数/前端驱动)、gRPC(高性能/内部微服务),按场景选型,以及 REST 自己也有坑(版本/状态码/嵌套)。
会写 Express 路由不算会 Node 后端。本文讲清生产级 Node 后端的关键:错误处理(别让进程崩)、日志与可观测、配置与密钥管理、数据库连接池、定时任务与队列、进程管理(PM2/cluster)、以及 Node 单线程并发的真相与误区。
Rust 最难也最核心的概念是所有权(ownership),它让 Rust 无 GC 也内存安全。本文用大白话讲清所有权、借用、生命周期这三件事,以及新手最常见的"和编译器搏斗"场景,帮你跨过 Rust 的第一道也是最陡的门槛。
不懂 OWASP Top 10,写的 Web 应用就是筛子。本文讲清最常见的 Web 漏洞:XSS、SQL 注入、CSRF、SSRF、反序列化、越权,各自的原理、现代框架的防护、以及一个核心认知——输入不可信、输出要转义、用参数化查询,把安全刻进编码习惯。
状态管理是 React 永恒的话题,选择太多反而乱。本文讲清状态管理的层级(useState/useReducer/context/Zustand/Redux 各管哪层)、本地状态 vs 服务端状态(React Query/SWR)、什么场景该上全局库、什么时候 context 就够,帮你跳出"什么都上 Redux"的误区。
还在用 float 和 margin 居中?现代 CSS 早就不一样了。本文讲清 Flexbox(一维)与 Grid(二维)的分工、居中/等高/圣杯布局的现代写法、Container Queries(组件级响应式)、以及 CSS 的新能力(@layer/:has/逻辑属性),让你用更少的代码写出更强的布局。
网络流每到一个 token 就 setState 会放大 React 提交次数。本文只约束事件到 commit 的频率与新鲜度,用按帧合并、Event Timing 和 LoAF 建立门禁。
Mock 测试全绿,真实 API 仍可能已经改了枚举、默认值或错误语义。本文把规范、生产者实现和测试替身纳入同一版本清单,用双向一致性与反例阻断“自洽但错误”的前端测试。
Hooks 用着简单,但 useRef/ useMemo/依赖数组的细节坑了不少人。本文讲清 Hooks 的心智模型(闭包 + 依赖数组)、常见坑(stale closure/依赖遗漏/无限循环)、自定义 Hook 的抽取原则、以及 useEffect 不是生命周期,帮你真正驾驭 Hooks。