Module 07: C++、Python 与系统编程基础

涵盖 C++ 内存模型、智能指针、协程、Python GIL 锁机制与 PyTorch C++ 扩展开发等 9 道系统真题全解

支撑 AI Infra 基础设施的底层编程语言核心机制、并发控制与无锁数据结构

模块导读:本模块共 9 道 高频面试题。前 2 题为公开免费样题(含完整题目描述与参考解答);第 3 题起的 7 道题目描述全部公开(见下方完整题目列表),答案在构建时加密,凭卡密在浏览器端解密后查阅。

Q1:C++ 协程 (Coroutine) 的特点是什么?C++ 协程有栈和无栈的区别是什么?C++20 协程是有栈还是无栈?

Tip💡 核心参考解答(公开试读样题)
  • 特点:协程是一种用户态的轻量级线程,支持显式的挂起(Suspend)和恢复(Resume)。其切换开销极小(没有系统调用和内核上下文切换),适合高并发的异步 I/O 场景。

  • 有栈 vs 无栈:有栈协程(Stackful)拥有独立的调用栈,可以在任意嵌套深度的函数中挂起;无栈协程(Stackless)的状态通常保存在堆上,只能在当前协程函数的顶层挂起,内存占用更小。

  • C++20:C++20 引入的是无栈协程 (Stackless)。


Q2:std::vector 中 emplace_back 和 push_back 的区别是什么?

Tip💡 核心参考解答(公开试读样题)
  • push_back:接受一个已构造的对象,如果是临时对象,会先调用构造函数创建它,然后再调用拷贝或移动构造函数将其放入容器中。

  • emplace_back:接受对象的构造参数,直接在容器的内存空间中原地 (in-place) 构造对象,省去了临时对象的创建和拷贝/移动操作,性能更高。


本模块完整题目列表

以下为本模块全部 9 道题目。Q1–Q2 答案公开免费试读,Q3 起的答案需凭卡密解锁(题目描述本身全部公开)。

  1. C++ 协程 (Coroutine) 的特点是什么?C++ 协程有栈和无栈的区别是什么?C++20 协程是有栈还是无栈?(免费)
  2. std::vector 中 emplace_back 和 push_back 的区别是什么?(免费)
  3. 常量指针和指针常量的区别是什么?
  4. 解释 Python 中的全局解释器锁 (GIL)。
  5. Python 不同进程之间是如何通信的 (IPC)?
  6. 进程和线程的区别是什么?
  7. 了解 PyTorch 中的 tensor.view 和 tensor.contiguous 吗?
  8. torchrun 的启动参数有哪些?如何在 Linux 上批量 kill 包含 torchrun 的进程?
  9. 看过 Ray 的底层实现吗?它有什么特性?

<div class="vip-lock-badge">🔒 VIP 专享核心题库·进阶真题全量加密</div>
<h3 class="vip-module-lock-title">后续 7 道大厂核心真题与手撕源码已锁定</h3>
<p class="vip-module-lock-desc">
  本模块第 3 题起的参考解答(追问细节、白板推导与手撕 Kernel 实现)在构建时加密,凭卡密在浏览器端解密后查阅。上方已公开全部题目列表。
</p>
<div class="vip-module-features">
  <div class="vip-feat-item">✓ 后续 7 道题目的完整参考解答</div>
  <div class="vip-feat-item">✓ 大厂追问细节与白板推导心法</div>
  <div class="vip-feat-item">✓ 手撕 CUDA / Triton Kernel 源码</div>
  <div class="vip-feat-item">✓ 微店自助下单,或闲鱼人工发卡</div>
</div>
<div class="vip-lock-actions">
  <button class="vip-btn vip-btn-primary vip-btn-lg" onclick="window.hpcVip.openModal()">🔑 输入密钥立即解锁后续全部 7 题</button>
  <a href="https://weidian.com/item.html?itemID=7884224812&utm_source=hpclearning&utm_medium=vip_card&utm_campaign=vip_card" target="_blank" class="vip-btn vip-btn-outline vip-btn-lg">🛒 微店下单获取卡密</a>
</div>