Senior Developer Interview Questions With a Mock Scorecard

Practice senior developer interview questions with concise answer outlines, a four week prep plan, interviewer signals, and a rubric to score mock interviews.
Hand-drawn developer interview title card

This page gives experienced developers a practice-first set of senior developer interview questions across coding, system design, project experience, leadership and role-specific topics. Each group comes with short answer outlines and notes on what interviewers mark as strong. Pick one section, set a timer, and run it aloud before you read the outline.


TL;DR:

  • Spend week one practicing timed coding, week two sketching two system designs, week three preparing four or five stories, and week four running peer mocks.
  • For coding prompts, state complexity, test edge cases, and explain assumptions; ask whether streams are bounded, and reject Dijkstra when negative edge weights appear.
  • For design rounds, clarify requirements and assumptions before drawing; cover APIs, data access, failure modes, observability, security, ownership, operating cost, and staged delivery.
  • Prepare project and failure stories that separate your contribution from team results, explain how problems were detected and what changed afterward, and use defensible metrics.
  • Time coding mocks at about 10 minutes, system design at 40 to 45, and behavioral stories at 3 to 5; score four areas.

Odesa.co
Build a stronger senior engineering team
Odesa connects growth-stage companies with pre-vetted senior engineers through personalized matching, staff augmentation, recruitment, or custom development.

Table of Contents

1. How to use this guide to prepare effectively

A question list only helps if it becomes a routine. A typical senior question set groups pre-screening, coding, system design, and experience or leadership prompts, and this guide follows the same shape so you can rehearse each stage separately.

Here is a practical preparation plan:

  • Week 1: Work through the coding and debugging prompts with a timer, speaking your reasoning aloud as if a colleague were watching.
  • Week 2: Sketch two system design prompts on paper or a whiteboard, following the framework in section 3 below.
  • Week 3: Write out four or five project stories and rehearse them until each fits in about three minutes.
  • Week 4: Run full mock interviews with a peer, mixing technical, design and behavioral rounds.
  • Every session: Record yourself or ask your partner for written notes, then fix one weakness before the next run.

When you run a mock interview, ask your partner to play the interviewer and interrupt with follow-ups such as “what if traffic doubles?” At the senior level, interviewers watch whether you lead the discussion, state requirements first and explain trade-offs without being prompted. Answers that are only correct are not enough. Ask your partner to score you against the rubric in the mock interview section below.

2. Which coding and algorithm questions should you practice?

Senior coding rounds are usually shorter on puzzles and longer on judgment. Interviewers want to see how you choose an approach, test it and talk about what could break. Use these prompts across difficulty bands, and for each one state complexity, edge cases and how you would test.

  1. Find the first non-repeating character in a stream. A strong answer starts with a hash map for counts, then improves to an ordered structure so each update stays constant time. Mention empty input, Unicode and memory growth. Excellent candidates ask whether the stream is bounded before choosing a structure.
  2. Merge overlapping intervals. Sort by start, then sweep once. State O(n log n) time dominated by the sort, and cover touching intervals, nested intervals and a single-element list. Strong candidates propose tests before coding.
  3. Implement an LRU cache. Combine a hash map with a doubly linked list for constant-time get and put. Discuss thread safety, eviction under concurrent writes and how you would measure hit rate. Excellent answers raise the concurrency question without being asked.
  4. Detect a cycle in a dependency graph. Use depth-first search with three node states, or Kahn’s algorithm for a topological order. Cover self-loops, disconnected components and how to report the cycle path to the user, not just a boolean.
  5. Debug a service that slows down after several hours. This is a reasoning prompt, not a coding one. A strong answer separates hypotheses (memory leak, connection pool exhaustion, unbounded cache, lock contention), names the evidence that would confirm each, and proposes the cheapest check first, such as a heap snapshot or pool metrics.
  6. Design a rate limiter function. Compare fixed window, sliding window and token bucket. Explain the burst behavior of each and where state lives when you run several instances. Interviewers mark candidates highly when they connect the algorithm to a real failure, such as a retry storm.
  7. Find the shortest path with weighted edges and an occasional negative edge. Dijkstra fails on negative weights, so a strong answer names Bellman-Ford and explains when it is worth the extra cost. Mention negative cycles as the edge case.
  8. Review this function and find what is wrong. You may be handed a short function with an off-by-one error, an unclosed resource or a race condition. Read the code aloud, state the intended behavior, then point to defects in order of severity.

What separates “good” from “excellent” is rarely the final code. It is the habit of stating assumptions, naming the complexity without being asked, running a small example by hand and noting what you would improve with more time. Practice that narration until it feels ordinary.

3. How do you answer system design and architecture questions?

Many senior candidates treat design as an exam. Interview experts describe it instead as a two-way dialogue: you define requirements first, narrate trade-offs such as latency against consistency, and raise failure modes before you are asked. Practice with these starter prompts:

  • Design a job queue that retries failed work and never processes a task twice in a harmful way.
  • Design an authentication and session service for several client apps.
  • Design search for a catalog that updates every few minutes.
  • Design a notification system that sends email, push and in-app messages with user preferences.

Use the same framework every time so it becomes automatic:

  • Requirements: Ask about users, read and write volume, latency targets, consistency needs and what is explicitly out of scope.
  • APIs: Sketch the two or three calls that matter most, including idempotency keys for anything that can be retried.
  • Data model: Choose storage based on access patterns, and say what you would give up with that choice.
  • Components: Draw the smallest set of services that meets the requirements, then name the boundaries between them.
  • Scaling and failure modes: Identify the first bottleneck, then walk through a dependency outage, a duplicate message and a bad deploy.
  • Observability and security: Name the metrics, logs and alerts that would show trouble, plus authentication, authorization and data protection concerns.

At the senior level, the interview also tests judgment beyond the diagram. Strong candidates discuss post-launch maintenance, such as how the team will test changes safely and how an on-call engineer will diagnose a failure at night. They reason about organizational impact: which team owns each component, what it costs to operate and how the design can be built in stages instead of all at once. Treat scale, reliability and security as core requirements, not as an afterthought in the last two minutes.

Pro Tip: Start by clarifying requirements and saying your assumptions out loud. Interviewers often hand extra constraints to candidates who ask, and those constraints are the hints.

4. What project and experience questions test senior ownership?

Experience questions reveal whether you owned an outcome or only took part in it. Prepare stories for prompts like these:

  • Walk me through the most complex system you owned from design to production.
  • Describe a project where the requirements changed midway. What did you do?
  • Tell me about a decision you would reverse today.
  • What was your biggest production failure, and what changed afterward?
  • Which project had the clearest measurable impact on the business?

Structure each story around role, constraints, decision and result. Be specific about your own contribution: “I proposed the migration plan and led its rollout across services” is stronger than “we migrated.” Quantify results with the numbers you actually have, such as latency reductions, uptime, cost savings, delivery time or revenue influenced. Use only figures you can defend if the interviewer asks how you measured them.

Failure stories deserve special care. Interviewers are not looking for a flawless record. They are checking whether you can describe what went wrong without blaming others, explain how you detected it and show what you changed in process or tooling afterward.

Language matters, too. Prefer verbs that show ownership:

  • “I decided,” “I proposed” and “I drove” over “I was involved in.”
  • “The trade-off was” over “it just turned out that.”
  • “We caught it because I added alerting” over “luckily someone noticed.”

Keep each story concise, and have a shorter version ready for time-boxed screens. A good test is whether a stranger could repeat your story’s main decision and its outcome after hearing it once.

5. Which leadership, collaboration and mentorship questions come up?

Senior roles carry influence beyond your own pull requests. Expect prompts such as these:

  • How have you mentored a less experienced engineer, and what changed for them?
  • Tell me about a hiring decision you contributed to. What signals mattered most?
  • Describe a disagreement over an architecture choice and how it was resolved.
  • How do you influence another team that does not report to you?
  • When have you said no to a feature or a deadline?

Answer with concrete episodes, not principles. A mentoring story should name the problem, what you did (pairing sessions, design review feedback, a stretch assignment) and the visible result a few months later. For disagreements, show that you understood the other view, brought evidence and accepted the outcome even when it went against you.

Show senior judgment without overstating management duties. If you were a tech lead without direct reports, say so. Phrases like “I aligned the two teams on an interface contract” and “I wrote the decision record so we could revisit the choice later” demonstrate influence honestly. Interviewers notice inflated claims quickly, and a modest, specific story beats a grand, vague one.

6. What role-specific questions should backend, frontend, infrastructure and data engineers practice?

After the shared rounds, many interviews narrow to your specialty. Tailor your practice with these focal prompts.

  • Backend:
    • How would you handle concurrent updates to the same record?
    • How do you model data that will be queried in two very different ways?
    • How do you version an API without breaking existing clients?
    • Walk through tuning a slow endpoint, from measurement to fix.
  • Frontend:
    • How would you structure components for a large application with many contributors?
    • Where does state belong, and when is a global store the wrong choice?
    • How do you find and fix a rendering performance problem?
    • How do you make a custom widget accessible to keyboard and screen reader users?
  • Infrastructure and reliability:
    • Describe how you would run an incident from first alert to review.
    • How do you plan capacity for a launch you cannot fully predict?
    • Which signals would you put on a dashboard for a new service, and why?
  • Data and machine learning:
    • How do you build a feature pipeline that stays consistent between training and serving?
    • How would you detect model drift in production?
    • How do you design an experiment so its result can be trusted?

For each prompt, practice a concise answer that names a concrete tool or technique you have used.

7. How do you run mock interviews and score your readiness?

Repeatable practice beats occasional intensity. Follow these steps for each mock session:

  1. Choose one question and set a timer: about 10 minutes for a coding prompt, 40 to 45 for system design, and 3 to 5 for a behavioral story.
  2. Answer aloud, using STAR plus trade-offs and metrics: situation, task, action, result, then what you traded away and how you measured success.
  3. Pause midway and state what you have covered and what remains.
  4. Ask your partner to score the four rubric areas below, with one written example for each score.
  5. Repeat the same question in a later session and compare scores.

A short example of the structure for a behavioral answer: the situation was a checkout service with rising timeouts, the task was to fix it before a seasonal peak, the action was adding a queue and caching, the result was a clear drop in timeouts, and the trade-off was added operational complexity that you offset with new alerts.

Rubric area What to look for How to score
Technical correctness Working approach, edge cases, tests Use a consistent scale, with a missed case noted
System thinking Requirements, trade-offs, failure modes Use a consistent scale, with the weakest step named
Clarity Structure, pacing, plain language Use a consistent scale, with an unclear moment noted
Leadership Ownership, influence, honest scope Use a consistent scale, with a stronger phrase suggested

Aim to improve your lowest-scoring area over time rather than polishing your strongest area.

8. Which questions test knowledge of Agile and Scrum?

Senior engineers are expected to improve how a team works, not just follow a process. Interviewers use methodology questions to learn whether you understand why a practice exists and when to bend it. Practice answers to prompts like these:

  • How have you adapted Scrum for a team with on-call duties or frequent urgent work?
  • What makes a sprint goal useful, and what do you do when it becomes unrealistic midway?
  • How do you estimate work when requirements are unclear?
  • Which retrospective change had the biggest effect on your team?
  • When is Kanban a better fit than Scrum?

A strong answer defines the practice briefly, gives an example from your own team and names a downside you managed. For estimation, you might describe breaking a vague feature into a spike plus a small first slice, so uncertainty shrinks before commitments are made. For retrospectives, describe one specific change, such as limiting work in progress, and how you checked it helped.

Avoid reciting the Scrum guide. Interviewers hear that constantly. Show instead that you know ceremonies serve outcomes: predictable delivery, early feedback and shared ownership. If your team did not use a formal method, say so and describe the working agreements you created, because pragmatic process design is itself a senior signal.

9. What do code review and quality assurance questions look for?

Reviews and testing show how you protect a codebase you share with others. Expect prompts such as:

  • What do you look for first when reviewing a large pull request?
  • How do you give critical feedback to a more senior colleague?
  • Describe a review that changed a design, not just a line of code.
  • How do you decide what to cover with unit, integration and end-to-end tests?
  • What does your release checklist include?

A good review answer sets an order: correctness and design first, then readability, then style that tooling can enforce automatically. Mention keeping pull requests small, writing descriptions that explain intent, and phrasing comments as questions or suggestions. For feedback to seniors, emphasize evidence and curiosity over authority.

On quality, explain a testing strategy as a cost and risk decision. Fast unit tests guard logic, integration tests guard boundaries and a small number of end-to-end tests guard critical user paths. Add that automated checks do not replace people: human testers often catch confusing flows and visual defects that scripts miss. If you have worked with a dedicated QA step, describe how it fit into release decisions. Teams that want that kind of coverage can look at our Human QA services, and our guide to UAT versus QA explains who should own each sign-off.

Automated test layers alongside human quality review

10. How should you answer technical debt and legacy code questions?

Every experienced engineer has inherited code they did not choose. Interviewers use these questions to see whether you can make pragmatic decisions under constraints. Prepare for prompts like:

  • How do you decide when to refactor and when to leave code alone?
  • You inherit a system with no tests and one engineer who understands it. What do you do first?
  • How do you persuade a product owner to fund debt work?
  • Describe a rewrite you supported or avoided. What drove the decision?
  • How do you track debt so it does not disappear from view?

A reliable approach for legacy systems starts with safety: add characterization tests around the behavior that must not change, then improve in small steps behind them. Prefer incremental strategies, such as wrapping an old module with a new interface and moving traffic gradually, over a big-bang rewrite, and explain why: the old system keeps delivering value while the new one proves itself.

For funding debt, translate it into business terms. Instead of “the module is ugly,” say “this area causes a large share of our incidents and slows every feature that touches it.” Propose a time-boxed investment with a measurable goal, such as shorter build times or fewer failures. Be honest about trade-offs: some debt is a sensible loan taken to ship earlier, and the senior skill is knowing when to repay it.

11. How are communication skills and stakeholder management assessed?

At senior level, much of the job is explaining technical choices to people who do not share your background. Interviewers assess this directly through the way you answer, and indirectly through prompts like these:

  • Explain a complex technical decision to a non-technical stakeholder.
  • Tell me about a time you had to deliver bad news about a deadline.
  • How do you handle a stakeholder who keeps changing priorities?
  • How do you document decisions so others can follow your reasoning later?
  • Describe a time you had to push back on a request.

Listen to your own answers in mock sessions. Do you lead with the conclusion, then give reasons? Do you define terms the interviewer might not know? Do you check understanding by pausing for questions? These habits are exactly what stakeholders experience at work.

For difficult conversations, show a pattern: acknowledge the goal behind the request, present options with costs, recommend one and confirm the decision in writing. When delivering bad news, name the problem early, explain what you already tried and offer a revised plan. Concrete examples, such as a short decision record or a weekly status note you started, show that communication is a practice for you and not just a personality trait.

12. What do interviewers really want from senior candidates?

Our view is that interviewers are not hunting for the most obscure knowledge. They want evidence that you can be trusted with ambiguity: that you will clarify before building, say what you are trading away, and keep other people in mind while you decide. Before any interview, check that your answers show these signals:

  • You lead the conversation instead of waiting for prompts.
  • You state requirements and assumptions first.
  • You name at least one trade-off in every design or architecture answer.
  • You mention testing, monitoring and maintenance without being asked.
  • You describe impact on teammates and the business, not only on the code.

The common pitfalls are surprisingly consistent. Experienced candidates over-explain background, defend a first idea too long, claim team results as personal ones, or skip failure stories because they feel risky. The strongest candidates treat the interview as a working session with a future colleague.

FAQ

What are the 5 C’s of interviewing?

The 5 C’s are not one fixed standard, and sources define them differently. A common version covers competence, communication, confidence, culture fit and curiosity. For senior roles, treat them as a checklist for your answers: show skill, explain it clearly and ask thoughtful questions.

What is the 30-60-90 rule in an interview?

A common plan for your first few months in a role is to start by learning, then begin contributing, and finally take ownership of results. Interviewers sometimes ask for this approach directly. A strong senior answer names specific people to meet, systems to learn and one early contribution you could deliver.

How many senior developer interview questions should I practice?

Depth beats volume. Choose a handful of prompts per category, answer each aloud with a timer and repeat the weakest ones. Practicing a smaller set until your explanations are clear and structured prepares you better than skimming a long list.

What should I do if I get stuck on a question?

Say what you know, state your current assumption and ask a clarifying question. Interviewers at the senior level usually care more about how you recover than whether you stall. Offer a simpler version of the problem first, then build up from it.

Further reading and useful external resources

Structured interviews work best when both sides understand the process. This partner article on tech recruitment tools gives a hiring-side view of structured interviewing, which helps you anticipate how interviewers score answers. On our own site, the founder’s checklist for hiring a senior React developer shows what hiring managers look for, and our engineering hiring and remote team insights cover interview practices in more depth.

If you are on the other side of the table and need senior engineers quickly, we match pre-vetted engineers to your team through staff augmentation, starting at $45 per hour, or through tech recruitment at a one-off $7999 per successful hire. Our founder is directly involved in matching, so you speak with a person who understands your stack before anyone joins your team. Book a call through our site and tell us the role you need to fill.

Sources

OOdesa.co
Discuss your senior engineering needs
Share your hiring or development needs with Odesa to explore personalized matching and flexible ways to work with senior engineers.

Reviewed by Val Narodetsky, founder of Odesa.co.

Val Narodetsky, founder and CEO of Odesa.co

Put the advice to work.

Tell Val about your team, the role and what you want to achieve. We’ll help you choose a practical next step.