10 domande a un colloquio per lavorare nel machine learning

10 domande a un colloquio per lavorare nel machine learning

4 Febbraio 2022 ai 0
domande colloquio e problemi

Qualche trucchetto da sviluppatore per lavorare nel machine learning, un po’ di domande attitudinali e psicologiche, e infine una bella interrogazione con domande mirate sull’analisi dati: queste sono le cose che normalmente vengono chieste a un colloquio per lavorare nel machine learning/analisi dei dati.

Sono sicuro che se sei approdato qui, le conoscenze non sono un problema per te. Però è sempre meglio sapere a cosa si va incontro quando si entra nel mondo del lavoro dopo – ad esempio – una laurea in informatica, statistica, ingegneria o qualsiasi altro percorso di studio che ti abbia preparato al machine learning.

Ecco perché ho raccolto le 10 domande più comuni che vengono fatte ai colloqui per data scientist.

Ovviamente, non pretendo di essere esaustivo, ma solo di dare un indirizzo di massima a chi vuole entrare nel meraviglioso mondo dei dati. Se hai dubbi puoi chiedere al nostro bot di intelligenza artificiale.

Iniziamo!

1) Quale modello useresti qui?

L’intervistatore potrebbe sottoporti un dataset e chiederti: “quale modello usi per interpretarlo e darmi una previsione decisionale? Rete neurale o albero di decisione?” 

Nel caso che ti stanno proponendo sarà difficile trovare una risposta “giusta”, però puoi cogliere la palla al balzo per parlare del compromesso tra spiegabilità e accuratezza. 

Devi prendere una decisione di consulenza? Allora dovrai anche spiegare perché il modello è arrivato alla conclusione che proponi. 

Se invece si parla di trading azionario, dovrai invece scegliere il modello che ti garantisce la maggiore accuratezza (perché anche una minima percentuale di errore può costituire una grossa perdita economica). 

Cerca di parlare anche dei costi effettivi delle due ipotesi, per completare la tua analisi. 

2) Compromesso tra bias e varianza

Il compromesso tra bias e varianza prevede in sostanza che la stima dei parametri possa essere ridotta aumentando il bias nel parametro.

Questo può portare a un problema, di cui ti invito a parlare in sede di colloquio di lavoro: discuti di come si rischiano overfitting e underfitting, spiega il perché, e infine proponi delle soluzioni percorribili.

Si può aumentare la complessità del modello per ridurre un bias alto e abbassare la varianza selezionando meno caratteristiche per il machine learning.

3) Differenza tra set di addestramento, test e validazione

La domanda è molto comune, ed è piuttosto semplice rispondervi.

Il set di addestramento serve per costruire il modello, addestrarlo e adattarlo secondo necessità. Invece, il set di test è una convalida: serve per stimare il punto di overfitting (arresto anticipato) o per la messa a punto dell’iper parametro, e il set di test è usato per stimare l’errore di generalizzazione.

Parla anche della percentuale di dati che usi per ogni set, su come effettui la convalida, o come tratterai un dataset che presenta connessioni temporali naturali. Insomma, parla finché non vedi che chi ti sta intervistando è soddisfatto.

4) Domande su SQL per lavorare nel machine learning

Forse non ci si aspetta che tu scriva una query perfettamente ottimizzata, ma devi conoscere le basi di SQL per poter superare un colloquio per un lavoro nel machine learning.

A volte le domande sono mascherate da domande su pandas, o sui diversi tipi di join. A volte può venire chiesto che cosa produca una certa query, oppure chiedono di spiegare conceti come view, normalizzazione, o chiavi primarie.

5) Come affronteresti un problema in cui non hai label?

A volte le domande vengono poste per capire se si conosce un concetto. Questa domanda è un buono spunto per parlare di differenza tra apprendimento non supervisionato e supervisionato.

Oppure, puoi parlare di annotazione e di come si crea un software di labeling. Se ti faranno questa domanda, potresti parlare di versioni specifiche di algoritmi di clustering come K-Nearest-Neighbours o Gaussian-Mixture-Models, e mostrare di averne la padronanza. Considera sempre il settore nel quale ti stai candidando e il core business dell’azienda, quando formuli la tua risposta.

6) Cos’è il Pep 8

Pep8 è una serie di regole che riguardano lo stile del codice Python, che contiene ad esempio indicazioni su quanti spazi dovrebbero esserci dopo un argomento o su come dovrebbero essere strutturate le importazioni.

Se il colloquio non riguarda Python ma altri linguaggi, assicurati comunque di conoscere le relative guide di stile (ce ne sono per C++, Scala, e altri).

Lavorerai con altri programmatori, quindi potrebbe esserti richiesto di rendere il tuo codice più comprensibile rispettando alcune regole di forma.

7) Se avessi un’API come caricheresti un CSV?

La prima risposta che ti viene in mente è “con pandas, ovviamente!”. È quello che penso anch’io, e credo che l’implementazione pandas sia migliore di quanto potrei mai fare io. 

Anche se può essere vero, meglio non mostrare troppa sicurezza nella risposta. 

Meglio dire che testeresti prima il metodo e cercheresti di implementarlo in vari modi. Menziona magari Parquet, Cython o il caricamento in memoria.

8) Matrice di errore per lavorare nel machine learning

La matrice di errore o matrice di confusione è piuttosto semplice da spiegare. Non ha molto senso mettersi a elencare tutte le possibili risposte nella matrice, piuttosto è meglio dichiarare brevemente che contiene il vero positivo, il falso positivo e che consente di calcolare la precisione e il richiamo di precisione.

Guarda la reazione che ha la persona o le persone che ti stanno facendo il colloquio, e valuta in base alle loro espressioni o al loro interesse quali elementi devi approfondire di più, e quando devi fermarti perché sono soddisfatti della risposta.

9) Rilevamento delle anomalie

Prima considerazione da fare: spiega la differenza tra outlier e anomalie. Non sono in molti a conoscere la differenza, ma è in realtà importantissima quando si lavora sul campo.

Chi considera i due termini di significato diverso considera le anomalie come “errori” nei dati che non provengono dalla distribuzione, mentre gli outlier sono comunque parte della distribuzione.

L’argomento è ampio, e puoi spaziare a tuo piacimento. 

Si può anche parlare di vari metodi statistici come le Isolation Forest, i Modelli Mistura Gaussiani, e anche solo la deviazione standard. Questi argomenti ti bastano per riempire diversi minuti del colloquio di lavoro, il che è ottimo per mostrare che ne sai dell’argomento.

10) Implementare API di Machine Learning

Ed infine, eccoci alla sfida di codifica. È un passaggio quasi obbligato di un colloquio nel mondo del machine learning. Potrebbero chiederti di addestrare un modello su un dataset e di costruire un set di API per interfacciarti con esso.

Dovrai inserire docker, caricamento di modelli e test, spiegando nel dettaglio quali sono i fattori a cui bisogna prestare più attenzione. Cerca di impiegarci un tempo ragionevole!

Conclusione

Occuparsi di machine learning non significa solo saper rispondere con prontezza e proattività alle domande sopra. Significa anche avere la corretta attitudine comportamentale e saper cooperare in modo professionale con gli altri dipendenti dell’azienda che entreranno a contatto con te.

Ecco perché vorrei concludere questo elenco di domande con un capitolo per molti spinoso: le domande comportamentali.

Domande comportamentali

Come ti comporteresti se fossi in disaccordo con un partner o un cliente dell’azienda sulle caratteristiche migliori per un modello di machine learning?

Pensa bene a come risponderesti, immaginando anche il background di questa ipotetica persona. 

Devi dirgli che c’è un bias? Devi entrare nei dettagli perché è un data scientist come te? Oppure meglio adattare la spiegazione a un esperto di business, che magari conosce solo excel?

Queste domande sono estremamente comuni anche per le posizioni entry level, ma soprattutto per quelle senior: qui, infatti, ci si interfaccia con persone di formazione diversa dalla nostra, e bisogna essere in grado di rendere chiari i concetti e le proprie idee per favorire una comunicazione ottimale. 

Ora che hai un’idea di massima di quali sono le domande più comuni a un colloquio di lavoro per chi si occupa di machine learning, non pensare che sia finita.

Perché il primo requisito, il più importante, è essere un ottimo Data Scientist, Software Engineer, e Machine Learning Engineer.

Se sei in possesso di questo requisito, superare il colloquio di lavoro sarà un gioco da ragazzi!

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *