跳到主要内容
T0 大厂 百度

百度 AI Infra (2)

百度 AI Infra 面试真题,涵盖算子优化等方向

算子优化

一面

项目经历

  1. 介绍简历中的项目与论文,围绕涉及的技术点展开提问

高性能计算

  1. OpenMP 并行区如何开启?(pragma omp parallel 相关语法)
  2. 在并行区内执行 for(int i=0;i<100;i++){sum++;} 与串行执行的结果是否一致?如何保证一致性?
  3. GPU 的内存层次结构:Register File、L1 Cache、Shared Memory、L2 Cache、Global Memory 各自的作用域

计算机体系结构

  1. Cache 映射方式的分类与特点(组相联、全相联、直接映射)

C++ 基础

  1. 智能指针的分类与各自的使用场景
  2. C++ 多态的概念与实现方式(重写与重载的区别)
  3. 动态链接与动态绑定的区别

二面

项目经历

  1. 围绕简历与项目进行深入讨论

C++ 基础

  1. STL 中 map 的底层数据结构是什么?
  2. 平衡二叉搜索树(AVL)与红黑树的区别
  3. unordered_map 的底层实现原理
  4. 哈希冲突的常见解决方法

计算机体系结构

  1. 计算机的存储层次结构(寄存器、Cache、主存、辅存)
  2. CPU 中应用程序员可见的寄存器有哪些分类?程序计数器(PC)的作用是什么?

其他

  1. 常用的操作系统命令有哪些?

三面

C++ 基础

  1. 如何在 main 函数执行之前运行一个函数?
  2. 调试时如何设置条件断点?
  3. 如何进行堆栈监视?
  4. 程序在内存中的分段结构(代码区、数据区、堆区、栈区等)
  5. STL 中 deque 的底层实现原理

计算机体系结构

  1. 寄存器与 Cache 哪个更快?Cache 与主存分别采用什么技术实现?两者有何异同?

CUDA 编程

  1. CUDA 中的内存分类(本地内存、全局内存等)
  2. Kernel 函数的概念,__global__ 关键字的作用
  3. 如何获取 GPU 允许的最大线程数量?

算法基础

  1. 贪心算法与动态规划的区别
  2. 常见的图搜索算法(BFS、DFS)