Skip to main content

Yujie LiuAbout 3 min

HPC C++ Interview Question Collection(Chinese)

网易HPC Interview

  1. 构造函数初始化列表与构造函数体内复制的区别
  2. 构造函数是否可以放到private里面
  3. 构造函数和析构函数是否可以为虚函数
  4. 说明static的原理
  5. 介绍stl里面的标准库vector
  6. 智能指针介绍
  7. 如果智能指针放到多线程中如何完成访问共享的对象
  8. 讲解一下动态绑定和静态绑定
  9. 算法题:Top k 如何用堆排序实现
  10. 介绍多态
  11. 构造函数为什么不可以为虚函数
  12. 析构函数为什么可以是虚函数
  13. B继承A,且有虚析构函数。A* a = new B中如果调用虚析构函数,会调用父类A的析构函数,还是子类B的析构函数
  14. 说明static_cast、dynamic_cast、const_cast、reinterpert_cast转换四种的区别
  15. 类指针如何用C++转换类别,例如A* a如何转换到B*类型?所有的指针是否都是使用dynamic_cast进行转换的
  16. 写一个拷贝构造函数?为什么你写的是引用传递?而不是值传递?(除了效率上的问题外)
  17. 算法题:如何判断两个链表相交?
  18. 题1扩展:如果两个链表都有环怎么办?
  19. 如何给链表排序?要求时间复杂度 O(nlogn) 空间复杂度 O(1)

网易有道笔试

1 .输入一个字符串,可在字符串后添加任意字符,使得新字符串变为回文串,要求输出最短的回文串。

2.找单词出现频率

3.数出现5就换成0

4.教授A认可B,B认可C,则A也认可C;自己可以认可自己;输入一个认可数组,数组中每个元素是一个认可对,求互相认可的对数。(互相认可即A认可B,B认可A)

第四题 Tarjan求强连通分量个数模版题

华中数控 武汉 C++

一面

两个面试官,40分钟。

  1. 详细介绍实习的项目/论文
  2. GPU 架构
  3. 对高性能计算的理解
  4. 为什么选择 cpp
  5. C++ 11 新特性
  6. RAII 原则
  7. 深拷贝、浅拷贝,分别应用场景
  8. C++ 20 协程简单讲讲,无栈协程、有栈协程
  9. 了解公司的业务吗
  10. 职业规划

二面

三个面试官,50分钟。

  1. 介绍之前在芯片公司做了什么
  2. LLVM 介绍,和 TVM 对比
  3. GPU 优化思路
  4. 编译器怎么对除法优化
  5. 链表/数组插入时间复杂度
  6. 堆分配/栈分配
  7. 静态存储区内存分配与堆内存分配稳定性对比
  8. 内存碎片
  9. malloc 底层实现方式
  10. 论文的研究问题,取得的进展
  11. GPU 是 SIMT 架构吗
  12. DPU 设计架构
  13. 抢占式调度算法
  14. 希望做什么方向

字节高性能

首先问了项目。 问了Cuda编程一般怎么优化 问了卷积如何优化 懂不懂共享内存 你一般怎么对Cuda编程进行优化 然后是c++八股 C的Malloc和c++的new有什么区别 Cpp的四种强制类型转换 深拷贝和浅拷贝 智能指针 如何防止内存泄漏 智能指针的实现原理 Vim的操作知识 会不会用gdb 平常用别的编程环境吗 有没有Ai部署的经验 算法题 图的最短连通路径长度

Last update:
Contributors: Yujie