Hard data structure and algorithm practice puzzle.
Given a list where deps[i] is the services that must start before service i, return an order to start them all, or [] if the dependencies loop. Each step, start the lowest-numbered service whose dependencies are all running. Breaking ties by lowest number keeps the order the same on every machine. Linux's systemd works out this exact kind of order at every boot.
Solve it three ways: snap the jigsaw pieces together, fill in the blanks, or type it from scratch against the tests. This one is free.
Every line of the solution comes with a note explaining why it is there, and a step by step replay shows the code running. At level 3, where you type it yourself, you can ask for an AI mock interview on this problem that ends with a hiring manager's scorecard.
Browse all 546 puzzles