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.