CrackOps
Interview PrepTracksLinuxAWS LabSoonInterview RoomSoon
Sign inStart free
CrackOps

Interview prep for the people who keep production up.

[email protected]
ProductInterview PrepTracksDashboardInterview Room
RolesDevOpsSREPlatformCloud
CompanyAboutContactPrivacyTerms
© CrackOps
Tracks/Production Incidents
Expert 4 minTroubleshooting

A datacenter drain has been stuck at 80 percent for 40 minutes. How do you find and move the last 20 percent safely?

Scenario

A professional social network runs thousands of microservices across four data centres: US-East, US-West, Europe and Singapore. Kafka is the backbone, with a local cluster in each DC and aggregate clusters fed by mirroring. The in-house traffic tool drains a DC by shifting GeoDNS and edge-to-origin weights, and reports progress as request rate at the DC's ingress compared with the pre-drain baseline. US-East normally carries about 35 percent of global traffic; the drain began at 20:00 UTC, moved quickly to 80 percent, and has not moved since 20:25.

The interviewer asks

“We're draining a data centre ahead of a power maintenance, and the drain dashboard has sat at 80 percent for forty minutes. The maintenance starts in two hours. How do you work out what the remaining 20 percent is, and how do you finish the drain without causing an incident somewhere else?”

The 30-second answer

First I'd check whether the drain tool stopped itself, because the usual blocker is a capacity guard in the destination DCs, not stubborn clients. Then I'd attribute the remaining 20 percent by caller, protocol and connection age, using mesh telemetry, Envoy connection stats, DNS query logs and Kafka group membership. It typically falls into a few buckets: long-lived gRPC and websocket connections, clients caching DNS or with hardcoded endpoints, stateful leaders and primaries, pinned batch jobs and local Kafka consumers. Each needs its own fix: create headroom, rotate connections gradually, transfer leadership, drain Kafka to zero lag. Only a small, known, retry-safe remainder gets a hard cut, with abort criteria agreed in advance.

Sign in to finish this question

A free account unlocks the rest of it, and saves your progress across every track.

  • The voiced mock interview (4 min)
  • The full senior answer, step by step
  • Animated architecture diagrams
  • The whole conversation, 12 turns
  • Deep dive: how it works, mistakes, risks and trade-offs
  • 3 copy-ready command snippets
  • 5 follow-up questions they'll ask next
  • A self-check of 8 things interviewers listen for
Create a free accountSign in

More Production Incidents interview questions

  • The end-of-day settlement batch used to finish by 06:00 and now ends at 09:00. How do you find out why?
  • The database failed over, but the application keeps talking to the old primary. What do you do?
  • Playback failures spike for 3% of APAC viewers while CPU, memory and pods look fine. How do you triage it?
  • Kafka lag hits two minutes during a surge, but the consumers are idle. Where do you look?
  • p99 latency on the Redis session store jumps 40x mid-match while p50 is fine. How do you find the cause?
  • Payment success rate has dropped for one bank only. How do you find out whose problem it is and protect users?
All Production Incidents questions

Linux commands for this track

  • strace Trace the system calls a process makes
  • ltrace Trace the library calls a program makes
  • lsof List open files, sockets and the processes holding them
  • dmesg Read the kernel's message log
  • perf Profile where CPU time goes, kernel and user space
  • gdb Debug crashes, core dumps and hung processes
  • coredumpctl Find and open core dumps captured by systemd
  • sar Collect and replay system activity history