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
Advanced 4 minTroubleshooting

The end-of-day settlement batch used to finish by 06:00 and now ends at 09:00. How do you find out why?

Scenario

A broker's end-of-day batch starts at 21:30 after trade capture closes: about 180 jobs in an Airflow DAG covering trade enrichment, position revaluation, margin, fees, settlement instructions and regulatory reports, mostly against a PostgreSQL 15 database. Over eight weeks the finish time drifted from 06:00 to 09:10; the settlement file must reach the clearing house by 07:00, and ops have been sending it late with manual approvals. Trade volume is up about 30 percent over the same period, and nobody changed the batch code in the last month.

The interviewer asks

“Our end-of-day settlement batch used to finish around 06:00 and now regularly finishes after 09:00, which is past the clearing house deadline. Walk me through how you'd find the bottleneck, what you'd do today, and how you'd stop it happening again.”

The 30-second answer

First I protect tonight: identify the critical path, defer reports that aren't on it, move anything competing for the database out of the window, and agree a manual fallback with ops. Then I pull eight weeks of per-task timings and row counts from the scheduler and compare each step's growth with volume growth: linear steps should be up about 30 percent, so a step up threefold points to a plan regression, lock waits or contention, not volume. I confirm with pg_stat_statements, auto_explain plans, wait events and I/O metrics at the hour that job runs. Then I fix the specific cause and add a completion SLO with an alert on projected finish time, so we know at 01:00, not 07:00.

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 7 things interviewers listen for
Create a free accountSign in

More Production Incidents interview questions

  • 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?
  • A payment partner slows down and your own retries turn it into an outage. How do you stop the storm?
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