Questa è una domanda che mi è stata posta di recente in un'intervista e mi è stato successivamente detto che non rispondeva abbastanza bene, motivo per cui non ha ottenuto l'offerta di lavoro, interessato a vedere ciò che gli altri avrebbero trovato.
Una società ha circa 5000 dipendenti e desidera diffondere informazioni in tutta l'azienda. Per fare questo, vuole abbinare ogni dipendente con un altro dipendente a caso ogni settimana per discutere tra loro in un incontro di 20 minuti su cosa stanno lavorando.
La domanda è stata lasciata aperta come questa e poi ho dovuto pensare a quali fossero le migliori tecnologie da utilizzare ea problemi quali non avere gli stessi impiegati abbinati più volte, differenze di fuso orario tra dipendenti, come ricevere la notifica ai dipendenti ...
Ho lasciato ciò che ho fatto nascosto sotto per non influenzare ciò che avresti pensato di fare
I thought I could use a Python script which is scheduled by cron to run on a weekend and then be able to email each employee who they have been matched with. We would need a database which has a table with each employee's details to get there name and email. Then we would need another table to store who has already been matched up with who so far. The script would first read all the names from the database, try and match the employees randomly, then check the matches table for any conflicts and retry the ones that failed. I know this could potentially be inefficient as having to keep retrying possibilities but if running over a weekend I thought it shouldn't therefore be a big deal. I also thought it was better to leave off actually arranging the meeting and left that for the employees themselves