Le 28 migliori domande e risposte per interviste agli ingegneri di dati per principianti ed esperti

Pubblicato: 2020-03-11

Ti stai preparando per un colloquio ma non sai come procedere? Puoi iniziare con il nostro elenco di domande e risposte per interviste agli ingegneri di dati.

Le interviste agli ingegneri dei dati sono una delle più difficili da decifrare. C'è così tanto che dovresti sapere. Ma non preoccuparti, perché il nostro elenco di domande per il colloquio ti aiuterà in questo senso. Dopo aver esaminato questo elenco, conosceresti le risposte a molte domande importanti che un reclutatore potrebbe porre. Inoltre, questo elenco ti darà un'idea di cosa dovresti studiare e imparare mentre ti prepari per il colloquio.

Iniziamo.

Principali domande e risposte per l'intervista con l'ingegnere dei dati

D.1 – Che cos'è l'ingegneria dei dati?

L'ingegneria dei dati è un approccio di ingegneria del software allo sviluppo e alla progettazione di sistemi informativi. Si concentra sulla raccolta e l'analisi dei dati. Mentre i data scientist eseguono varie attività con i big data, qualcuno deve prima raccogliere tutti questi dati e i data engineer eseguono tale attività. I data engineer sono anche responsabili dello sviluppo e della manutenzione dei database. Gli ingegneri dei dati convertono i dati grezzi in dati utilizzabili.

D.2 – Cosa intendi per Data Modeling?

Quando crei un modello di dati per un sistema informativo in modo da poter tenere traccia dei loro dati, si chiama modellazione dei dati. Questi modelli di dati diventano tabelle in un DB (database). Ad esempio, se desideri analizzare i comportamenti dei tuoi clienti, ogni cliente nel tuo database sarebbe un modello di dati. È la rappresentazione concettuale dei valori dei dati associati alle regole.

D.3 – Cos'è Hadoop?

Hadoop è una raccolta software open source di utilità che consente di utilizzare una rete di più computer per risolvere problemi relativi ai big data. Dispone di vari componenti che consentono di elaborare enormi quantità di dati. Lo sviluppatore di Hadoop è la fondazione Apache. La sua vasta raccolta di utilità e componenti consente di eseguire in modo efficiente molte potenti applicazioni di big data.

D.4 – Quali sono i diversi componenti di Hadoop?

Hadoop è composto principalmente da 4 componenti e sono HDFS, MapReduce, YARN e Hadoop Common.

HDFS è il file system che memorizza tutti i dati di Hadoop. Ha una larghezza di banda elevata in quanto è un sistema di archiviazione distribuito.

MapReduce elabora grandi quantità di dati; YARN è la gestione delle risorse di Hadoop e alloca le risorse necessarie di conseguenza. Hadoop Common è un gruppo di librerie e utilità che puoi utilizzare in Hadoop.

D.5 – Che cosa significa HDFS?

HDFS è un componente Hadoop. HDFS sta per Hadoop Distributed File System.

D.6 – Cos'è un NameNode?

Un NameNode fa parte dell'archiviazione dei dati in HDFS e tiene traccia dei diversi file presenti nei cluster. I NameNode non memorizzano i dati. Memorizzano i metadati di DataNodes, dove HDFS memorizza i suoi dati effettivi.

D.7 – Qual è la differenza tra dati non strutturati e strutturati?

I sistemi archiviano i dati non strutturati in strutture di file non gestite mentre l'archiviazione per i dati strutturati è DBMS. Il ridimensionamento dello schema dei dati strutturati è impegnativo, ma è abbastanza facile da eseguire con i dati non strutturati. Utilizzeresti ELT (Extract, Transform e Load) per i dati strutturati. D'altra parte, dovresti eseguire l'elaborazione batch o l'immissione di dati.

D.8 – Quanti tipi di schemi di progettazione sono presenti in Data Modeling? Quali sono?

Esistono due tipi di schemi di progettazione nella modellazione dei dati, che sono: schema Snowflake e schema a stella.

D.9 – Cosa succede quando Block Scanner trova un blocco di dati danneggiato? Spiegare.

Questa è una delle domande più popolari dell'intervista agli ingegneri dei dati . Quindi assicurati di prepararlo prima che Block Scanner trovi un blocco di dati danneggiato, DataNode lo segnala a NameNode. Quindi, il NameNode inizia a creare una replica del blocco corrotto utilizzando uno dei suoi modelli esistenti. Se il sistema non elimina il blocco di dati danneggiato, crea tante repliche quante sono il fattore di replica. Il conteggio delle repliche deve corrispondere allo stesso modo.

Q.10 – Assegna un nome a tutti i file di configurazione XML presenti in Hadoop.

I file di configurazione XML presenti in Hadoop sono HDFS-site, Mapred-site, Yarn-site e Core-site.

D.11 – Che cos'è un blocco in HDFS? Che cos'è uno scanner a blocchi?

In Hadoop, un blocco è l'unità di dati più piccola. Un Block scanner è un componente che controlla e verifica i blocchi presenti su un DataNode. Hadoop divide i file di dati di grandi dimensioni in piccoli blocchi di dati per facilitare l'archiviazione.

Q.12- Quali messaggi invia un DataNode al NameNode?

I DataNode inviano segnali ai NameNodes per informarli che stanno funzionando. Il nome di questi segnali è Heartbeat. E se un DataNodes non riesce a inviare un heartbeat, NameNode determina che è morto e ha smesso di funzionare.

D.13 – Indica le V centrali dei Big Data.

Le quattro V centrali dei big data sono Velocity, Variety, Volume e Veracity.

D.14 – Cosa si intende per COSHH?

COSHH sta per Classification and Optimization-based Schedule for Heterogeneous Hadoop systems.

Q.15 – Puoi descrivere lo Star Schema?

Lo schema a stella ha una struttura simile a una stella; ecco perché ha il suo nome. Il centro della stella potrebbe avere una tabella dei fatti con varie tabelle dimensionali ad essa associate. Gli ingegneri dei dati lo usano per interrogare set di dati sostanziali.

D.16 – Che cos'è lo schema Snowflake?

Uno schema a fiocco di neve è una forma di schema a stella. L'unica differenza è che ha dimensioni aggiuntive e prende il nome dalla sua struttura a fiocco di neve. Ha tabelle dimensionali normalizzate, grazie alle quali ha altre tabelle.

D.17- Quali sono i metodi principali di un riduttore in Hadoop?

Esistono diversi metodi di base in Reducer. Il primo è setup() che configura i parametri, cleanup() pulisce i set di dati temporanei e il Reducer esegue il metodo reduce() con ogni attività ridotta.

D.18 – Cos'è FSCK?

FSCK sta per File System Check. È un comando di HDFS e utilizza questo comando per rilevare problemi e incoerenze in un file.

D.19 – Hadoop ha più modalità? Se sì, quali sono?

Sì, Hadoop ha tre modalità distinte. Sono: modalità standalone, modalità completamente distribuita e modalità pseudo distribuita.

D.20 – Cosa significa YARN?

YARN sta per Yet Another Resource Negotiator.

D.21 – Come si protegge Hadoop?

A tale scopo, abiliterai prima la crittografia a riposo e in transito. Dovrai utilizzare le versioni sicure dei protocolli che utilizzi in Hadoop. Consentirai a SASL di proteggere i dati RPC. È possibile abilitare SASL tramite la proprietà hadoop.rpc.protection.

Proteggerai anche il canale di autenticazione. Il client può utilizzare il timestamp del canale di autenticazione per ottenere un ticket di servizio, che è quindi possibile utilizzare per l'autoautenticazione.

Q.22 – Puoi approfondire HDFS (Hadoop Distributed File System)?

Hadoop è in grado di lavorare con file system distribuiti come FS, HFTP e S3. Il file system di Google è la base per HDFS e può essere eseguito su un grande cluster di piccoli sistemi.

D.23 – Quali sono le differenze tra Snowflake e Star Schema?

Nello schema Star, hai una maggiore possibilità di ridondanza dei dati, che non è il caso dello schema Snowflake. Il design del DB dello schema Star è più semplice di Snowflake. Il complesso join dello schema Snowflake rallenta l'elaborazione del cubo, cosa che non accade con lo schema Star.

D.24 – Che cos'è un battito cardiaco in Hadoop?

In Hadoop, ci sono due tipi di nodi, NameNode e DataNode. Il NameNode ha la responsabilità di archiviare i metadati dei DataNode e di tenere traccia del loro stato. I DataNode inviano segnali al NameNode per informarli che sono vivi e stanno lavorando. Questo segnale è il battito cardiaco.

D.25 – Cosa intendi per Big Data?

Quando si hanno enormi quantità di dati non strutturati e strutturati che non è possibile elaborare con i metodi convenzionali, si parla di big data. I big data sono il campo dell'analisi e dell'utilizzo di set di dati altamente complessi per la raccolta di informazioni. I metodi tradizionali di analisi dei dati non funzionano bene con quantità così elevate di dati complessi. Nei big data, i data engineer hanno il compito di analizzare i dati grezzi e convertirli in dati utilizzabili.

D.26 – Quali materie e linguaggi di programmazione dovrebbe conoscere un data engineer?

Un ingegnere dei dati dovrebbe conoscere l'analisi delle tendenze, l'apprendimento automatico, SQL, Hive QL, probabilità, regressione e algebra lineare. Un data engineer potrebbe conoscere molti altri argomenti, ma questi sono un must.

D.27 – Quali sono le differenze tra DAS e NAS in Hadoop?

Questa è una delle domande più popolari per le interviste agli ingegneri dei dati, quindi presta particolare attenzione alla sua risposta. DAS sta per Direct Attached Storage e NAS sta per Network Attached Storage. La capacità di archiviazione del NAS è compresa tra 10^9 e 10^12 nel byte. D'altra parte, DAS ha una capacità di archiviazione di 10^9 byte. Anche i costi di gestione del NAS sono molto inferiori rispetto al DAS.

D.28 – Cosa si intende per distanza tra i nodi in Hadoop? Come lo calcoli?

In Hadoop, la distanza tra due nodi è uguale alla somma della lunghezza dei nodi più vicini. Puoi usare getDistance() per trovare la distanza tra due nodi in Hadoop.

Impara i corsi di scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Conclusione

Con l'aiuto di queste domande del colloquio, siamo sicuri che ti preparerai abbastanza facilmente. I colloqui di ingegneria dei dati non devono essere stressanti. Assicurati di dormire a sufficienza prima della riunione, molte persone diventano troppo ansiose.

E se hai domande relative all'ingegneria dei dati o alle interviste, non esitare a chiederci. Ci piacerebbe aiutarti.

Quali sono i compiti e le responsabilità dei data engineer?

Per gli ingegneri dei dati, la loro responsabilità principale è preparare i dati per scopi analitici o operativi. Come parte del settore IT, questi ingegneri creano pipeline di dati che collegano i dati da diversi sistemi di origine. Combinano, consolidano e purificano i dati prima di strutturarli per l'uso nelle applicazioni di analisi. La maggior parte dei team analitici delle aziende è composta da data engineer e data scientist che rendono i dati più accessibili e massimizzano l'ambiente dei big data della propria azienda. Gli ingegneri forniscono dati in formati utilizzabili ai data scientist, che utilizzano le informazioni per eseguire query e algoritmi per applicazioni di analisi predittiva, machine learning e data mining.

Quali sono le competenze richieste per lavorare come data engineer?

La conoscenza dello sviluppo e della gestione dei sistemi di database è un must per i data engineer. Dovrebbero essere fluenti nei linguaggi di programmazione come SQL, Python, R, ecc. e dovrebbero avere una conoscenza di base dell'apprendimento automatico e degli algoritmi. I data engineer dovrebbero anche conoscere le soluzioni di warehousing e gli strumenti ETL (Extract, Transfer, Load). La scienza dei dati è una disciplina altamente collaborativa e gli ingegneri dei dati collaborano con una varietà di parti interessate, che vanno dagli analisti di dati ai direttori tecnologici. Pertanto, le competenze trasversali, come buone capacità di comunicazione e capacità di cooperazione elevate, dovrebbero far parte delle competenze di ogni ingegnere di dati.

L'ingegneria dei dati è un buon percorso professionale? Quanto guadagna in media un data engineer?

Secondo il Dice 2020 Tech Job Report, l'ingegneria dei dati è l'opzione di carriera in più rapida crescita nella tecnologia nel 2019, con un aumento del 50% su base annua del numero di opportunità disponibili. Sta acquisendo importanza nel mondo tecnologico ed è diventata un'opzione di carriera redditizia con l'aumento della domanda di gestione delle informazioni. Con uno stipendio base di ₹ 4.57.532, gli stipendi degli ingegneri di dati aumentano con i crescenti anni di esperienza. I data engineer con 1-4 anni di esperienza guadagnano uno stipendio medio di ₹7.20.395, mentre i data engineer a metà carriera con 5-9 anni di esperienza e data engineer esperti con 10-19 anni di esperienza guadagnano un reddito totale medio di ₹ 12.94.336 e ₹ 18.67.992, rispettivamente.