I mass-applied about a month ago, got an update a week ago, and dragged my feet on the OA until the deadline before I finally did it.
Recruiter interview: right off the bat they asked whether I could accept working six days a week, then it was just some basic questions (project, tech stack, trade-offs).
OA: Not hard overall, but there's a lot of text, so you have to actually read it. Implement a simple flight search system, split into two levels. Level 1 needs to support adding a flight (origin, destination, daily departure time HH:MM, flight duration in minutes; adding fails if the origin and destination are the same or the ID is a duplicate), removing a flight, counting the departing flights from a given origin, and querying the list of flights between two places (sorted by duration ascending, and by departure time ascending when durations tie). Level 2 adds a day-of-week dimension: a flight can depart only on certain specified days, while the original add method defaults to flying every day. You need to support removing a flight's departures by day, counting departures by day, computing the day of week and time at which a flight departing on a given day lands (it can cross into the next day, formatted like "SAT, 21:30"), and querying the flights that land on a given day (same sorting rules as before, comparing only the time of day, not the day of week). On top of that, the original methods have to stay compatible, and the same flight is only counted once.
Discussion
Loading comments…