Skip to content

附录 C:面试高频题

语言核心

  1. 解释所有权三条规则,并举 move 例子。
  2. &T&mut T 为什么不能同时存在?
  3. String&str 区别?
  4. CopyClone 区别?
  5. RcArc 区别?何时用 Mutex
  6. 什么是生命周期?为何有时可省略?
  7. panicResult 如何选择?
  8. 静态分发和动态分发差异?

异步与后端

  1. async fn 返回什么?谁来执行它?
  2. 为什么不该在 async 里做阻塞 IO?
  3. Send/Sync 对 axum handler 有何影响?
  4. 连接池为什么必要?
  5. 如何设计统一错误到 HTTP 状态码?
  6. 如何测试 handler 而不启动真实端口?

场景题

  1. 实现限流中间件思路。
  2. 文件上传如何限制大小与类型?
  3. 列表接口如何分页并保持稳定排序?
  4. 如何避免 SQL 注入?(参数化查询)
  5. 配置热更新可行吗?如何做状态替换?

追问加分点

  • 零成本抽象的具体例子(迭代器、泛型单态化)
  • 内存泄漏在安全 Rust 中仍可能发生(Rc 环)
  • 取消安全与幂等 API 设计