Software Engineer Interview Questions
Every category — coding, system design, behavioral, OOP, domain depth — with sample questions, what interviewers actually evaluate, and how to answer each type.
0
Interview categories every SWE needs to prepare for
0
Blind 75 — the most-recommended LeetCode problem set for FAANG prep
0 hrs
Recommended daily prep time in the 6 weeks before a FAANG interview loop
0
Core behavioral stories that cover 90% of interview questions
All 6 interview categories — questions, signals, and how to answer
Coding / Data Structures & Algorithms
Difficulty: Medium–HardWhat's evaluated: Problem-solving process, edge case awareness, code quality, and ability to optimize. Interviewers care more about your thinking than the optimal solution immediately.
Sample questions
- →Given an array of integers, find two numbers that sum to a target (Two Sum).
- →Implement a Least Recently Used (LRU) cache.
- →Find the longest substring without repeating characters.
- →Design a data structure that supports O(1) insert, delete, and getRandom.
- →Given a binary tree, serialize and deserialize it.
How to answer
Think out loud from the start. State the brute force approach first, then optimize. Name the time and space complexity of every solution. Ask clarifying questions before writing code. Test with edge cases (empty input, single element, negatives) before declaring done.
System Design
Difficulty: Hard (Senior+)What's evaluated: Architectural thinking, trade-off awareness, scalability intuition, and communication. No single correct answer — interviewers evaluate how you reason about constraints.
Sample questions
- →Design a URL shortener (like bit.ly).
- →Design Twitter's feed ranking system.
- →Design a distributed rate limiter.
- →Design a notification system that sends 10M push notifications per day.
- →Design a real-time collaborative document editor (like Google Docs).
How to answer
Start with requirements clarification (scale, consistency requirements, latency targets). Sketch a high-level architecture first. Deep-dive on the hardest component. Proactively name the trade-offs you're making — CAP theorem, consistency vs. availability, read vs. write optimization. End by identifying bottlenecks and what you'd tackle next.
Behavioral / STAR
Difficulty: MediumWhat's evaluated: Culture fit, self-awareness, collaboration patterns, and how you handle conflict and failure. Every top company uses behavioral rounds — they just frame the questions differently.
Sample questions
- →Tell me about a time you disagreed with a technical decision your team made.
- →Describe a project where you had to deliver under significant time pressure.
- →Tell me about the most complex technical problem you've solved.
- →Give me an example of when you received critical feedback and how you responded.
- →Tell me about a time you had to work with someone difficult.
How to answer
Use STAR structure (Situation, Task, Action, Result) but lead with the result when the story is strong. Prepare 6-8 core stories that can flex across different question types. Each story should show: clear ownership, specific action you took, and a quantified or concrete result.
Coding Design / Object-Oriented Design
Difficulty: MediumWhat's evaluated: Code organization, abstraction, extensibility, and how you translate requirements to structure before writing implementation.
Sample questions
- →Design a parking lot system.
- →Design an elevator system for a 20-floor building.
- →Design a chess game (classes, interactions).
- →Design a library management system.
- →Design a ride-sharing app backend (Uber/Lyft).
How to answer
Identify the entities first (nouns in the requirements). Map relationships and responsibilities before any code. Apply SOLID principles — especially single responsibility and open/closed. Discuss trade-offs explicitly: composition vs. inheritance, interface vs. abstract class.
Domain Knowledge / Technical Depth
Difficulty: Varies by seniorityWhat's evaluated: Actual depth of knowledge in the role's domain — not surface familiarity. Senior engineers are expected to know why, not just what.
Sample questions
- →Explain the difference between process and thread. When would you use each?
- →How does a database index work? What are the trade-offs of over-indexing?
- →Explain eventual consistency vs. strong consistency. Give a real use case for each.
- →What happens when you type a URL into a browser?
- →Explain how TCP/IP works and when you'd choose UDP instead.
How to answer
Go deep, not broad. Start with the mechanism, then explain the trade-offs, then give a real-world example. Acknowledge what you don't know rather than speculating — interviewers respect 'I don't know this deeply enough to be confident' far more than an incorrect confident answer.
Culture and Role Fit
Difficulty: Easy–MediumWhat's evaluated: Whether you've researched the company, your genuine motivation for the role, and how you'd contribute beyond technical skills.
Sample questions
- →Why do you want to work at [Company]?
- →What do you find most technically interesting about our product?
- →Where do you want to be in 3 years?
- →What do you look for in an engineering team?
- →What kind of problems do you find most engaging?
How to answer
Specificity wins. 'I use your product and find the infrastructure challenges interesting' beats 'I've heard great things about your culture.' Research the team's tech blog, recent engineering launches, and specific technical bets the company is making. Connect your specific background to what they're actually building.
How interview focus differs by company
Google / Alphabet
Algorithmic depth — LeetCode hard is normal. Strong emphasis on scalability in system design. Behavioral rounds assess Googleyness (collaborative, humble, data-driven).
Meta
Fast iteration and product thinking alongside technical depth. System design at scale with emphasis on real-time systems. Behavioral probes for impact and directness.
Amazon
Leadership Principles are central — every behavioral question maps to an LP. System design is heavy. Bar Raiser round evaluates whether you raise the overall bar.
Apple
Domain expertise over algorithmic breadth. Design quality and cross-functional thinking matter. Less LP-framework, more craft-oriented behavioral questions.
Microsoft
Problem-solving breadth across product areas. Azure infrastructure common in system design. Behavioral less rigid than Amazon — more conversational culture fit.
Startups (Series A–C)
Less algorithmic, more practical. May include take-home projects. Cultural fit and velocity matter more than system design theory. Often test on the specific stack.
Common questions
How many LeetCode problems do I need to solve to pass a FAANG coding interview?
Quality over quantity. 100-150 problems across key patterns (sliding window, two pointers, BFS/DFS, dynamic programming, graphs, trees) is more effective than grinding 400+ randomly. Focus on understanding the pattern each problem teaches rather than memorizing solutions. Practice explaining your thinking out loud — the process matters as much as the answer. For LeetCode specifically: complete the Blind 75 list, then add company-tagged problems for your target companies.
What's the most important thing to practice for a system design interview?
Practicing the communication structure, not memorizing architectures. Most candidates who fail system design do so because they jump to components before establishing requirements, or propose solutions without naming trade-offs. Practice this loop: clarify requirements → estimate scale → high-level architecture → deep-dive one component → identify bottlenecks → discuss what you'd do next. A well-communicated average design beats a well-designed poorly communicated one.
How do I prepare for behavioral interviews as a software engineer?
Write down 6-8 stories from your career that demonstrate different situations: a technical decision you disagreed with, a project you led that had setbacks, feedback you received and acted on, a time you went beyond your scope, and your most impactful technical contribution. Practice each story out loud until it's under 2 minutes and leads with the result. Then map each story to the behavioral questions asked most frequently by your target company — you'll find that 6 good stories cover 90% of behavioral questions.
Ready to practice with real feedback? Try Zari.
Zari simulates software engineer interviews with live feedback — behavioral STAR coaching, system design walkthroughs, and coding problem explanations tailored to your target company and level.
Try Zari free