网络协议
模块 | 核心知识点 | 示例题目 |
---|
HTTP 基础 | 请求方法、状态码、请求头、响应头 | 常见的 HTTP 方法有哪些?状态码 301 和 302 有何区别? |
HTTP/1.1 vs HTTP/2 vs HTTP/3 | 多路复用、首部压缩、连接复用 | HTTP/2 相比 HTTP/1.1 有哪些性能优化? |
HTTPS 与 TLS | 对称/非对称加密、SSL/TLS 握手流程 | HTTPS 是如何保证数据安全的?TLS 的作用是什么? |
CORS 与跨域 | preflight、简单请求、带凭证请求 | 浏览器是如何处理跨域请求的?如何配置 CORS? |
DNS 原理 | DNS 查询流程、缓存、DNS 劫持 | DNS 解析过程是怎样的?浏览器是如何查找 IP 的? |
通信方式
模块 | 核心知识点 | 示例题目 |
---|
Ajax & XHR | 原理、优缺点、兼容性 | 原生 XHR 是如何发送请求的?与 fetch 有何不同? |
Fetch API | Promise-based、Request/Response | fetch 和 XMLHttpRequest 有哪些主要区别? |
JSONP | 动态插入 script 标签、callback | JSONP 如何实现跨域?有哪些局限性? |
WebSocket | 建立连接、收发消息、状态码 | WebSocket 如何与服务端建立连接? |
SSE(Server-Sent Events) | 单向推送、EventSource API | SSE 与 WebSocket 的区别是什么? |
Polling & Long Polling | 模拟实时通信、轮询策略 | 什么是长轮询?相较于普通轮询有何优化? |
GraphQL | 单接口查询、前端灵活控制数据结构 | GraphQL 与 RESTful API 有何不同? |
gRPC / Protobuf | 二进制传输、高性能、跨语言 | gRPC 在前端如何使用?适合什么场景? |
Axios | Axios 的原理 | axios 和 fetch 的主要区别? |
性能与优化
模块 | 核心知识点 | 示例题目 |
---|
请求合并与去重 | 请求节流、防抖、缓存层优化 | 如何避免前端重复请求?有哪些优化方式? |
CDN 与边缘缓存 | 静态资源分发、就近加速 | CDN 是如何加速 Web 应用加载的? |
资源懒加载 | 图片/视频懒加载、模块动态 import | 如何实现图片懒加载?浏览器支持什么原生方式? |