Software Engineer Interview Questions:25+ Questions with Scoring Rubrics
A structured question bank across coding, system design, behavioral, and culture categories. Each question includes what to listen for, scoring guidance, and follow-ups. Built for hiring managers who want to stop winging it.
Here is the problem with most engineering interviews: they are inconsistent. Different interviewers ask different questions. They evaluate on vibes. Two people interview the same candidate and reach opposite conclusions. The result? Unpredictable hiring and a lot of missed talent.
According to SHRM research, companies using structured interviews see 81% better prediction of job performance compared to unstructured ones. For engineering roles specifically, where the cost of a bad hire can run $150K+ in lost productivity, that gap matters.
The Bureau of Labor Statistics projects software developer employment to grow 25% through 2032. Competition for engineers is not slowing down. Your interview process is either a competitive advantage or a liability.
This guide gives you 25+ questions organized by category, a recommended 4-stage interview pipeline, and a scoring rubric you can use tomorrow. Adapt it to your team. Throw out questions that don't fit. But use a system.
The Process
A 4-stage interview pipeline that actually works
Most teams either over-engineer their process (7 rounds, 3 weeks) or under-engineer it (one vibes-based chat). Both fail. The sweet spot is four stages, completed in under two weeks. Here is the breakdown we recommend after watching hundreds of engineering hires at Prepzo:
AI Screen
Async
Automated coding + culture screen
Tech Phone Screen
45 min
Live coding with engineer
Onsite Loop
3-4 hrs
System design, coding, behavioral
Team Fit
30 min
Values alignment, Q&A
Stage 1: AI Screen (async). An AI-powered interview handles the initial filter. Candidates complete a 20-30 minute async screen covering basic technical knowledge and communication skills. This eliminates 60-70% of unqualified applicants without burning engineer time. In 2026, roughly 43% of US companies use some form of AI-assisted screening in technical hiring, per SHRM's annual talent acquisition survey.
Stage 2: Technical phone screen (45 min). A live coding session with one engineer. Share a screen, pick a medium-difficulty problem, and watch them work. You are evaluating thought process more than output. Can they break a problem down? Do they ask clarifying questions? How do they handle getting stuck?
Stage 3: Onsite loop (3-4 hours). Three sessions: one system design (senior+), one coding deep-dive, one behavioral interview. Different interviewers for each. This is where you get signal on depth.
Stage 4: Team fit (30 min). A casual conversation with 1-2 future teammates. Not an evaluation per se, more a mutual check. Do they want to work with us? Do we want to work with them? This also sells the role, and selling matters in a market where strong engineers hold multiple offers.
For the full step-by-step, see our hiring process guide.
Evaluation Framework
Scoring rubric: 1-4 scale
Every interviewer on your team should use the same scale. Four points, not five. A 4-point scale forces a decision. There is no comfortable middle. You either lean yes or lean no.
Use an interview scorecard to capture scores immediately after each session. Memory decays fast. If you wait until the debrief, you are reconstructing, not reporting.
- Cannot explain basic concepts
- No structured thinking
- Poor communication
- Partial understanding
- Needs heavy hints
- Weak follow-through
- Solid fundamentals
- Reasonable trade-offs
- Clear communication
- Deep expertise shown
- Anticipates edge cases
- Teaches while answering
The goal is not perfect scores. A candidate who scores 3 across the board is usually a better hire than one who scores 4 in coding but 1 in communication. Engineering is a team sport. Weight your rubric accordingly.
Technical
Data structures, algorithms, and APIs
Technical questions test core engineering knowledge. Focus on understanding, not memorization. A candidate who reasons through an unfamiliar problem is worth more than one who has memorized every LeetCode solution.
1. What is the difference between a stack and a queue?
A stack is LIFO (last in, first out) like a stack of plates. A queue is FIFO (first in, first out) like a line at a store. Use stacks for undo operations, recursion, and parsing. Use queues for scheduling, breadth-first search, and handling requests in order.
Follow-up
- How would you implement a queue using two stacks?
- What's the time complexity of operations on each?
2. Explain the difference between SQL and NoSQL databases.
SQL databases are relational, with structured tables and defined schemas. Great for complex queries and transactions. NoSQL databases are flexible: document, key-value, or graph-based. Better for unstructured data and horizontal scaling. The right answer is almost always "it depends on the use case."
Follow-up
- When would you choose MongoDB over PostgreSQL?
- What are the CAP theorem trade-offs?
3. What happens when you type a URL into your browser?
DNS lookup finds the IP address. Browser opens a TCP connection (TLS for HTTPS). Sends HTTP request. Server processes and returns a response. Browser parses HTML, fetches resources, builds DOM, applies CSS, executes JavaScript, renders the page. This question exposes how deeply someone understands the web stack.
Follow-up
- How does caching affect this flow?
- What role do CDNs play?
4. How do you optimize a slow database query?
Start with EXPLAIN to see the execution plan. Check for missing indexes on WHERE and JOIN columns. Look for N+1 queries. Consider denormalization for read-heavy tables. Add caching for frequently accessed data. The best candidates talk about measuring before optimizing.
Follow-up
- When can indexes hurt performance?
5. Explain RESTful API design principles.
REST uses HTTP methods semantically: GET (read), POST (create), PUT/PATCH (update), DELETE (remove). URLs represent resources (/users/123). Stateless requests. Proper status codes. Versioning for backwards compatibility. Good candidates will also mention pagination, rate limiting, and error response conventions.
Follow-up
- What's the difference between PUT and PATCH?
- When would you use GraphQL instead of REST?
6. What is Big O notation and why does it matter?
Big O describes how an algorithm scales with input size. O(1) is constant. O(n) is linear. O(log n) is logarithmic. O(n²) is quadratic. It matters because a function that works fine on 100 records might crash your server at 10 million. You want candidates who think about scale instinctively.
Follow-up
- What's the complexity of quicksort in the average and worst case?
7. How do you handle concurrency in a multi-threaded application?
Locks, mutexes, and semaphores prevent race conditions. Atomic operations handle simple cases. Message queues decouple producers from consumers. The best engineers avoid shared mutable state entirely when possible. This question separates mid-level from senior candidates quickly.
Follow-up
- What is a deadlock and how do you prevent one?
8. Explain the difference between authentication and authorization.
Authentication verifies identity (who are you?). Authorization verifies permissions (what can you do?). JWT tokens, OAuth 2.0, and session cookies handle auth. RBAC and ABAC handle authorization. Conflating these two is a common source of security bugs.
Follow-up
- Walk me through an OAuth 2.0 flow.
System Design
Architecture and scalability
System design questions reveal how candidates think about trade-offs, scale, and real-world constraints. These are mostly for senior roles (3+ years). Evaluate the thinking process, not the final diagram. A candidate who asks good clarifying questions is already ahead of one who dives into boxes and arrows.
9. How would you design a URL shortening service?
Generate unique short codes (base62 encoding or random string with collision check). Store the mapping in a database. Redirect by looking up the full URL. Scale with read replicas and caching since URLs rarely change. Consider analytics, expiration, and abuse prevention.
Follow-up
- How do you handle 1 billion URLs?
- What happens if two users shorten the same URL?
10. Design a rate limiter.
Token bucket or sliding window algorithm. Track requests per user/IP in Redis with TTL. Return 429 when the limit is exceeded. Consider: per-endpoint limits, burst allowance, distributed counting, and graceful degradation.
Follow-up
- How do you rate limit across multiple servers?
11. How would you design a real-time chat application?
WebSockets for real-time bidirectional communication. Message queue for delivery guarantees. Database for persistence. Presence service for online status. Push notifications for offline users. Good candidates distinguish between 1:1 chat and group chat at the architecture level.
Follow-up
- How do you ensure messages arrive in order?
12. Design a notification system for a mobile app.
Event-driven architecture. Notification service consumes events from a queue. Templates for each channel (push, email, SMS, in-app). User preference store for opt-ins. Rate limiting to prevent notification fatigue. Delivery tracking and retry logic for failures.
Follow-up
- How do you handle a user who has 50 unread notifications?
13. How would you design a social media feed?
Two approaches: Push (fan-out on write) precomputes feeds when posts are created. Pull (fan-out on read) computes the feed on request. Hybrid works best: push for most users, pull for celebrities. This question tests whether candidates think about real-world data distribution.
Follow-up
- How do you handle users with millions of followers?
Let AI run your first-round screens
Prepzo asks consistent questions, scores against your rubric, and works around the clock. Your engineers focus on final rounds only.
Try Prepzo freeBehavioral
Past experiences and decisions
Behavioral questions reveal how candidates have handled real situations. Look for specific examples, not hypotheticals. The best predictor of future behavior is past behavior in similar contexts. Push for details when answers stay vague. For a deeper bank, see our 60 behavioral interview questions guide.
14. Tell me about a time you disagreed with a technical decision.
Look for: Did they voice concerns respectfully? Did they gather data to support their position? Could they commit once a decision was made? Red flag if they can't give an example or just blame others.
Follow-up
- What was the outcome?
- Would you handle it differently now?
15. Describe a time you had to learn something new under pressure.
Look for: Structured approach to learning. Resourcefulness. Did they apply the knowledge practically or just read docs? Self-awareness about their gaps.
Follow-up
- What resources do you reach for first?
16. Tell me about a mistake you made in production.
Look for: Ownership without deflection. Quick action to mitigate impact. Clear communication with stakeholders. Systemic fixes to prevent recurrence. Everyone breaks prod at some point. The question is how they handled it.
Follow-up
- What did you do in the first 10 minutes?
- What systemic change came out of it?
17. How do you handle competing priorities when everything is urgent?
Look for: A framework for prioritization (impact vs. effort, reversibility). Communication with stakeholders about tradeoffs. Willingness to push back. Ability to delegate or ask for help rather than just working longer hours.
Follow-up
- Walk me through a specific week where this happened.
18. Tell me about a project where the requirements changed mid-sprint.
Look for: Adaptability without resentment. Did they renegotiate scope or just silently absorb? How did they communicate the impact to the team and stakeholders? Engineers who handle ambiguity well are worth their weight in gold at startups.
Follow-up
- What did you cut and why?
Culture Fit
Values and working style
Culture questions assess alignment with your team's working style. There are no wrong answers, but mismatches predict unhappiness and turnover. Listen for self-awareness. The candidate who says "I prefer clear specs" is being honest, not weak. Hire for fit, not for telling you what you want to hear.
19. What kind of projects excite you most?
Use this to assess alignment with your actual work. No wrong answer, but a mismatch predicts unhappiness. A backend engineer who lights up talking about distributed systems will not thrive on a CSS-heavy frontend team.
Follow-up
- How do you handle projects that don't excite you?
20. How do you balance quality with shipping speed?
Look for: Context-dependent thinking. Understanding that "it depends" on stakes and reversibility. Recognition that shipping something imperfect beats shipping nothing. But also, an unwillingness to ship things that are broken.
Follow-up
- Give me an example where you deliberately chose speed over polish.
21. How do you approach code reviews?
Look for: Balance of thoroughness and respect. Focus on important issues over style nitpicks. Teaching mindset. Openness to receiving feedback too, not just giving it.
Follow-up
- What is the first thing you look for in a PR?
22. Tell me about mentoring someone junior.
Look for: Investment in others' growth. Patience. Adapted teaching approach based on the person. Specific examples, not platitudes. Senior engineers who cannot mentor effectively create bottlenecks.
Follow-up
- What was the hardest part?
23. What is your relationship with AI coding tools?
This is a 2026-specific question. You want to know if candidates use AI assistants effectively without becoming dependent on them. The best engineers use Copilot, Cursor, or similar tools to move faster but still understand every line they ship.
Follow-up
- When do you not use AI tools?
- How do you validate AI-generated code?
24. Describe your ideal on-call rotation.
This surfaces expectations about work-life boundaries. Some engineers genuinely do not mind being on-call. Others will burn out in three months. Neither is wrong, but the mismatch kills retention.
Follow-up
- What was your worst on-call experience?
25. What would you change about your last team's engineering culture?
This tells you what they value. If they complain about too many meetings, they want deep focus time. If they complain about silos, they want collaboration. Match their answer against your actual culture. Honesty here is a green flag.
Follow-up
- Did you try to change it? What happened?
Watch Out
6 interviewing mistakes that cost you engineers
I have watched hiring managers make the same errors for years. These are the ones that hurt the most.
Hiring too slowly
Top engineers get 3-5 offers. If your loop takes 4 weeks, you lose them.
No scoring criteria
Without a rubric, interviewers default to gut feeling and pattern matching.
Trick questions
Brainteasers test puzzle ability, not engineering skill. Google dropped them years ago.
Skipping structured format
Unstructured interviews predict job performance at roughly the same rate as a coin flip.
Over-indexing on algorithms
LeetCode performance barely correlates with day-to-day engineering output.
No debrief calibration
Interviewers who don't discuss criteria beforehand anchor on different signals.
The research backs this up. A 2024 NBER study found that structured interviews with predefined criteria predicted job performance 2x better than unstructured conversations. Google published similar findings internally and moved their entire hiring process to structured interviews over a decade ago.
The fix is not complicated. Write your rubric before the interview. Share it with every interviewer. Score immediately after. Debrief as a group. That is the whole system.
2026 Trend
AI-assisted screening is the new default
The hiring world shifted fast. According to SHRM's 2025 Talent Acquisition report, 43% of companies now use AI somewhere in their technical interview process. That number was 18% in 2023. The growth is driven by two things: engineer time is expensive, and initial screens are repetitive.
AI interviews handle the first stage of your pipeline. They ask consistent questions, score against a rubric, and do not get tired at 5 PM on a Friday. Your human interviewers focus on the later rounds where judgment, nuance, and culture assessment matter most.
This is not about replacing human judgment. It is about not wasting it on candidates who cannot fizzbuzz. A well-calibrated AI screen saves each engineer on your team 5-8 hours per week during active hiring periods.
The companies that figure this out first will win the talent war. The ones that insist every candidate needs six hours of human time before getting a decision will keep losing engineers to faster-moving competitors.
Common Questions
FAQ
How many technical questions should I ask in a software engineer interview?
Ask 2-3 technical questions in a 45-60 minute interview. One coding problem, one system design question (for senior roles), and one debugging or architecture discussion gives a well-rounded assessment.
Should I use whiteboard coding in interviews?
Whiteboard coding is falling out of favor. Take-home assignments or live coding in an IDE better simulate real work. If you do use a whiteboard, focus on problem-solving approach rather than syntax perfection.
How do I assess system design skills?
Give an open-ended design problem (e.g., 'Design a URL shortener'). Evaluate how candidates clarify requirements, make trade-offs, estimate scale, and communicate their thinking process.
What's the best interview format for software engineers?
A 4-stage process works well: AI screening (async), technical phone screen (45 min), onsite or virtual loop (3-4 hours covering coding, system design, and behavioral), and team fit conversation.
How do I reduce bias in technical interviews?
Use structured scorecards, ask the same questions to all candidates, evaluate against pre-defined criteria, and have multiple interviewers. Blind resume reviews and diverse interview panels also help.
How long should the full interview process take?
Two weeks from first screen to offer. The Bureau of Labor Statistics reports 1.4 million unfilled software roles in the US alone. Dragging the process past three weeks costs you candidates.
Screen engineers faster with AI interviews
Prepzo asks consistent questions, scores with your rubric, and works 24/7. Start free with 3 active jobs.
Start hiringAbout the Author
