服务端3月1日 20:46
Service Worker 中的 Cache Storage API 如何使用?Cache Storage API 是 Service Worker 中管理请求/响应对缓存的接口,支持离线访问和性能优化,是前端 PWA 和面试的高频考点。
## 核心答案
**Cache Storage API 做什么?** 在 Service Worker 中以代码驱动的方式缓存网络请求和响应,实现对缓存内容的完全控制,替代传统的 HTTP 缓存启发式策略。
**关键方法速记:**
- `caches.open(name)` — 打开/创建命名缓存
- `cache.add(url)` / `cache.addAll(urls)` — fetch 并缓存
- `cache.p...服务端3月1日 19:28
DNS 劫持和 DNS 污染是什么,如何防范**DNS 劫持**和 **DNS 污染**是两种常见但机制不同的 DNS 安全威胁,面试中经常被放在一起考察。核心区别在于:劫持是"改配置",污染是"投缓存"。下面逐一拆解。
## DNS 劫持:篡改解析配置,将用户引向恶意站点
DNS 劫持的实质是攻击者控制了 DNS 解析链路上的某个环节,把域名指向非预期的 IP 地址。用户以为自己访问的是银行官网,实际到达的却是钓鱼页面。
### 劫持的四种典型路径
**本地劫持**——修改 `/etc/hosts` 或系统 DNS 配置,影响范围仅限单机。恶意软件常用这种方式,一行 `192.168.1.100 www.bank.com...服务端2月28日 23:12
Vue 项目中如何正确使用 axios?从基础封装到 Vue 3 组合式 API 的完整实践在 Vue 项目中使用 axios 不是简单地调用接口,而是要围绕 Vue 的响应式系统和生命周期做正确的事——请求取消、加载状态、错误处理、逻辑复用,每一环都影响工程质量。下面从面试最常问的封装方式出发,逐步走到 Vue 3 组合式 API 的最佳实践。
## 为什么需要封装 axios?
直接在每个组件里 `import axios` 发请求,看似简单,实则埋下三个隐患:配置散落各处难以统一修改、错误处理逻辑重复书写、换 HTTP 库时要改遍整个项目。封装的核心目的是**收拢变化点**,让业务代码只关心"调哪个接口、传什么参数"。
## 基础封装:创建请求实例
### 拦截器...服务端3月1日 19:37
DNS 中的 CNAME 和 A 记录有什么区别?什么时候该用哪个?A 记录把域名直接指向 IP 地址,CNAME 记录把域名指向另一个域名。这是两者最根本的区别,但它带来的连锁影响远不止于此——根域名能不能用 CNAME、CNAME 为什么不能和其他记录共存、CDN 接入该选哪种记录,都源于这个根本差异。
## A 记录:域名到 IP 的直接映射
A 记录(Address Record)将域名直接解析到 IPv4 地址,是 DNS 最基础的记录类型。
```dns
www.example.com. 3600 IN A 192.0.2.1
```
一条 A 记录就是一次直接映射:查询 www.example.com,DNS...服务端2月28日 23:24
axios 从 0.x 到 1.x 经历了哪些重大变更?升级和兼容性问题怎么处理Axios 是前端最常用的 HTTP 客户端之一,从 2014 年发布 0.1.0 到 2026 年的 1.16.x,经历了多次重大版本变更和安全修复。掌握这些变化不仅有助于日常项目维护,也是前端面试中的高频考点。
## 版本演进全景
Axios 的版本发展可以分为三个阶段:0.x 探索期(2014-2022)、1.0 稳定期(2022-2024)、安全强化期(2025-2026)。每个阶段都有影响开发者使用方式的关键变更。
### 里程碑版本速览
| 版本 | 时间 | 核心变更 |
|------|------|----------|
| 0.1.0 | 2014 | 初始发...服务端3月1日 19:31
DNS 反向解析是什么?为什么面试常考?**DNS 反向解析(Reverse DNS Lookup)** 是通过 IP 地址反查对应域名的过程,与日常"域名查 IP"的正向解析恰好相反。它使用 **PTR 记录**,依赖特殊的 `in-addr.arpa` 域名空间,在邮件反垃圾、安全审计、网络排障中是刚需——这也是它频繁出现在运维和网络面试中的原因。
## 正向解析 vs 反向解析
| 特性 | 正向解析 | 反向解析 |
| --- | --- | --- |
| 查询方向 | 域名 → IP 地址 | IP 地址 → 域名 |
| 使用记录 | A 记录 / AAAA 记录 | PTR 记录 |
| 查询命令 | `...服务端2月28日 22:29
axios 实例如何创建和配置?axios.create() 的使用方法与核心原理`axios.create()` 是 axios 提供的工厂方法,用于创建一个拥有独立配置的 axios 实例。与直接使用全局 `axios` 对象不同,实例之间互不影响,适合在项目中对接多个服务或需要不同默认配置的场景。
## 核心答案
`axios.create()` 接收一个配置对象,返回一个新的 axios 实例,该实例拥有与全局 axios 相同的请求方法,但配置彼此隔离:
```javascript
const instance = axios.create({
baseURL: 'https://api.example.com',
timeout: 10000...服务端3月1日 20:06
什么是 DNS 区域传输(AXFR/IXFR)?DNS 区域传输(Zone Transfer)是主从 DNS 服务器之间同步区域数据的核心机制。主服务器(Master)将完整的区域文件或增量变更推送给从服务器(Slave),保证所有权威服务器数据一致。理解区域传输是运维和网络面试的高频考点。
## AXFR:全量区域传输
AXFR 传输完整的区域文件,从服务器收到的是一份全量副本。
**触发场景**:从服务器首次加入集群、Serial 回绕、或主服务器无法提供增量数据时。
**传输流程**:
1. 从服务器向主服务器发送 AXFR 请求(TCP 53 端口)
2. 主服务器校验权限后,先发送 SOA 记录
3. 依次发送所有...服务端3月1日 19:38
CDN 加速时 DNS 是如何完成智能调度的?CDN 的核心目标只有一个:让用户访问离自己最近的内容副本。而 DNS 是实现这个目标的第一道关卡——用户在浏览器输入域名的那一刻,DNS 就已经决定了流量去向。理解 DNS 在 CDN 中的调度机制,是网络和后端面试的高频考点。
## 从一次完整请求说起
当用户访问 `www.example.com` 时,DNS 解析并非直接返回源站 IP,而是经历了一条精心设计的调度链路:
```
用户 → 本地 DNS 递归查询
→ 根域名服务器 → .com 顶级域
→ example.com 权威 DNS
→ 返回 CNAME: www.example.co...服务端3月1日 12:20
Babel 的编译流程是怎样的?Babel 是 JavaScript 编译器,核心职责是将新版语法转换为向后兼容代码。整个编译流程分为三个阶段:解析、转换、生成。
## 解析(Parsing)
解析阶段将源代码字符串转为抽象语法树(AST),分为两步:
**词法分析(Lexical Analysis)**:将代码字符串拆分为 token 流。每个 token 是最小语法单元,如关键字、标识符、运算符、标点等。
```javascript
// 源代码
const age = 25;
// 词法分析产生的 token 流
[
{ type: 'Keyword', value: 'const' },
{ ...