On this page
Big-O and algorithm analysis
Object-oriented programming
Concurrency, threads, and the OS
Python
Java and the JVM
C and C++
JavaScript, React, and the web
Databases and SQL
JSON, APIs, and data formats
Git and developer tooling
Distributed systems and system design concepts
Data structures and algorithms
Software engineering practice
How to use this index
Frequently asked questions
Related reading
Software Engineering Questions Answered: A Complete Index


On This Page
Big-O and algorithm analysis
Object-oriented programming
Concurrency, threads, and the OS
Python
Java and the JVM
C and C++
JavaScript, React, and the web
Databases and SQL
JSON, APIs, and data formats
Git and developer tooling
Distributed systems and system design concepts
Data structures and algorithms
Software engineering practice
How to use this index
Frequently asked questions
Related reading
This is an index of the technical questions engineers ask most often, grouped by topic. Each entry links to a full answer.
It is meant for two situations. The first is preparing for an interview, when you want to check that the fundamentals are solid before moving on to practice problems. The second is day-to-day work, when a term comes up and you want a direct explanation rather than a tutorial.
The companion index for interview process and career questions is Tech Interview Questions Answered.
Big-O and algorithm analysis
Complexity is the vocabulary interviewers use to compare solutions. These cover the notation itself and how to choose between algorithms that solve the same problem.
- Time complexity of python set operations?
- Which searching algorithm is best?
- Which algorithm is best for sorting?
- Which algorithm is faster?
- What are the 3 requirements of an algorithm?
- What is the fastest search algorithm?
- What is the most powerful sorting algorithm?
- Which algorithm is best and why?
Object-oriented programming
Object-oriented questions appear in both coding and design rounds. These cover the four core ideas and the terms that get confused for each other.
- What is OOPS full form?
- Who is the father of OOPs?
- What are 4 types of OOPS?
- What is overloading in Oops?
- What is UML?
- What is constructor in OOPs?
- What design pattern does twitter use?
- What is the interface in OOPs?
- What is the best algorithm for overriding GetHashCode?
Concurrency, threads, and the OS
Threads, scheduling, and memory come up in systems roles and in any interview that touches performance. These start from the operating system concepts underneath.
- What is xmx and xms?
- What is a scheduler in OS?
- When to use recursive mutex?
- What is swapping in OS?
- What is a buffer in OS?
- How to terminate a blocking thread?
- What is thrashing in OS?
- What is spooling in OS?
- What is paging in OS?
- What is fork in OS?
- What happens if we start a thread twice?
- What is the cache in OS?
- What is the start() and run() method of thread class?
- What is fragmentation in OS?
- Why should we use run instead of start to launch a thread?
Python
Python questions in interviews are usually about behavior that surprises people: how division works, how names are bound, and what the standard library gives you.
- What is floor division?
- What is the difference between a map and a dictionary?
- What is the purpose of the
selfparameter? Why is it needed? - How to do elementwise multiplication of two vectors using NumPy?
- What is init.py for?
- What is the numpy.zeros() function in Python?
- Which is better for DSA C++ or Python?
- What is the purpose of slots in Python?
- What is the string replace() method in Python?
- What do I use for a max-heap implementation in Python?
- Why is Python recursion so expensive and what can we do about it?
- How do I call a parent class's method from a child class in Python?
- How to use a global variable in a function in Python?
- What is the var() function in Python?
- What is the difference between old style and new style classes in Python?
- What is the difference between Python's list methods append and extend?
Java and the JVM
Java questions split between the language itself and the JVM that runs it. Both appear in backend interviews.
- What is Integer.MAX_VALUE?
- What is HashMap's get/put complexity in Java?
- How to declare constants in Java?
- Why doesn't java.util.Set have get(int index)?
- How to implement a tree data-structure in Java?
- What is a keyword in Java?
- Why should I use Deque over Stack in Java?
- Which is harder, Java or C++?
- Which Java API is used for multithreading and concurrency?
C and C++
C++ questions in interviews centre on memory, the standard library, and the parts of the language with no equivalent in managed runtimes. A fuller set is in the C++ interview questions guide.
- Why are unnamed namespaces used and what are their benefits?
- How do I clear the std::queue efficiently?
JavaScript, React, and the web
Frontend interviews mix framework questions with plain JavaScript. These cover the choices candidates ask about most.
- Which frontend framework is best for beginners?
- Which front-end is easy to learn?
- Is Swift backend or frontend?
- Is SQL backend or frontend?
- Which frontend framework is best for future?
- What is LLD and hld in frontend?
- Which frontend framework has more jobs?
- Is LeetCode necessary for frontend?
- What is the highest paid frontend framework?
Databases and SQL
Almost every backend interview reaches the database. These cover schema design, the SQL you write daily, and the differences between database types.
- What is the difference between JSON and schema?
- What is the difference between a table and a schema?
- What is varchar in SQL?
- What are the 6 steps in the database design process?
- How to skip duplicate records in SQL?
- What is NOT LIKE operator in SQL?
- What is a document-oriented database and how does it differ from other NoSQL databases?
- Can MongoDB auto increment?
- What is the difference between catalog and database?
- What is the difference between varchar and nvarchar?
- What coding language does Snowflake use?
- Is Snowflake SQL or NoSQL?
- What are the disadvantages of Snowflake?
- Which language is used in MongoDB?
- What are the 3 types of SQL?
- What is the difference between ERD and schema?
JSON, APIs, and data formats
APIs are the boundary between the systems you design. These cover the formats that cross that boundary and the terms used to describe them.
- What is a JSON endpoint?
- What is API format?
- What is XML in Android?
- Where is API stored?
- What is API full form?
- What is JSON vs XML vs Protobuf?
- What is API in cloud computing?
- What is API in Android?
- What is validation in API?
- What is API architecture?
Git and developer tooling
Git questions are practical rather than theoretical. They come up in day-to-day work and in interviews that ask how you would recover from a mistake.
- How can I git stash a specific file?
- How can I delete a remote tag in git?
- Reset local repository branch to be just like remote repository HEAD
- How do I make Git forget about a file that was tracked, but is now in .gitignore?
- How do I make git use the editor of my choice for editing commit messages?
- How do I list all the files in a commit?
- How do I delete a commit from a branch?
- What is CL in code review?
- How do I squash my last N commits together?
- Make an existing Git branch track a remote branch?
- How to undo a Git merge that hasn't been pushed yet?
- How can I save username and password in Git?
- How do I add an empty directory to a Git repository?
- How to search a string in multiple files and return the names of files in Powershell?
- How do I fix a Git detached head?
- How do I change the author and committer name/email for multiple commits?
- How do I clone all remote branches?
Distributed systems and system design concepts
These are the building blocks a system design round is assembled from. Each one is a concept you should be able to define before you use it in a design.
- At-least-once vs at-most-once vs exactly-once: where to use each?
- What is a key-value store and when is it useful in system design?
- What is an example of cloud computing?
- What is RPC in a distributed system?
- What is the role of middleware in a distributed system?
- What is a Hot Partition and How to Avoid It
- How can you scale an LLM-based application to handle millions of users (considering inference costs and latency)?
- What is a node in a distributed system?
- What is virtualization in a distributed system?
- What are threads in a distributed system?
- Which language is used in distributed systems?
- Why do we need distributed systems?
- Reputable online courses for advanced system design concepts and distributed architecture
Data structures and algorithms
The structures behind the problems. Interviewers ask about them directly and expect you to reach for the right one during a coding question.
- Why does my recursive function return None?
- What is a lexicographic order??
- Why do we check up to the square root of a number to determine if the number is prime?
- Is backtracking DFS or bfs?
- Why should hash functions use a prime number modulus?
- What is the difference between depth and height in a tree?
- What is the maximum recursion depth, and how to increase it?
- Is there any way to mix recursion and the yield statement?
- When Traversing a Tree/Graph what is the difference between Breadth First and Depth first?
- What are the tips for solving recursive problems efficiently?
- 12 Common Dynamic Programming Interview Questions
- What's the difference between the data structure Tree and Graph?
- What top recursion problems are asked in coding interviews?
- What is the Queue data structure?
- Which data structure is used for multithreading?
- What are the tips for solving backtracking problems in interviews?
- What is tail recursion?
Software engineering practice
How software gets built rather than how it runs: process, quality, and the terms used in code review and planning.
- What are the four principles of software engineering?
- What is Coe in software engineering?
- Which country is no 1 in software engineering?
- What is a code pad?
- What is the difference between a use case and a CASE study?
- What are the 4 software engineering activities?
- What is scrum vs Jira?
- Who is the father of software engineering?
- What is basic of testing?
- Which is the toughest job in software engineering?
- What is QC testing?
- What is a problem in software engineering?
- What is problem analysis in software engineering?
- What is an aptitude test in software engineering?
- What is Behaviour in software engineering?
- What are the challenges faced by software engineering?
- What is the difference between a sprint and a Scrum?
How to use this index
Read by section rather than end to end. If you are preparing for a specific role, start with the sections that match its stack and treat the rest as reference.
If several entries in a section are unfamiliar, that section is worth studying properly rather than reading answer by answer. Grokking the Coding Interview covers the problem patterns behind the algorithm questions, and Grokking System Design Fundamentals covers the distributed systems building blocks in order.
Frequently asked questions
How should I use this index before an interview?
Scan the section titles first. Any section where more than a few entries are unfamiliar is a gap worth closing before you start practicing problems.
Are these the questions interviewers actually ask?
These are the questions engineers search for, which overlaps heavily with what gets asked. Interviewers rarely ask a definition on its own, but they do expect you to use these terms correctly.
Do I need to know every topic here?
No. Match the sections to the role. A frontend interview will not test paging and thrashing, and a systems interview will not test JSX.
Related reading
What our users say
Matzuk
Algorithms can be daunting, but they're less so with the right guide. This course - https://www.designgurus.io/course/grokking-the-coding-interview, is a great starting point. It covers typical problems you might encounter in interviews.
Arijeet
Just completed the “Grokking the system design interview”. It's amazing and super informative. Have come across very few courses that are as good as this!
AHMET HANIF
Whoever put this together, you folks are life savers. Thank you :)
Access to 50+ courses
New content added monthly
Certificate of completion
$31.08
/month
Billed Annually
Recommended Course

Grokking the Coding Interview: Patterns for Coding Questions
191,028+ students
4.6
The 24 essential patterns behind every coding interview question. Available in Java, Python, JavaScript, C++, C#, and Go. The most comprehensive coding interview course with 543 lessons. A smarter alternative to grinding LeetCode.
View Course