Compute build order from dependencies | Uber Interview Question