Company name – Nvidia
Role – Software Intern
Duration – 6 month
Round 1 (Written Test)
This is an on-campus drive for both B.Tech and M.Tech. The profile is a Software intern.
Time duration – 1Hr
Number of Questions – 50, No negative marking
Mode – Pen Paper-based
- C/C++ (15 MCQs, Average but Confusing) – Pointers, Recursion, Unary Increment, and Decrement Operators.
- Operating System (15 MCQs, Average)– Critical Section, Memory Mangement, Deadlock (All Theoretical/Conceptual).
- DS/Algo (10 MCQs, Easy) – Mainly Complexity related.
- Quant (10 MCQs, Quiet Tough) – Probability, Permutation and Combination, Speed and Distance.
Round 2(Technical Interview – 2hrs) Projects, Discussion Time – (20 mins)
Covered my two projects in detail mentioned in the resume. Some basics of machine Learning (as my projects were around it).
Operating system, Discussion Time – (60 mins)
I mentioned OS as one of my favorite subjects so he grilled me over this.
- What is the OS? What are the various functions of OS?
Difference between Multiprogramming, Time-Sharing, and Multi-Processing.
- Difference between Single Core and Multicore Processor.
- Difference between CPU and GPU. https://www.geeksforgeeks.org/difference-between-cpu-and-gpu/
- What is Multilevel Queue Scheduling? How it is different from Priority Scheduling.
- Given Arrival Time, Burst time of Processes. Draw its Gantt chart by Preemptive SJF.
- What is multithreading? Is multithreading useful for uniprocessor?
- Compare Thread Switching and Process Switching. Which one is fast?
- What are Semaphores? Give an example by using semaphore such that it ensures mutual exclusion property of critical section?
- What are Wait and Signal? Write their implementation. https://www.geeksforgeeks.org/semaphores-in-process-synchronization/
- What is Memory Management Unit?
- Explain one level paging with a diagram?
- What is the difference between the Logical Address and Physical Address? Why there is a need for a logical address?
- Given Page Size, No of bits in Logical and Physical Address space. Find the total no of pages and frames?
- What is the difference between User mode and Kernel Mode? How they are switched to each other?
- What is a System Call? Why it is required?
- Difference between Kernel Level and User Level thread? https://www.geeksforgeeks.org/difference-between-user-level-thread-and-kernel-level-thread/
- Difference between RAM and ROM. Why RAM is Called Random Access Memory?
C/C++/DS/Algo, Discussion Time – (30 mins)
- What is a Static variable and where it is stored? https://www.geeksforgeeks.org/memory-layout-of-c-program/
- What a process looks like in memory (What is process image)? Explain its various components?
- In which direction Stack grows upward or downward. Write a program to know Stack Direction? https://www.geeksforgeeks.org/c-program-find-direction-growth-stack/
- Given a code and ask which variable goes where in memory?
- Write a code to find the middle element of a linked list? https://www.geeksforgeeks.org/write-a-c-function-to-print-the-middle-of-the-linked-list/
- Print 1 to n numbers without loop: https://www.geeksforgeeks.org/how-will-you-print-numbers-from-1-to-200-without-using-loop/
- What is a memory leak? Give an example. How it can be avoided? https://www.geeksforgeeks.org/what-is-memory-leak-how-can-we-avoid/
- Find the maximum depth of the tree: https://www.geeksforgeeks.org/write-a-c-program-to-find-the-maximum-depth-or-height-of-a-tree/
- What is the complexity of the binary search? Prove it. Is it suitable for Linked List?
- Write code for finding substring in a given string. Print “YES” if exists else “NO”. https://www.geeksforgeeks.org/check-string-substring-another/
- What are pointers and array of pointers?
- Given some codes which are using ++ and — operators. Produce its output.
Aptitude/Puzzle, Discussion Time – (10 mins)
- There are 3 insects sitting on three corners of a triangle. All ants randomly pick a direction and start moving along the edge of the triangle. What is the probability that any two ants not collide? https://www.geeksforgeeks.org/puzzle-21-3-ants-and-triangle/
- You have 50 Red balls and 50 Blue balls in jar A and B respectively. You are blindfolded and pick a ball from any jar. Distribute or shuffle the balls into the bowls to maximize the chance of picking a red ball. No jar can be fully empty after shuffling. https://www.geeksforgeeks.org/puzzle-12-maximize-probability-of-white-ball/
Round 3(Technical Interview – 1hr)
- What are the callback functions?
- Write code to create a thread using C?
- Describe the thread life cycle? https://www.geeksforgeeks.org/lifecycle-and-states-of-a-thread-in-java/
- Why Multiprocessing comes as multithreading was already there?
- Several C programs mainly revolving around Pointers for producing output, finding an error and correct them.
- What is a Singleton Class? Give Example by code
- What is a function pointer? Illustrate by an example. https://www.geeksforgeeks.org/function-pointer-in-c/
- Torch and bridge Puzzle. https://www.geeksforgeeks.org/puzzle-18-torch-and-bridge/
- What are virtual functions and how they are implemented?
- What are abstract classes and Pure Virtual functions? Why they are used. Give Example by code
- Puzzle – There are three boxes, one contains only apples, one contains only oranges, and one contains both apples and oranges. The boxes have been incorrectly labeled such that no label identifies the actual contents of the box it labels. How many minimum balls must be picked to name the labels correctly?
- What is DMA? Explain its working
- Difference between RISC and CISC machines. Give an example of Both https://www.geeksforgeeks.org/computer-organization-risc-and-cisc/
- What is the Static variable, Static method and Static Class?
- What is ISA? X86 is an ISA or not. What is meant by the different implementation of an ISA?
After 1 day, the result came to the Placement office and I was selected. Feel free to ping me for any help at https://www.linkedin.com/in/shubham-gupta-379a98b9/