Junior developer interviews in 2026 rarely start with hard dynamic programming. They start with JavaScript fundamentals, React concepts, a practical coding exercise, and behavioral questions about your projects. This guide lists 50 questions you're most likely to face — with concise answers and how to practice them with AI feedback.
50
questions across JS, React, Python, SQL, behavioral
60%
of juniors fail phone screens on fundamentals first
90s
target length for 'Tell me about yourself'
Daily
practice beats cramming — build fluency, not memorization
💡 Tip
JavaScript (Questions 1–15)
1. What is the difference between let, const, and var?
var is function-scoped and hoisted; let and const are block-scoped. const cannot be reassigned (though object properties can change). Prefer const by default, let when reassignment is needed, avoid var in modern code.
2. Explain == vs ===
== performs type coercion before comparison (e.g. '5' == 5 is true). === compares without coercion — same type and value required. Use === almost always to avoid subtle bugs.
3. What is a closure?
A function that retains access to variables from its outer lexical scope even after the outer function has returned. Used for encapsulation, factories, and callbacks.
4. What is the event loop?
JavaScript is single-threaded. The event loop checks the call stack and task queues (microtasks like Promises, then macrotasks like setTimeout), moving callbacks to the stack when idle. Explains async behavior in browsers and Node.
5. Promise vs async/await?
Both handle async work. async/await is syntactic sugar over Promises — cleaner sequential code. await pauses within an async function until the Promise settles; errors use try/catch.
6. What is hoisting?
Declarations (var, function declarations) are moved to the top of their scope during compilation. let/const are hoisted but in the temporal dead zone until initialized.
7. map vs forEach vs filter vs reduce?
forEach iterates with no return. map returns a new array of transformed values. filter returns elements passing a test. reduce accumulates to a single value.
8. What is destructuring?
Syntax to unpack values from arrays or properties from objects into variables: const { name, age } = user; const [first, ...rest] = arr;
9. Explain this in JavaScript
this depends on how a function is called — not where it's defined. In methods, this is the object. Arrow functions inherit this from enclosing scope. bind/call/apply set this explicitly.
10. What are truthy and falsy values?
Falsy: false, 0, '', null, undefined, NaN. Everything else is truthy. Important for conditional shortcuts and default values.
11. How do you handle errors in async code?
try/catch with async/await, or .catch() on Promises. Always handle rejections — unhandled promise rejections crash Node and log errors in browsers.
12. What is the spread operator?
... copies iterables: [...arr], { ...obj }. Used for cloning, merging objects, and passing array elements as function arguments.
13. Explain prototypal inheritance
Objects can inherit from other objects via the prototype chain. Object.create or class extends (syntactic sugar) build on this model.
14. What is CORS?
Cross-Origin Resource Sharing — browser security blocking requests from one origin to another unless the server sends allowed-origin headers. Common frontend/backend interview topic.
15. Reverse a string without using reverse()
Loop from end to start building a new string, or split/reverse/join. Interviewers want clear logic and edge cases (empty string).
React (Questions 16–25)
16. What is a React component?
A reusable UI unit — function (modern) or class (legacy) — that returns JSX describing what to render based on props and state.
17. Props vs state?
Props are read-only inputs from parent. State is internal mutable data managed by the component (useState). State changes trigger re-renders.
18. What are React hooks?
Functions like useState, useEffect, useContext that let function components use state and lifecycle features. Rules: only call at top level, only in React functions.
19. What does useEffect do?
Runs side effects after render — fetching data, subscriptions, DOM updates. Dependency array controls when it re-runs; cleanup function runs on unmount or before re-run.
20. What is virtual DOM?
Lightweight JS representation of UI. React diffs virtual DOM trees and batches minimal real DOM updates for performance.
21. Controlled vs uncontrolled components?
Controlled: form input value driven by React state. Uncontrolled: DOM holds value; use refs to read. Controlled is preferred for validation and predictability.
22. What is lifting state up?
Moving shared state to the closest common ancestor so sibling components stay in sync via props and callbacks.
23. Keys in lists — why do they matter?
Keys help React identify which items changed. Stable unique keys (ids, not array index for dynamic lists) prevent bugs and unnecessary re-renders.
24. useMemo vs useCallback?
useMemo caches computed values. useCallback caches function references. Both optimize child re-renders when dependencies haven't changed — don't overuse prematurely.
25. How do you fetch data in React?
useEffect + fetch/axios with loading/error state, or modern libraries (React Query, SWR). Mention abort controllers for cleanup on unmount.
Python & Backend (Questions 26–35)
26. List vs tuple in Python?
Lists are mutable; tuples are immutable and often used for fixed collections and dict keys. Tuples can be slightly more memory-efficient.
27. What is a REST API?
Architectural style using HTTP methods on resources: GET read, POST create, PUT/PATCH update, DELETE remove. Stateless, JSON payloads common.
28. GET vs POST?
GET retrieves data, should be idempotent and cacheable. POST submits data, often creates resources, not idempotent.
29. What is an ORM?
Object-Relational Mapper — maps database tables to code objects (Django ORM, SQLAlchemy). Trade-off: productivity vs. complex query control.
30. Explain MVC (or MVT in Django)
Separation of concerns: Model (data), View (logic/presentation), Controller/Template (routing/UI). Keeps code maintainable.
31. What is authentication vs authorization?
Authentication verifies identity (login). Authorization checks permissions (can this user delete this record?).
32. What is a middleware?
Code that runs between request and response — logging, auth, CORS. Express and Django both use middleware patterns.
33. What is environment variable usage?
Store secrets and config (API keys, DB URLs) outside code. Load via .env in development; platform secrets in production. Never commit secrets.
34. What is pagination?
Splitting large result sets into pages (limit/offset or cursor-based) to reduce load and improve API performance.
35. How would you design a simple URL shortener?
Discuss hash/id generation, redirect endpoint, storage (DB), collision handling, and analytics — shows system thinking at junior level.
SQL & Data (Questions 36–40)
36. What is a JOIN?
Combines rows from tables. INNER returns matches only; LEFT keeps all left rows; RIGHT/ FULL vary. Know ON vs WHERE with joins.
37. Primary key vs foreign key?
Primary key uniquely identifies a row. Foreign key references another table's primary key — enforces relational integrity.
38. What is an index?
Data structure speeding up queries at cost of write overhead and storage. Use on columns frequently filtered or joined.
39. SELECT vs SELECT DISTINCT?
DISTINCT removes duplicate rows from results. Useful when counting unique users vs total events.
40. What is normalization?
Organizing data to reduce redundancy — separate entities into tables linked by keys. Balance with denormalization for read performance.
Behavioral & General (Questions 41–50)
41. Tell me about yourself
90-second pitch: current role/background → relevant projects/stack → why this company/role. End with enthusiasm, not life story.
42. Walk me through a project you're proud of
Problem → your approach → tech stack → outcome/metrics → what you'd improve. Keep it technical and concise.
43. Describe a bug you fixed
Use STAR: Situation, Task, Action, Result. Emphasize debugging process (logs, reproduce, test) not just 'I fixed it.'
44. How do you learn new technologies?
Concrete example: docs, small spike project, shipping feature. Shows growth mindset employers want in juniors.
45. Why do you want to work here?
Reference specific product, engineering blog, stack, or mission — proves research. Never generic praise.
46. What's your biggest weakness?
Pick a real area with mitigation: 'I used to skip tests; now I write unit tests first on new features.' Avoid humble-brags.
47. Where do you see yourself in 3 years?
Align with role growth: deeper full-stack skills, owning features, mentoring — not 'your CEO job.'
48. Do you have questions for us?
Always yes: team structure, onboarding, code review culture, what success looks like in 90 days. Shows seriousness.
49. How do you handle conflicting priorities?
Communicate early, clarify deadlines with manager, ship MVP first. Juniors should show collaboration, not heroics.
50. Why should we hire you as a junior?
Tie together: shipped projects, fast learning, stack match, culture fit. One proof point beats ten adjectives.
How to Practice These Questions
Don't memorize scripts — build fluency. Pick 5 questions daily, answer out loud in under 2 minutes each, and review weak areas. Pair technical prep with application quality: first job roadmap, HackTheHire vs LeetCode, and best prep apps ranking.
Frequently Asked Questions
Do junior interviews include LeetCode Hard problems?+
Usually no. Most junior screens use easy-medium array/string problems or take-home apps. Hard DP is more common at senior and FAANG levels.
How many of these 50 should I master?+
All fundamentals sections (JS, React, one backend stack) at conversational depth. Behavioral answers should be rehearsed but sound natural.
Should I learn Python or JavaScript for interviews first?+
Match your target jobs. Web junior roles: JavaScript + React. Backend/Python roles: Python + SQL + REST.
Can HackTheHire help practice these?+
Yes — daily sessions cover fundamentals, framework questions, and behavioral prompts with streaks and feedback designed for developers.
Practice All 50 — Daily, on Your Phone
HackTheHire turns interview questions into a daily habit with XP, streaks, and AI feedback built for developers.
Download on the App Store — Free