英伟达采访 |第 3 组(校园内)
我在班加罗尔为他们的基础设施团队接受了 Nvidia Software 简介的校园面试,这是我的经验。
笔试
15 个关于 C/C++ 的问题,涉及位操作、C++ 概念、虚函数、抽象类、输出程序、外部变量、编译错误等。
大约 10 个关于数据结构的问题,涉及排序、堆和其他 DS 概念的问题。
大约 8 个关于操作系统的问题,包括关于信号量、TLB、线程、进程调度等的问题。
8 个关于分析能力的问题,包括一些定量难题和一些逻辑推理。
总的来说,问题的水平很好,因为它们都让我们思考。
20名学生入围面试。我在这个名单上名列前茅😉
采访由 2 个不同的团队进行。每个团队最多面试一名候选人一次。
第1轮:
在进入房间之前,他们已经分析了我的简历。
1)为什么你的前几个学期成绩低?我解释说我做了一些项目,这些项目转移了我对学术的关注。
2)他们注意到我发表了一篇关于电子学的论文,所以他们要求我深入解释为此所做的工作。
3)关于更多项目的问题。
4) 在链表中找到第 3/4 个节点。
5) 以下哪种排序算法使用的交换操作次数最少。一种。堆排序 B.选择排序 C.快速排序 D.插入排序
我在笔试中错误地回答了这个问题,所以必须在他们面前找到正确的解决方案。
6) C 程序的内存映射。
7) C++ 的概念,如虚函数、继承、构造函数、静态变量等。
8) 虚函数是如何实际实现的。 Ans- 虚拟指针表
9) 给定两个不同的进程想要读取彼此在其源代码中定义的变量。我们如何实施呢?
10) 你想接受高等教育吗?
11) 有人问我,即使我拥有强大的硬件配置文件,为什么我对 NVIDIA 软件感兴趣。我回答说我的两个技能都很强大,并且会在 NVIDIA 得到很好的利用,这两个技能都适用。
11) 还有几个我不记得的 DS 问题。
我是第二轮的候选名单
第 2 轮:
这是一位高级工程师拍摄的
1) 说说你自己。我试图向他们表明我对 NVIDIA 充满热情。
2) 什么是英伟达 CUDA?我被问到这个问题,因为我在简历中提到过。
3) 在 CUDA 中编写示例程序。我写了一个reduce函数来求和一个数组。
4) 我们如何在 CUDA 中同步线程?
5) 查找具有递归静态变量的给定程序的输出。
6)我提到我在一个项目中模拟了多行星轨道,面试官看起来对它特别感兴趣,所以我被问到关于椭圆的问题,他们的焦点。半径和偏心率。
7) 通过编写一个示例程序来解释虚函数是如何工作的。
8) 什么是虚拟析构函数? (我不知道)
9) 举一个 C++ 中运行时多态的例子。我说我们可以使用函数指针来实现这一点。不确定是否正确。