Nvidia
20+ Kong Interview Questions and Answers
Q1. a) To construct a 2^n :1 MUX. how many leat number of 2:1 MUXes are required. b) If propagation delay of each MUX is 1nsec what will be the propogation delay of the above built circuit. c) Can your circuit oper...
read moreQ2. What is polymorphism? What is virtual function…? How will you implement if I tell you to develop compiler?
Polymorphism is the ability of a function to behave differently based on the object it is called with. Virtual functions allow dynamic binding.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
Virtual functions are functions in a base class that are overridden in derived classes.
To implement a compiler, you would need to handle polymorphism and virtual functions for proper function resolution.
Q3. What is function template? Do you know what exactly happen when template is executed? If you don’t then tell how will you do that?
A function template is a generic function that can work with any data type. When a template is executed, the compiler generates a specific function for each data type used.
Function template allows writing a single function that can work with different data types.
When a template is executed, the compiler generates a specific function for each data type used.
Templates are a powerful feature in C++ that enable generic programming.
Example: template <typename T> void print(T value...read more
Q4. Memory allocation in struct? Why it is like that….why continuous memory is not allocated to struct variables?
Memory allocation in struct is not continuous because of alignment requirements and padding for efficient memory access.
Struct variables may contain different data types with different memory alignment requirements
Padding is added to ensure each variable is aligned properly for efficient memory access
Example: struct with int, char, and double variables may have padding between them for alignment
Q5. Implement your own malloc function such that it will allocate memory of 16 bytes and starting address will always be divisible by 16…..was told to write code
Implement a custom malloc function to allocate memory of 16 bytes with starting address divisible by 16.
Allocate memory using malloc function
Adjust the starting address to be divisible by 16
Return the adjusted memory address
Q6. How was apti, coding test, and entire selection procedure?
The apti, coding test, and entire selection procedure were challenging but well-structured.
The aptitude test covered a wide range of topics and required logical thinking.
The coding test involved solving complex problems using programming languages.
The selection procedure included multiple rounds of interviews and assessments.
The overall process was rigorous but fair, allowing candidates to showcase their skills and abilities.
Q7. Can you find maximum stack memory available using above data structure
The maximum stack memory available cannot be determined using the given data structure.
The maximum stack memory available depends on the hardware and operating system.
It is not possible to determine the maximum stack memory based on the given data structure alone.
To determine the maximum stack memory, one would need to consider the hardware limitations and the operating system's stack size limit.
The data structure provided does not contain information about the maximum stack ...read more
Q8. Find whether no. is even or odd…(I gave mod2 solution)
The solution to determine whether a number is even or odd is to use the modulus operator with 2.
Use the modulus operator (%) to find the remainder when the number is divided by 2.
If the remainder is 0, the number is even. Otherwise, it is odd.
Example: 7 % 2 = 1, so 7 is an odd number.
Example: 10 % 2 = 0, so 10 is an even number.
Q9. What exactly happens as we free up dynamically allocated memory using free()
Q10. What are sockets, pipes, inter-process communication?
Sockets, pipes, and inter-process communication are mechanisms used for communication between processes.
Sockets are endpoints for sending and receiving data across a network. They enable communication between processes running on different machines.
Pipes are a form of inter-process communication that allows communication between processes running on the same machine. They provide a unidirectional flow of data.
Inter-process communication (IPC) refers to various methods used by...read more
Q11. What happens in recursive function calls? What are the drawbacks?
Q12. Uses of function pointer…(I said to send a function as argument)….he asked more…(I told that I know only one)
Function pointers are used to pass functions as arguments to other functions, allowing for dynamic behavior and flexibility in programming.
Function pointers can be used for callback functions in event handling systems.
They can be used to implement polymorphism in object-oriented programming.
Function pointers are commonly used in sorting algorithms to specify custom comparison functions.
Q13. Thread scheduling….difference between process and thread scheduling
Process scheduling manages execution of processes, while thread scheduling manages execution of threads within a process.
Process scheduling involves allocating CPU time to different processes, while thread scheduling involves allocating CPU time to different threads within a process.
Process scheduling is typically handled by the operating system, while thread scheduling can be managed by the application itself.
Examples of process scheduling algorithms include Round Robin, Fir...read more
Q14. What is process, Thread? What is multi-threading?
Q15. WAP to determine whether your system is little endian or big endian?
Q16. How to identify a singly linked list that whether it is circular or not?
Q17. What is little endian and big endian?
Little endian and big endian are two ways of storing multi-byte data types in computer memory.
Little endian: least significant byte is stored first
Big endian: most significant byte is stored first
Example: In little endian, the number 0x1234 is stored as 0x34 0x12
Example: In big endian, the number 0x1234 is stored as 0x12 0x34
Q18. Convert little endian to big endian in constant time
Q19. Design data structure to implement multi-threading
Q20. What do you understand by AI?
Q21. What is malloc, calloc function?
Q22. How does AI content writing differ from academic writing?
AI content writing focuses on generating engaging and optimized content for online platforms, while academic writing is more formal and research-based.
AI content writing uses algorithms to create content that is tailored for online audiences and optimized for search engines.
Academic writing is more formal, structured, and research-based, focusing on presenting arguments and supporting evidence.
AI content writing may prioritize readability, SEO, and engagement metrics, while a...read more
Q23. algorithms to writing code and architecture and parallel programming
Algorithms, code architecture, and parallel programming are essential for efficient software development.
Understanding algorithms helps in writing efficient code.
Good code architecture ensures scalability and maintainability.
Parallel programming allows for better utilization of resources.
Examples: Sorting algorithms like quicksort, Object-oriented design principles, Parallel processing in GPU programming.
More about working at Nvidia
Top HR Questions asked in Kong
Interview Process at Kong
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month