Pregunta de entrevista de Andrews-Cooper

How would you approach this design problem?