Pergunta de entrevista da empresa Google

First round is about splitting bunch of nodes into a binary tree, which is easy. Follow-up is splitting into a tree where each node has N children. Second round is a task scheduling problem which gives you a constant timeout and a series of [task ID, Starting time], more like streaming mode, then return if the a task is timeout at certain timestamp. Did not really get the idea but can be solved using dictionary.