Pergunta de entrevista da empresa Oracle

Coding problem to use Java threads and semaphores to synchronize processes.