← Back to companies
[ OK ] Loaded —
[ INFO ]
$ cd
$ ls -lt
01
02
03
04
05
$ ls -lt
01
02
03
04
05
user@intervues:~/$
Design a CI/CD job scheduler that can execute a workflow of jobs with dependencies. You are given a workflow configuration file (in YAML or JSON) that lists jobs and their dependencies. Each job is a shell command or script. Your task is to parse this configuration, build a dependency graph, detect cycles, topologically sort the jobs, and then execute them in the correct order while respecting parallelism: any job whose dependencies have all completed may start immediately, even if other independent jobs are still running. You must return the execution plan as a list of "waves" (sets of jobs that can run in parallel) and simulate the execution by printing when each job starts and finishes. If a cycle is detected, report it and abort.