HireHireInterview Quizzes › Engineering Manager / Tech Lead

Engineering Manager / Tech Lead Interview Questions

Think you're ready? These are the questions that actually decide Engineering Manager / Tech Lead interviews. Warm up on Easy — then face the Hard round, where 95% of candidates crumble. 30 questions across 3 levels, instant score, completely free.

30Questions
3Difficulty levels
95%Fail the hard round
FreeInstant score
Easy
Warm-up · 10 Qs
Medium
Practical · 10 Qs
Hard
Brutal · 10 Qs
⚡ Take the Engineering Manager / Tech Lead quiz — get your score →

The Engineering Manager / Tech Lead interview questions

Below are the real questions, grouped by difficulty. Expand any one to reveal the correct answer and why — or take the timed quiz for a score you can share. Can you clear the Hard round?

Easy round 10 questions

In a Scrum team, what is the primary purpose of a sprint retrospective?
  • A. To demo completed features to stakeholders
  • B. To inspect how the last sprint went and identify improvements to the team's process ✓
  • C. To estimate the effort of upcoming backlog items
  • D. To assign tasks for the next sprint
Correct answer: B. The retrospective is dedicated to inspecting the team's process and people/tools and creating a plan for improvement, distinct from the review (demo) or planning.
A senior engineer consistently misses deadlines but produces high-quality work. As their manager, what is the most appropriate first step?
  • A. Put them on a formal performance improvement plan immediately
  • B. Have a private 1:1 to understand root causes and set clear expectations ✓
  • C. Reassign their work to other team members quietly
  • D. Publicly raise the issue in the next standup
Correct answer: B. A private 1:1 to diagnose root causes and align on expectations is the correct first managerial step before escalating to formal processes.
What does a P95 latency of 200ms for an API mean?
  • A. The average response time is 200ms
  • B. 95% of requests complete in 200ms or less ✓
  • C. The API fails 5% of the time above 200ms
  • D. The slowest request took 200ms
Correct answer: B. P95 (95th percentile) means 95% of requests were served at or under 200ms, capturing tail latency better than an average.
During a production incident, what should the on-call engineer prioritize first?
  • A. Writing a detailed root-cause analysis document
  • B. Identifying who caused the incident
  • C. Restoring service and mitigating customer impact ✓
  • D. Deploying a permanent code fix
Correct answer: C. Incident response prioritizes mitigation and service restoration first; root-cause analysis and permanent fixes come after impact is contained.
In Git, what is the main advantage of using feature branches with pull requests over committing directly to main?
  • A. It makes the repository smaller in size
  • B. It enables code review and isolates work before integration ✓
  • C. It automatically prevents all merge conflicts
  • D. It eliminates the need for a CI pipeline
Correct answer: B. Feature branches with pull requests isolate in-progress work and provide a checkpoint for code review before merging into the shared main branch.
A relational database query on a large table is slow when filtering by a non-key column. What is the most standard fix?
  • A. Add an index on the filtered column ✓
  • B. Increase the application server's RAM
  • C. Switch the table to a NoSQL store
  • D. Remove the WHERE clause
Correct answer: A. Adding an index on the frequently filtered column lets the database avoid a full table scan, which is the standard remedy for such slow queries.
Which metric from the DORA framework measures how quickly a team recovers from a production failure?
  • A. Deployment frequency
  • B. Lead time for changes
  • C. Mean time to restore (MTTR) ✓
  • D. Change failure rate
Correct answer: C. Mean time to restore (MTTR) is the DORA metric measuring how long it takes to recover service after a failure in production.
What is the primary goal of the 'Storming' stage in Tuckman's model of team development?
  • A. Team members work at peak productivity
  • B. Conflicts and differences surface and must be worked through ✓
  • C. The team is first formed and members are polite
  • D. The project is completed and the team disbands
Correct answer: B. In the Storming stage, interpersonal conflicts and differing opinions emerge and must be resolved before the team can reach higher-functioning stages.
In a microservices architecture, what is the main benefit of the 'database per service' pattern?
  • A. It reduces the total number of database servers needed
  • B. Each service owns its data, enabling loose coupling and independent deployment ✓
  • C. It guarantees strong ACID transactions across all services
  • D. It removes the need for API gateways
Correct answer: B. Database-per-service ensures each service encapsulates its own data, allowing services to be developed, deployed, and scaled independently.
When conducting a technical interview, why is a structured interview (same core questions and rubric for all candidates) preferred?
  • A. It is faster to conduct than unstructured interviews
  • B. It reduces bias and improves the fairness and predictive validity of hiring decisions ✓
  • C. It guarantees the candidate will accept the offer
  • D. It removes the need for any coding assessment
Correct answer: B. Structured interviews with consistent questions and scoring rubrics reduce interviewer bias and are more predictive of job performance.

Medium round 10 questions

During a code review, a junior engineer's pull request has correct logic but no tests, an unclear commit message, and touches 15 files across unrelated concerns. As the tech lead, what is the most constructive first action?
  • A. Approve and merge it since the logic is correct, then fix the issues yourself later
  • B. Reject the PR outright and reassign the task to a senior engineer
  • C. Request changes: ask them to split it into focused commits/PRs and add tests, explaining why each helps ✓
  • D. Merge it but privately tell them in a 1:1 that their work is sloppy
Correct answer: C. Constructive reviews request specific, actionable changes with reasoning so the engineer learns, rather than silently fixing, rejecting harshly, or shaming.
Your team uses Git with a shared main branch. A developer accidentally committed a file with a plaintext API key and pushed it to the remote. What is the correct remediation?
  • A. Delete the file in a new commit and push, since removing it hides the key
  • B. Rotate/revoke the exposed key immediately, then purge it from history (e.g., filter-repo) and force-push ✓
  • C. Ask everyone to avoid looking at that commit until the next release
  • D. Make the repository private so the key is no longer exposed
Correct answer: B. A pushed secret must be treated as compromised: revoke/rotate it first, then scrub history, because the key remains recoverable in past commits even after a delete.
A standup reveals that a critical feature is behind schedule and won't make the sprint deadline. What is the most appropriate first response as a lead?
  • A. Ask the team to work overtime and weekends to hit the original date
  • B. Understand the blockers, then communicate the slip early to stakeholders and discuss scope or timeline trade-offs ✓
  • C. Quietly cut testing to save time and hope no bugs surface
  • D. Reassign the feature to a different developer to speed things up
Correct answer: B. Good leads surface schedule risk early and negotiate scope/timeline transparently rather than hiding it, sacrificing quality, or defaulting to burnout.
In a CI/CD pipeline, the deploy stage runs only after the test stage passes. A flaky integration test fails intermittently (~10% of runs), blocking otherwise-good deploys. What is the best engineering response?
  • A. Add an automatic retry-on-failure to the whole pipeline so deploys always eventually pass
  • B. Delete the flaky test since it keeps failing
  • C. Quarantine the flaky test and file a ticket to investigate and fix the root cause of the flakiness ✓
  • D. Mark the test stage as non-blocking permanently so deploys never wait on tests
Correct answer: C. Quarantining isolates the unreliable test to unblock deploys while preserving a tracked task to fix the real cause, unlike deleting it or masking all failures with blanket retries.
A production incident just resolved after two hours of downtime. Which practice best reduces the chance of recurrence?
  • A. Hold a blameless postmortem documenting timeline, root cause, and concrete action items with owners ✓
  • B. Identify the engineer who caused it and require them to write a formal apology
  • C. Move on quickly since the issue is fixed and the team is tired
  • D. Add a rule that all future deploys require the manager's personal sign-off
Correct answer: A. A blameless postmortem with tracked action items addresses systemic causes and drives improvement, whereas blaming individuals discourages honesty and skipping analysis lets the issue recur.
Two senior engineers on your team strongly disagree on whether to use REST or GraphQL for a new internal API, and the debate is stalling progress. As tech lead, what is the best way to resolve it?
  • A. Pick the option you personally prefer and move on without explanation
  • B. Let them keep debating until one convinces the other, however long it takes
  • C. Facilitate a time-boxed decision using agreed criteria (requirements, team familiarity, cost), then document the rationale and commit ✓
  • D. Escalate to your VP so you don't have to take sides
Correct answer: C. A lead breaks a stalemate by driving a criteria-based, time-boxed decision and documenting the rationale, rather than deciding arbitrarily, letting debate drag on, or escalating unnecessarily.
You're estimating a moderately complex feature with your team. Two engineers estimate 2 days and one estimates 8 days. What is the most useful next step?
  • A. Average the estimates to 4 days and record that
  • B. Take the lowest estimate to keep the roadmap optimistic
  • C. Ask the outlier to explain their reasoning, since large spread usually signals hidden complexity or a misunderstanding ✓
  • D. Take the highest estimate to build in a safety buffer automatically
Correct answer: C. A wide estimate spread signals differing assumptions or unseen complexity, so discussing the outlier's reasoning surfaces risk far better than blindly averaging or picking an extreme.
A stakeholder asks you to add 'just one small feature' mid-sprint that isn't in the sprint plan. What is the most appropriate response?
  • A. Immediately have the team drop current work to build it, since the stakeholder asked
  • B. Refuse all mid-sprint requests as a matter of policy
  • C. Assess its priority and effort, then decide with the team whether to swap something out or schedule it for the next sprint ✓
  • D. Tell the stakeholder you'll add it but silently deprioritize it indefinitely
Correct answer: C. Mid-sprint requests should be evaluated for priority and trade-offs against committed work, protecting the team's focus while remaining responsive, rather than blindly accepting, flatly refusing, or deceiving.
Your service's p99 latency has slowly climbed over three months while p50 stayed flat. What does this most likely indicate?
  • A. The whole service is uniformly slower and needs a bigger server
  • B. A subset of requests (tail cases) is degrading — e.g., a slow query on large datasets or resource contention under load ✓
  • C. The metric is broken, since p50 didn't move
  • D. Latency naturally rises over time and no action is needed
Correct answer: B. A rising p99 with a flat p50 points to worsening tail latency affecting specific slow paths (large payloads, contention, unindexed queries), not a uniform slowdown of all requests.
A high-performing engineer on your team tells you in a 1:1 they feel bored and unchallenged. What is the best managerial response?
  • A. Reassure them the current work is important and ask them to be patient
  • B. Explore their growth interests and look for stretch assignments, ownership, or mentoring opportunities that align ✓
  • C. Immediately promote them to prevent them from leaving
  • D. Assign them more of the same tasks to keep them busy
Correct answer: B. Retaining a bored high performer means understanding their goals and offering aligned stretch work or ownership, not placating them, piling on repetitive tasks, or reflexively promoting.

Hard round 10 questions

A payment service uses this idempotency guard for a POST /charge with an idempotency key: ```sql SELECT status FROM charges WHERE idem_key = $1; -- if no row: INSERT INTO charges (idem_key, status) VALUES ($1, 'pending'); -- then call payment gateway, then UPDATE to 'done' ``` Under concurrent retries with the same key at READ COMMITTED, what is the actual failure mode?
  • A. Nothing fails; READ COMMITTED serializes the SELECT so only one request proceeds
  • B. Two concurrent requests both see no row, both INSERT, and both charge the gateway unless idem_key has a UNIQUE constraint ✓
  • C. The UPDATE deadlocks because both transactions hold row locks on the same idem_key
  • D. READ COMMITTED promotes the SELECT to a range lock, blocking the second INSERT until the first commits
Correct answer: B. READ COMMITTED does not prevent the check-then-insert race, so correctness must come from a UNIQUE constraint (with ON CONFLICT) rather than the read, which returns nothing for both racers.
You run a 5-node Raft cluster. A network partition isolates 2 nodes (which still had the leader) from the other 3. What happens to writes, and why can't this cause split-brain?
  • A. Both sides elect leaders and accept writes; Raft resolves the divergence later via log reconciliation
  • B. The 2-node side keeps its leader and serves writes because it had the incumbent leader; the 3-node side is read-only
  • C. The old leader on the minority side cannot commit new entries (no majority ack), while the 3-node majority elects a new leader that can commit ✓
  • D. All writes halt cluster-wide until the partition heals because Raft requires unanimous acknowledgment
Correct answer: C. Raft commits require a majority (quorum), so the minority-side leader can accept but never commit writes while the majority side elects a leader that can, preventing two committing leaders.
A service calls a downstream API with retries using fixed 200ms delay and no jitter, max 5 attempts, on 503. The downstream just recovered from an outage. What is the predicted effect?
  • A. Recovery is smooth because bounded retries cap total load at 5x baseline
  • B. A synchronized retry wave (thundering herd) re-overloads the downstream at aligned 200ms intervals, re-triggering 503s ✓
  • C. Fixed delay is optimal here; jitter only helps when using exponential backoff
  • D. The circuit breaker will open automatically, so retry timing is irrelevant
Correct answer: B. Without jitter, clients that failed together retry in lockstep, producing synchronized load spikes that can knock over a just-recovered dependency; jitter de-correlates them.
You migrate a hot column rename `user_name` → `full_name` on a live table using expand-contract. During the 'expand' phase, which is the correct invariant to hold before deploying the app change that reads `full_name`?
  • A. Drop `user_name` immediately after adding `full_name` to avoid dual maintenance
  • B. Add `full_name`, backfill it, and dual-write both columns so old and new code can run simultaneously before any read switch ✓
  • C. Rename in place inside a single transaction so readers never see an intermediate state
  • D. Add `full_name` and switch reads to it in the same deploy that adds the column
Correct answer: B. Expand-contract requires the new column added, backfilled, and kept in sync via dual-writes so both old and new code versions are correct during the overlap, before reads cut over and the old column is later dropped.
Kafka consumer group with `enable.auto.commit=true` (default 5s interval), `max.poll.records=500`. Your handler processes records then crashes mid-batch after the auto-commit fired but before finishing. What delivery semantic did you actually get?
  • A. Exactly-once, because Kafka tracks per-record acknowledgments
  • B. At-most-once: offsets were committed before processing completed, so the unprocessed tail is lost on restart ✓
  • C. At-least-once: the whole batch is redelivered because nothing was committed
  • D. Ordering is violated but no records are lost
Correct answer: B. Auto-commit advances offsets on a timer independent of processing, so records committed-but-not-yet-processed are skipped after a crash, giving at-most-once (potential loss).
A read-heavy service fronts Postgres with Redis using cache-aside and a fixed 60s TTL. A viral key expires and 10k concurrent requests miss simultaneously. What is the specific pathology and the correct mitigation?
  • A. Cache penetration; fix by caching null values
  • B. Cache stampede; a single request should recompute under a per-key lock (or use probabilistic early expiration) while others serve stale/wait ✓
  • C. Write-back inconsistency; switch to write-through
  • D. Hot-partition in Redis; add more shards
Correct answer: B. Simultaneous misses on one expired hot key stampede the database; the fix is request coalescing via a mutex/single-flight or probabilistic early recomputation, not more shards.
Design a rate limiter for 10k req/s allowing 100 req/min per user. A sliding-window-log stores every request timestamp per user in a sorted set. At scale, what is the dominant problem versus a token bucket?
  • A. Token bucket cannot enforce per-minute limits accurately
  • B. Sliding-window-log memory grows with request volume (O(N) timestamps per active user), while token bucket uses O(1) state per user ✓
  • C. Token bucket allows bursts that the log prevents, so the log is strictly better
  • D. Both are O(1); the choice is purely stylistic
Correct answer: B. The log stores one entry per request within the window, so memory scales with traffic per user, whereas a token bucket keeps only a count and last-refill timestamp (O(1) per user).
Two services must both update in one logical transaction: `Order` (service A) and `Inventory` (service B). You choose a Saga over 2PC. What is the correctness property you must give up, and how do you compensate?
  • A. You lose durability; mitigate with synchronous replication
  • B. You lose isolation (intermediate states are visible); handle it with compensating transactions and semantic locks/idempotent steps ✓
  • C. You lose atomicity entirely; there is no way to roll back a Saga
  • D. You lose consistency; fix it by adding a distributed lock across A and B
Correct answer: B. A Saga sacrifices isolation—partial results are observable between steps—so you design compensating actions and idempotent/semantic-lock handling rather than relying on ACID rollback.
An L7 API gateway sits in front of gRPC backends. You enable round-robin load balancing at the connection level, but one backend gets 90% of traffic. What is the most likely cause?
  • A. gRPC multiplexes many requests over one long-lived HTTP/2 connection, so connection-level round-robin pins a client to one backend; you need request-level (L7) balancing ✓
  • B. Round-robin is inherently biased; use least-connections
  • C. The backend has more CPU, so the gateway prefers it
  • D. DNS caching is routing all clients to one IP
Correct answer: A. HTTP/2 keeps a single connection alive and multiplexes streams, so balancing per-connection sends all of a client's requests to one backend; gRPC needs L7 per-request load balancing.
You have SLO of 99.9% availability (43.2 min/month error budget). A risky migration is proposed mid-month; you've already burned 40 minutes this month. A director pushes to ship now. What is the technically-grounded decision?
  • A. Ship: SLOs are targets, not hard limits, and director priority overrides
  • B. Freeze the risky change: only ~3 min of budget remains, so a migration with non-trivial incident probability would breach the SLO; defer or reduce blast radius ✓
  • C. Ship but lower the SLO to 99.5% to create headroom retroactively
  • D. Ship because error budget resets are unrelated to change risk
Correct answer: B. With the error budget nearly exhausted, the budget policy dictates halting risky changes; the disciplined move is to defer or shrink blast radius (canary/flags), not retroactively weaken the SLO.

Prep for another role

Questions are original, written and independently verified for HireHire's role interview quizzes. They reflect the kind of knowledge Engineering Manager / Tech Lead interviews test, not any specific company's questions. HireHire maps live tech & IT jobs across India, updated regularly. Last updated: July 2026.