Kore.ai Interview Question

Programming and Algorithms Explain the difference between stack and heap memory. What is the time complexity of quicksort? Can you implement it? How would you reverse a linked list? Given an array of integers, write a function to find the second largest number. Explain the concept of dynamic programming with an example. How would you detect a cycle in a graph? Data Structures What is the difference between a hash map and a tree map? When would you use a queue over a stack? Describe the use cases for different types of trees: binary, AVL, and B-trees. Explain how a hash table works. System Design Design a URL shortening service like TinyURL. How would you design a scalable messaging system? What considerations would you make when designing a database schema for a social media platform? Explain the concept of load balancing and how it works. Databases What are ACID properties in a database? Explain the difference between SQL and NoSQL databases. How would you optimize a slow-running SQL query? What is database normalization, and why is it important? Coding Practices and Tools What is continuous integration, and why is it important? Describe your experience with version control systems like Git. How would you approach debugging a performance issue in production? Explain the concept of unit testing and its importance in software development. Frameworks and Technologies Explain how RESTful APIs work and their advantages. What is the difference between synchronous and asynchronous programming? What is dependency injection, and how is it used in software engineering? Can you explain the difference between microservices and monolithic architecture?