Ci sono tre cose che penso valga la pena di praticare prima di fare un colloquio con Dropbox.
- Essere consapevoli e giustificare le proprie scelte - la maggior parte delle domande poste nelle interviste hanno tonnellate di modi diversi in cui è possibile affrontarle. Imparate a essere consapevoli delle vostre scelte e imparate a giustificarle. Alcuni esempi di tali scelte:
- Scrivere codice che gira velocemente VS scrivere codice che è facile da leggere - "questo codice per lo più aspetta che i dati vengano letti dall'harddrive, quindi è sicuro scrivere una soluzione più lenta"
- Scegliere una struttura dati da usare - "Usare un albero binario bilanciato invece di un array riduce la complessità della mia soluzione a O(n lg n)."
- Scelta dell'API da esporre per i programmatori che useranno il vostro sistema - pensate a diversi casi d'uso - "Quando si aggiunge un metodo per tradurre una stringa in diverse lingue vale la pena aggiungere una variabile di commento che dirà al traduttore un po' del contesto in cui questa stringa appare sul sito web"
2. Lucidare il vostro stile di codifica - una volta fatte tutte le scelte e deciso su un particolare approccio dovrete implementarlo. Anche in questo caso ci sono tonnellate di modi in cui puoi implementare un particolare problema. Pensa:
- "Ho davvero bisogno di 4 livelli di indentazione per far funzionare questo codice?"
- "Se tornassi su questo codice tra 6 mesi lo capirei?"
- "Posso semplificare il mio codice con la funzione map (Python)?"
3. Pensa a come trasmettere il messaggio "Sono appassionato di quello che sto facendo". - Dropbox è pieno di persone che amano l'informatica - fanno un sacco di progetti collaterali, partecipano a varie conferenze, sono aggiornati con le più recenti novità nelle tecnologie. Alcuni possibili modi per far passare questo punto sono
- Durante il tempo delle domande chiedete: "Dropbox usa la tecnologia X per ottenere Y?"
- Parlate del vostro progetto secondario
- Quando l'intervistatore parla di quello che fanno a Dropbox chiedete "Ma non potreste risolvere questo problema usando X?" - non preoccupatevi se la risposta è no. A meno che tu non abbia detto qualcosa di totalmente irrilevante, dimostra che sei concentrato e hai capito ciò che è stato detto.
Nota che tutte le osservazioni di cui sopra rientrano in due categorie - attenzione ai dettagli e passione per l'informatica - caratteristiche che definiscono il team di ingegneri di Dropbox.