The question was an online question asked on an interviewing platform called Karat. I was not able to answer the question and pass all of the test cases within the allotted time (around 60 minutes).
I have not heard back from them.
We have some input that describes the steps of a workflow. The input consists of pairs of steps, each indicating that one step must be completed before another. For example, in Sample Input 1, "clean" must occur before "build," and "build" must occur before "link." The input can occur in any order.
We want to write a function to separate a given workflow's steps into multiple stages such that all steps in each individual stage can run concurrently. The function should return a list of lists, where each list represents one stage. Each step should run in the earliest possible stage.
Sample Input 1: python precursor_steps = [ ["clean", "build"], ["metadata", "binary"], ["build", "link"], ["link", "binary"], ["clean", "metadata"], ["build", "resources"] ]
Sample Output: python [ ["clean"], ["build", "metadata"], ["resources", "link"], ["binary"] ]
The following metrics were computed from 1 interview experience for the Intuit Junior Software Engineer role in San Diego, California.
Intuit's interview process for their Junior Software Engineer roles in San Diego, California is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Intuit's Junior Software Engineer interview process in San Diego, California.