Le Top 3 competenze di SQL necessarie per passare alla fase successiva

Top 3 SQL skills for advancing to the next stage

Aiuto per l’intervista tecnica per professionisti dei dati

Crediti immagine: Arnold Francisa su Unsplash

Se aspiri e stai attualmente facendo colloqui per ruoli come data scientist, data analyst e data engineer, è probabile che ti troverai ad affrontare uno o più colloqui tecnici che richiedono la scrittura di codice dal vivo, di solito coinvolgendo SQL. Mentre i colloqui successivi potrebbero richiedere diversi linguaggi di programmazione come Python, che è comune nel campo dei dati, concentriamoci sulle tipiche domande di SQL che ho incontrato durante questi colloqui. Per il proposito di questa discussione, supponiamo che tu conosca già concetti fondamentali di SQL come SELECT, FROM, WHERE, così come le funzioni di aggregazione come SUM e COUNT. Entriamo nei dettagli!

1. Padronanza delle join e dei tipi di tabelle

Senza dubbio, la domanda SQL più comune riguarda le join tra tabelle. Potrebbe sembrare troppo ovvio, ma ogni colloquio a cui ho partecipato si è incentrato su questo argomento. Dovresti sentirti a tuo agio con le join interne e le join sinistre. Inoltre, è preziosa la competenza nel gestire self-join e unioni. Altrettanto importante è la capacità di eseguire queste join tra diversi tipi di tabelle, in particolare tabelle di fatti e dimensioni. Ecco le mie definizioni approssimative per questi due termini:

Tabella di fatti: Una tabella che contiene numerosie righe ma relativamente pochi attributi o colonne. Immagina un esempio in cui un rivenditore online mantiene una tabella “ordini” con colonne come: data, customer_id, order_id, product_id, units, amount. Questa tabella ha pochi attributi ma contiene un enorme volume di record.

Tabella di dimensioni: Una tabella dimensionale con meno righe ma molti attributi. Ad esempio, la stessa tabella “cliente” del rivenditore online potrebbe contenere una riga per cliente, con attributi come customer_id, first_name, last_name, ship_street_addr, ship_zip_code e altro ancora.

Capire questi due tipi di tabelle principali è importante. È cruciale comprendere perché e come unire tabelle di fatti e dimensioni per garantire risultati accurati. Consideriamo un esempio reale: la domanda del colloquio presenta due tabelle (“ordini” e “cliente”) e chiede:

Quanti clienti hanno acquistato almeno 3 unità nella loro vita e hanno un codice postale di spedizione 90210?