Intern to senior · Frontend, backend, full stack
Software Engineer Interview Questions and Answers
Real questions candidates type into Google, with short answers you can say out loud and a longer explanation with code. Browse by technology, role or experience level, or download the whole set as a PDF.
Browse by technology
JavaScript
JavaScript interview questions and answers from beginner to senior: var vs let vs const, closures, hoisting, this, the event loop, promises, async/await, prototypes and more, with code examples.
13 questionsReact
React interview questions and answers from beginner to senior: virtual DOM, props vs state, hooks, useEffect, keys, useMemo vs useCallback, re-rendering, SSR vs CSR and performance optimization.
12 questionsHTML & CSS
HTML and CSS interview questions and answers from beginner to senior: semantic HTML, the box model, Flexbox vs Grid, positioning, specificity, rem vs em, responsive design, the critical rendering path and Core Web Vitals.
12 questionsTypeScript
TypeScript interview questions and answers from beginner to senior: interface vs type, any vs unknown, generics, union types, utility types, type narrowing, enums vs unions, mapped types and inference.
10 questionsSQL
SQL interview questions and answers from beginner to senior: joins, WHERE vs HAVING, DELETE vs TRUNCATE, indexes, normalization, ACID, second highest salary, duplicate rows, isolation levels and query optimization.
13 questionsC#
C# and .NET interview questions and answers from beginner to senior: value vs reference types, string vs StringBuilder, const vs readonly, abstract class vs interface, LINQ, IEnumerable vs IQueryable, dependency injection, async/await and garbage collection.
12 questionsJava
Java interview questions and answers from beginner to senior: JDK vs JRE vs JVM, equals vs ==, String vs StringBuilder, abstract class vs interface, ArrayList vs LinkedList, how HashMap works, exceptions, Java 8 streams, JVM memory and multithreading.
12 questionsPython
Python interview questions and answers from beginner to senior: list vs tuple, is vs ==, *args and **kwargs, decorators, generators, shallow vs deep copy, mutable default arguments, the GIL, memory management, and threading vs multiprocessing vs asyncio.
11 questionsNode.js
Node.js interview questions and answers from beginner to senior: single-threaded event loop, require vs import, Express middleware, process.nextTick vs setImmediate, streams, error handling, JWT vs sessions, API security and scaling.
9 questionsSystem Design
System design interview questions and answers: horizontal vs vertical scaling, load balancing, caching, SQL vs NoSQL, CAP theorem, sharding vs replication, rate limiting, REST idempotency, microservices vs monolith and how to design a URL shortener.
11 questionsBrowse by role
Frontend
Frontend interviews combine language fundamentals (closures, the event loop, async code) with framework knowledge and an understanding of how the browser renders and updates the page.
Backend
Backend interviews test how you store, process and serve data reliably: language fundamentals, SQL and indexing, concurrency, API design and how systems behave under load.
Full Stack
Full stack interviews sample both sides: a question about React state, then one about SQL indexes or API design. Interviewers look for breadth plus a few areas where you go deep.
Browse by experience level
Intern and Fresher Developer Interview Questions and Answers
Intern and fresher interviews test whether you understand the fundamentals and can explain them clearly. Interviewers rarely expect production experience; they want to hear that you know what a concept is, why it exists and can write a short example.
Junior Developer Interview Questions and Answers
Junior interviews move from definitions to application. Expect to be asked how you would use a feature in real code, what goes wrong when you misuse it and how you would debug it.
Mid-Level Developer Interview Questions and Answers
Mid-level interviews focus on trade-offs and ownership. Interviewers want to see that you have hit real problems such as slow queries, race conditions or re-render storms, and know how to reason your way through them.
Senior Software Engineer Interview Questions and Answers
Senior interviews are less about the right answer and more about how you decide. Expect open-ended questions where you must state assumptions, compare options, name the costs of each and explain what you would measure.
People also ask
- What is the difference between var, let and const in JavaScript?
var is function-scoped and can be redeclared; let and const are block-scoped, and const cannot be reassigned after it is set.
- What is the virtual DOM in React and how does it work?
The virtual DOM is a lightweight JavaScript copy of the UI that React compares with the previous version after each update, so it only changes the parts of the real DOM that actually differ.
- What are semantic HTML elements and why do they matter?
Semantic elements describe their meaning in the name, such as header, nav, main, article and footer, so browsers, assistive technology and search engines can understand the page structure.
- What is TypeScript and why do we use it?
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It catches type errors in the editor and at build time, and it documents the shape of data for the next person who reads the code.
- What is the difference between INNER JOIN and LEFT JOIN in SQL?
INNER JOIN returns only rows that have a match in both tables, while LEFT JOIN returns every row from the left table and fills the right table's columns with NULL when there is no match.
- What is the difference between a value type and a reference type in C#?
A value type variable holds its data directly and is copied on assignment, while a reference type variable holds a reference to an object, so assignment copies the reference and both variables see the same object.
- What is the difference between JDK, JRE and JVM in Java?
The JVM runs Java bytecode, the JRE is the JVM plus the standard libraries needed to run Java programs, and the JDK is the JRE plus the development tools such as the compiler (javac).
- What is the difference between a list and a tuple in Python?
A list is mutable and can be changed after creation, while a tuple is immutable; tuples are slightly faster, use less memory and can be used as dictionary keys when their items are hashable.
Every question is a separate page so search engines can match the exact wording candidates use, such as “what is a closure in JavaScript” or “difference between INNER JOIN and LEFT JOIN”.