Algoritmo di Floyd [chiuso]

8

È possibile (previsto) che un individuo possa capire (non averlo mai visto prima) l'algoritmo se richiesto in un'intervista? Quali altri problemi hanno soluzioni ugualmente interessanti?

Modifica: A causa della confusione dell'algoritmo a cui mi riferisco, è il Algoritmo di ricerca del ciclo di Floyd , ovvero algoritmo di tartaruga e lepre.

    
posta picakhu 11.06.2011 - 11:28
fonte

6 risposte

7

Bene, niente è impossibile come dicono.

Tuttavia, se non hai mai sentito parlare di Dijkstra o Flloyd's è quasi impossibile capirlo nel giro di una singola intervista.

Le persone trascorrono un'intera vita nello sviluppo di un singolo algoritmo, nel caso in cui ci si stesse mentalmente occupati.

    
risposta data 11.06.2011 - 11:32
fonte
7

No, non lo è. Ci sono voluti anni per i più grandi matematici / informatici del loro tempo per formulare quegli algoritmi, non hai intenzione di fare lo stesso in 2 minuti mentre sei sotto pressione.

Per la seconda parte della tua domanda ... Beh, non so davvero cosa consideri interessante qui. Se i suoi algoritmi, le strutture dati e la combinazione combinatoria di ciò che ti piace, leggi "L'arte o la programmazione del computer", non migliora molto di più.

    
risposta data 12.06.2011 - 00:51
fonte
5

Gli intervistatori potrebbero porre una domanda impossibile o insensata per vedere le tue reazioni.

Stanno solo cercando di capire il tuo approccio ai problemi, non necessariamente la conoscenza stessa.

Ci sono così tante informazioni là fuori da mantenere, che l'importante è la competenza di google e come consumare le informazioni da un firehose.

    
risposta data 11.06.2011 - 14:36
fonte
1

Come @ fanatic23 ha detto, se non hai mai sentito parlare di Dijsktra, è abbastanza difficile capire l'algoritmo di Floyd, tuttavia, se hai fatto qualche studio grafico, Floyd è uno degli algoritmi di base. Se stai cercando posizioni lavorative che potrebbero richiedere di avere alcune competenze algoritmiche competenti, ti esorto a leggere almeno alcuni algoritmi ritenuti importanti quando utilizzi i grafici:

Con questi 4 argomenti, puoi passare da una domanda di base a un grafico intermedio in un'intervista.

    
risposta data 11.06.2011 - 15:05
fonte
1

Poiché questa è una domanda dell'intervista, devi sempre porsi prima la domanda più importante:

What can a potential employer expect from a typical candidate and how can I do better?

Ovviamente, quasi nessuno (e certamente non un candidato prototipico) sarà in grado di eseguire lavori che hanno richiesto anni brillanti di scienziati entro i limiti di tempo di un'intervista. Quindi non è quello che si aspettano da te.

Che altro potrebbe aspettarsi il datore di lavoro?

  • Potresti già conoscere l'algoritmo. Questo è semplice e noioso. Puoi semplicemente dirlo e molto probabilmente l'argomento verrà cambiato, perché non c'è molto altro da imparare su te stesso (dal punto di vista del datore di lavoro).

  • Potresti non conoscere l'algoritmo. Questo è in realtà lo stato tipico del candidato, e se ciò è previsto, quale dovrebbe essere il risultato? Considera la prospettiva dell'azienda qui e scoprirai che probabilmente non è una buona cosa se un candidato non è in grado di affermare l'ovvio: non conosco questo algoritmo. Se inizi a dare frasi vaghe e parli del vero problema qui, darai una cattiva impressione. Quindi lo scopo principale di porre una domanda del genere è non aspettarti che tu sia in grado di rispondere, ma di testare la tua reazione quando incontri cose che non conosci.

  • Potresti non sapere l'algoritmo, ma ... per tornare alla domanda originale qui sopra: come puoi fare meglio? Potresti conoscere algoritmi simili, quindi spiega le somiglianze che riconosci (ad esempio, l'algoritmo di Floyd's Tortoise + Hare utilizza un approccio simile a quello di Polard-Rho-Algorithm). Potresti avere impressionanti capacità di lettura / comprensione del codice, ecc. Naturalmente, questa parte è la più difficile, ma di nuovo, è disponibile solo se in realtà sei migliore del candidato medio, che per definizione lo rende più facile.

risposta data 24.04.2012 - 08:36
fonte
0

Is it possible(expected) for an individual to figure out(having never seen it before) the algorithm if asked at an interview?

È possibile? Questo dipende dall'algoritmo e dal candidato. Direi che la stragrande maggioranza dei candidati farebbe fatica a fare davvero questo genere di cose. (Se questi problemi fossero così semplici, perché qualcuno sarebbe famoso per averli risolti?)

È previsto? Ciò dipende dalle debolezze dell'intervistatore e dalle loro aspettative nei confronti dei candidati. Direi che se loro veramente si aspettano che i candidati siano in grado di fare questo genere di cose in un'intervista dovranno intervistare molti candidati. A una domanda come questa è più probabile che venga chiesto di vedere come il candidato lavora / pensa sotto pressione.

What other problems have equally interesting solutions?

Non ho intenzione di rispondere così. Piuttosto, lo dirò:

  • La probabilità che tu (come candidato) ci si aspetti di fare questo è piccola, per un lavoro tipico. Tuttavia, se stai facendo domanda per un lavoro IT specializzato in cui esiste un particolare requisito per conoscere specifici algoritmi, ti potrebbe essere chiesto di spiegarli.

  • Non ha molto senso imparare gli algoritmi derivare nel caso in cui venga richiesto. (O "barare" conoscendo l'algoritmo in anticipo). Se ti viene effettivamente chiesto di farlo, fai del tuo meglio ... nella consapevolezza che anche la maggior parte degli altri candidati è in difficoltà.

  • È utile conoscere una gamma di algoritmi, o almeno conoscerli , perché potrebbero rivelarsi utili nel tuo lavoro. Tuttavia, questo dipende molto dal settore IT in cui lavorerai.

risposta data 12.06.2011 - 03:11
fonte

Leggi altre domande sui tag