📜  英伟达软件面试经历|实习

📅  最后修改于: 2021-11-16 15:46:10             🧑  作者: Mango

公司名称——英伟达
角色 – 软件实习生
持续时间 – 6 个月

第 1 轮(笔试)
这是 B.Tech 和 M.Tech 的校园活动。简介是一名软件实习生。
持续时间 – 1 小时
问题数量 – 50,无负面标记
模式 – Pen Paper-based
部分:

  • C/C++(15 个 MCQ,平均但令人困惑)——指针、递归、一元递增和递减运算符。
  • 操作系统(15 个 MCQ,平均)– 临界区、内存管理、死锁(所有理论/概念)。
  • DS/Algo(10 个 MCQ,简单)——主要与复杂性相关。
  • Quant(10 个 MCQ,Quiet Tough)——概率、排列和组合、速度和距离。

第 2 轮(技术面试 – 2 小时)项目,讨论时间 –(20 分钟)
详细介绍了我在简历中提到的两个项目。机器学习的一些基础知识(因为我的项目围绕它)。
操作系统,讨论时间 –(60 分钟)
我提到操作系统是我最喜欢的科目之一,所以他对我进行了盘问。

  • 什么是操作系统?操作系统的各种功能是什么?
  • 多道程序、分时和多道处理之间的区别。
    https://www.geeksforgeeks.org/difference-between-multitasking-multithreading-and-multiprocessing/
  • 单核和多核处理器之间的区别。
  • CPU 和 GPU 的区别。 https://www.geeksforgeeks.org/difference-between-cpu-and-gpu/
  • 什么是多级队列调度?它与优先级调度有何不同。
  • 给定到达时间,进程的突发时间。通过 Preemptive SJF 绘制甘特图。
  • 什么是多线程?多线程对单处理器有用吗?
  • 比较线程切换和进程切换。哪个快?
  • 什么是信号量?举个例子,用信号量保证临界区的互斥性?
  • 什么是等待和信号?写下它们的实现。 https://www.geeksforgeeks.org/semaphores-in-process-synchronization/
  • 什么是内存管理单元?
  • 用图表解释一级分页?
  • 逻辑地址和物理地址有什么区别?为什么需要逻辑地址?
  • 给定页面大小,逻辑和物理地址空间中的位数。找到页面和框架的总数?
  • 用户模式和内核模式有什么区别?它们是如何相互切换的?
  • 什么是系统调用?为什么需要它?
  • 内核级线程和用户级线程的区别? https://www.geeksforgeeks.org/difference-between-user-level-thread-and-kernel-level-thread/
  • RAM 和 ROM 的区别。为什么 RAM 被称为随机存取存储器?

C/C++/DS/Algo,讨论时间——(30 分钟)

  • 什么是静态变量以及它的存储位置? https://www.geeksforgeeks.org/memory-layout-of-c-program/
  • 进程在内存中的样子(什么是进程映像)?解释它的各个组成部分?
  • Stack 向上或向下增长的方向。编写程序以了解堆栈方向? https://www.geeksforgeeks.org/c-program-find-direction-growth-stack/
  • 给定一个代码并询问哪个变量在内存中的哪个位置?
  • 写一段代码找出链表的中间元素? https://www.geeksforgeeks.org/write-ac-function-to-print-the-middle-of-the-linked-list/
  • 无循环打印 1 到 n 个数字:https://www.geeksforgeeks.org/how-will-you-print-numbers-from-1-to-200-without-using-loop/
  • 什么是内存泄漏?举个例子。如何避免? https://www.geeksforgeeks.org/what-is-memory-leak-how-can-we-avoid/
  • 求树的最大深度:https://www.geeksforgeeks.org/write-ac-program-to-find-the-maximum-depth-or-height-of-a-tree/
  • 二分查找的复杂度是多少?证明给我看。是否适合链表?
  • 编写用于在给定字符串查找子字符串的代码。如果存在则打印“YES”,否则打印“NO”。 https://www.geeksforgeeks.org/check-string-substring-another/
  • 什么是指针和指针数组?
  • 给定一些使用 ++ 和 —运算符。产生它的输出。

能力/拼图,讨论时间——(10 分钟)

  • 三角形的三个角上有3只昆虫。所有蚂蚁随机选择一个方向并开始沿着三角形的边缘移动。任意两只蚂蚁不相撞的概率是多少? https://www.geeksforgeeks.org/puzzle-21-3-ants-and-triangle/
  • 在罐子 A 和罐子 B 中分别有 50 个红球和 50 个蓝球。你被蒙住眼睛,从任何罐子里挑一个球。将球分配或洗入碗中,以最大限度地提高捡到红球的机会。洗牌后没有罐子可以完全清空。 https://www.geeksforgeeks.org/puzzle-12-maximize-probability-of-white-ball/

第 3 轮(技术面试 – 1 小时)

  • 什么是回调函数?
  • 编写代码以使用 C 创建线程?
  • 描述线程生命周期? https://www.geeksforgeeks.org/lifecycle-and-states-of-a-thread-in-java/
  • 为什么多处理是因为多线程已经存在?
  • 几个 C 程序主要围绕指针产生输出,发现错误并纠正它们。
  • 什么是单例类?用代码举例
  • 什么是函数指针?举例说明。 https://www.geeksforgeeks.org/function-pointer-in-c/
  • 火炬和桥拼图。 https://www.geeksforgeeks.org/puzzle-18-torch-and-bridge/
  • 什么是虚函数以及它们是如何实现的?
  • 什么是抽象类和纯虚函数?为什么使用它们。用代码举例
  • 拼图——一共有三个盒子,一个只装苹果,一个只装橙子,一个装着苹果和橙子。这些盒子被错误地贴上了标签,以至于没有标签可以识别它贴上标签的盒子的实际内容。必须选择多少个最小的球才能正确命名标签?
  • 什么是DMA?解释它的工作
  • RISC 和 CISC 机器之间的区别。举个例子 https://www.geeksforgeeks.org/computer-organization-risc-and-cisc/
  • 什么是静态变量、静态方法和静态类?
  • 什么是ISA? X86 是否是 ISA。 ISA 的不同实现是什么意思?

1天后,结果来到了安置办公室,我被选中了。请随时通过 https://www.linkedin.com/in/shubham-gupta-379a98b9/ 向我寻求帮助