I recently faced a similar question in an onsite.
The question was part of a system design question, where I had to design 2 functions:
The criteria for scheduling a job on a rack of machines, was that each job requires a certain amount of CPU & RAM, and each machine has different amount of CPU & RAM.
So how do I go about optimally scheduling jobs on it?
Multiple jobs could be scheduled on the same machine, as long as it can support it.
Second part was to check if the Job is finished or not.
Any Thoughts.
~Thank You