Com'è un'intervista a Toptal?

Mar 25 2023
Toptal ha definito chiaramente le fasi dell'intervista sul proprio sito web. Ti racconterò la mia esperienza di intervista con toptal.

Toptal ha definito chiaramente le fasi dell'intervista sul proprio sito web. Ti racconterò la mia esperienza di intervista con toptal.

Il primo passo è un colloquio Skype in cui l'intervistatore parlerà della tua precedente esperienza, curriculum o qualcosa di generale. Lo scopo del colloquio è verificare le tue capacità di parlare inglese. Chiunque abbia discrete capacità orali in inglese dovrebbe superare facilmente questo round

Il secondo passaggio è un test di programmazione, in cui ti vengono poste tre domande di programmazione da risolvere in 90 minuti su Codility. I test di codility giudicano il codice sulla correttezza e sulle prestazioni , che è diverso da quello che fanno altre piattaforme di codifica simili come leetcode o hackerrank.

La correttezza si riferisce a quanti casi limite passa il tuo codice. Ad esempio, se hai a che fare con una funzione che accetta l'array Integer come input, i potenziali casi limite potrebbero essere:

  • la lunghezza dell'array è zero
  • la lunghezza dell'array è un numero molto grande
  • la lunghezza dell'array è piccola ma ogni numero nell'array è molto grande. Quindi, se stai facendo una somma o un prodotto di un numero in qualsiasi punto del programma, può superare l'intervallo di numeri interi

Le prestazioni si riferiscono alla velocità di esecuzione del programma. In termini di programmazione, complessità del tuo programma. Se il problema potesse essere risolto in complessità O (log n) e tu lo risolvessi in complessità O (n) coprendo tutti i casi di test, otterresti comunque solo 50/100.

Il modo migliore per migliorare nei test di codilità è esercitarsi sulla codilità. Ci sono molte sfumature dipendenti dalla lingua che puoi imparare solo esercitandoti sulla stessa codifica. Ad esempio, in C++, se stai memorizzando una somma di numeri in una variabile, rendila lunga anziché int o il tuo programma potrebbe interrompersi per l'input con numeri grandi.

Per superare il test di codilità Toptal hai bisogno di 120/300. Ci sono tre problemi ciascuno pesa 100 punti. Di queste tre domande, una sarebbe facile, una media e una difficile. Obiettivo per segnare 100 in quello facile. 50 e 50 in medio e duro. Per medio e difficile dare una soluzione corretta ma non efficiente.

Il terzo round è il test di codifica dal vivo. Secondo me questo è il round più duro di tutti. Questa sarà una sessione di Skype o Google Hangouts in cui l'intervistatore ti chiederà di condividere il tuo schermo. L'intervistatore ti fornirà due affermazioni del problema una dopo l'altra e dovrai codificare la soluzione in 20 minuti ciascuna. Se stai passando una buona giornata, l'intervistatore potrebbe dedicare un minuto o due in più.

Queste domande non sono algoritmicamente difficili, ma certamente richiedono che tu abbia codificato attivamente, familiarità con la sintassi del linguaggio che intendi utilizzare. La chiave per questo round è essere pre-preparati per questo round. Si dovrebbe avere una configurazione dell'ambiente in cui il programma sta già prendendo un input da un file. Ad esempio un possibile formato di input può essere:

Array 2-d di numeri interi:

  • 91 90 91 10 21 30 41 51 61
  • 21 30 40 50 60 71 81 91 31
  • 21 41 50 61 70 31 41 51 61
  • 91 90 91 10 21 30 41 51 61
  • ciao sono stringa

Questo ti darà un vantaggio nel problema.

Il quarto round è il round del progetto. Ti verrà data una scelta in base alla tua esperienza. Ho scelto un progetto di backend.

Personalmente ho trovato il progetto difficile e ho dovuto dedicarci molto tempo. La mia precedente esperienza lavorativa di codifica back-end mi ha sicuramente aiutato. Direi che sarebbe estremamente difficile per qualcuno che ha un'esperienza da zero a zero di codifica back-end. Assicurati di coprire ogni punto menzionato nella dichiarazione del problema, fai domande alla persona che ti intervisterà se non sei sicuro di nessuno dei requisiti. Ti auguro il meglio :)