Tech · 15 questions

Software Engineer Interview Questions 2025

Top software engineer interview questions for 2025 — technical, behavioral, and system design. Real questions from Google, Amazon, Microsoft, Flipkart, and more.

8Technical questions
4Behavioral questions
3Situational questions

💻Technical Questions

Q1Explain the difference between a process and a thread.
💡Cover memory sharing, context switching overhead, and when to prefer one over the other.
Q2What is the time complexity of HashMap get() and put()?
💡O(1) average, O(n) worst-case due to hash collisions. Mention Java 8's tree bins for O(log n) worst case.
Q3Design a URL shortener like bit.ly. What are the key design decisions?
💡Cover: base62 encoding, hash collisions, DB schema (long URL ↔ short code), caching hot URLs, rate limiting, analytics.
Q4What is the difference between SQL and NoSQL databases? When would you choose each?
💡ACID vs BASE, schema flexibility, horizontal vs vertical scaling, use cases (relational data vs documents vs time-series).
Q5Explain the CAP theorem.
💡Consistency, Availability, Partition Tolerance — pick 2. Real-world examples: Cassandra (AP), PostgreSQL (CP), Zookeeper (CP).
Q6How does garbage collection work in Java/Python?
💡Generational GC (Young/Old gen), mark-and-sweep, reference counting in Python, and how to avoid memory leaks.
Q7What is a deadlock? How do you prevent it?
💡Four Coffman conditions. Prevention strategies: lock ordering, timeout, banker's algorithm. Mention tools to detect deadlocks.
Q8Implement LRU Cache from scratch.
💡HashMap + DoublyLinkedList. O(1) get and put. Walk through the data structure before coding.

🧠Behavioral Questions

B1Tell me about a time you disagreed with a technical decision. What did you do?
💡Use STAR. Show data-driven reasoning, respectful communication, and willingness to commit even if overruled.
B2Describe the most complex technical problem you've solved.
💡Explain the problem clearly first (don't assume context). Then walk through your debugging/design process, not just the solution.
B3Tell me about a time you had to learn a new technology quickly.
💡Focus on your learning approach, resources used, and what you delivered. Quantify the timeline.
B4How do you handle technical debt in your projects?
💡Show balance: you deliver features AND advocate for refactoring. Mention concrete examples of tech debt you've addressed.

🎯Situational Questions

S1Your service is experiencing 10x traffic spike. Walk me through how you'd handle it.
💡Triage first (is it real traffic or an attack?), then: auto-scaling, load balancer config, caching, DB read replicas, graceful degradation.
S2You find a critical security vulnerability in production. What do you do?
💡Assess severity, notify security/engineering leads, patch vs mitigate immediately, communicate to stakeholders, post-mortem.
S3A senior engineer's PR has significant architectural issues. How do you approach the review?
💡Start with questions not accusations. Propose alternatives with clear tradeoffs. Escalate constructively if needed.

Must-Know Topics

  • Data Structures & Algorithms (Arrays, Trees, Graphs, DP)
  • System Design (Scaling, Caching, CDN, Databases)
  • OOP Principles (SOLID)
  • OS Concepts (Threads, Processes, Memory)
  • Networking (HTTP, TCP/IP, DNS)
  • SQL (Joins, Indexes, Transactions)
  • REST API Design
  • Git & Code Review

Common Interview Mistakes to Avoid

  • Jumping into code before clarifying the problem
  • Ignoring edge cases (null, empty, duplicates, overflow)
  • Not communicating thought process during live coding
  • Skipping time/space complexity analysis
  • Over-engineering system design for a startup scenario

Frequently Asked Questions

How many LeetCode problems should I solve before a software engineer interview?
Quality over quantity. Solving 80–100 problems deeply (understanding patterns, not memorizing) beats 300+ surface-level solutions. Focus on: sliding window, two pointers, BFS/DFS, DP, and heaps.
Do Google and Amazon ask the same types of questions?
Google focuses more on algorithms and system design. Amazon uses their Leadership Principles heavily in behavioral rounds. Microsoft is middle-ground. Flipkart/Paytm/Meesho test DSA + HLD but are generally less rigorous on algorithms than FAANG.
How long should I prepare for a software engineer interview at a top company?
2–3 months of consistent preparation (1–2 hours/day) is realistic for mid-level roles. For senior roles at Google/Meta, 3–4 months with deep focus on system design is typical.
Is system design asked in entry-level software engineer interviews?
At most companies, system design is introduced at 2+ years of experience (SDE-2 level). Entry-level interviews focus on DSA and coding. However, some startups ask high-level design even for juniors.
What programming language should I use in coding interviews?
Python is ideal for interviews — concise syntax, built-in data structures, and fast to write. Java and C++ are also common. Use the language you're most fluent in; interviewers care about logic, not language choice.

Ready for your Software Engineer interview?

Make sure your resume gets you to the interview stage first. Get a free ATS score.

Score My Resume Free →