Filosofi greci, tavolette di pietra e problemi di schiavi muti [chiuso]

4

Questa è una delle domande che ho incontrato mentre preparavo un colloquio di programmazione.

Design a system for Greek philosophers to exchange messages using stone tablets carried by dumb slaves.

Bene, i ragazzi che hanno avuto questa domanda hanno suggerito di usare l'analogia di un protocollo TCP / IP per descrivere la comunicazione e alcuni hanno suggerito la comunicazione dei dati a pacchetto per spiegare il progetto.

Ecco cosa penso che sia il risultato degli indizi:

  1. I filosofi greci agirebbero come "macchine" che stanno cercando di farlo comunicare.
  2. Gli schiavi muti sarebbero i portatori di messaggi che sono la "rete" nella nostra analogia.
  3. Le tavolette di pietra sono messaggi trasportati come i "pacchetti di dati".
  4. Gli schiavi potrebbero raggiungere i filosofi chiedendo il percorso da alcuni ragazzi casuali che li porteranno al posto dei filosofi proprio come i pacchetti arrivano a destinazione usando router nella rete.
  5. E il messaggio potrebbe essere diviso in più tablet e quindi, un messaggio potrebbe essere portato da più di uno slave che potrebbe prendere percorsi diversi e arrivare in qualsiasi ordine. Ci sarà un modo per organizzare il messaggio nell'ordine corretto al loro arrivo alla fine del ricevente. (numero di sequenza nelle tavolette?)
  6. Il sistema dovrebbe anche essere in grado di gestire i tablet mancanti e in tal caso il filosofo mittente dovrebbe provare a inviare l'intero messaggio dopo un timeout?

Modifica
Vorrei porre le seguenti domande:

  1. Sto pensando alle linee corrette?
  2. Ci sono cose importanti che mi mancano nelle cose che ho elencato sopra?
  3. Questa domanda per progettare un sistema mi sembra imprecisa. Come potrebbe qualcuno raffigurare un tale sistema in un'intervista? Usando i diagrammi per mostrare le interazioni tra entità?
  4. Sto gestendo correttamente il problema dei tablet mancanti (menzionato al punto 6. sopra)?
posta iceBreak 06.12.2013 - 13:48
fonte

1 risposta

0

Penso che la restrizione della "lapide di pietra" sia in netto contrasto con ciò che stai cercando di risolvere con il tuo # 5. Sembra che gli intervistatori non vogliano separare i dati del carico utile.

Inoltre, da quello che descrivi, sembra che non ci sia alcun concetto di "tempo" in quella rete (l'antica Grecia, schiavi muti), quindi il tuo # 6 in qualche modo manca il punto, IMHO. La domanda chiave potrebbe essere: "come fa un mittente-filosofo a concludere che il suo messaggio è arrivato al luogo dei filosofi-riceventi?" Questo porta a una discussione (filosofica) su riconoscere: riprovare / reagire :: reretry ecc. Tieni presente che gli schiavi potrebbero essere così stupidi da non essere in grado di segnalare una consegna di successo ...

    
risposta data 06.12.2013 - 14:44
fonte

Leggi altre domande sui tag