Co by měl znát začínající datový inženýr: Nejčastější otázky při pohovoru
10.11.2022
Profese datového inženýra je ve světě IT stále běžnější a přitahuje stále více lidí. Dmytro Fedyukov je viceprezident pro práci s daty, zástupce technického ředitele ve společnosti Parimatch Tech a mentor kurzu datového inženýrství na Parimatch Tech Academy. Začínajícím datovým inženýrům radí, jak se připravit na pohovor, čemu firmy věnují pozornost během pohovoru, a proč jsou v této fázi důležitější měkké dovednosti než ty odborné.
A nyní k odborným otázkám…
Datový inženýr junior by měl vědět nebo alespoň umět mluvit o:
git
git clone
git config
git pull
git push
git merge
git add
git branch -D
git checkout -b atd.
Python
Virtuální prostředí
Pyenv
Poetry
Pip
Datové struktury
Rozšiřování
Dekorátory
Moduly
Cykly
Třídy
Asynchronní programování
Docker & Kubernetes
Sestavení dockeru
Spuštění dockeru
Docker cp
Co je to container?
Co je to pod a jak se liší od containeru?
Terraform
Terraform init
Terraform plan
Terraform apply
Struktura souborů projektu terraform
loops
Templatefile
Co je HDFS?
Co je to partitioning?
Jak je Hadoop uspořádán?
Co je lambda architecture?
Co jsou primární a sekundární klíče?
Co jsou to indexy?
Co je normalizace a denormalizace?
Jaký je rozdíl mezi relačním a nerelačním modelem?
Co jsou to formáty velkých dat?
K čemu slouží databáze NoSQL?
Co je to operace CRUD?
Správci balíčků: apt-get, apk, brew
Proměnné prostředí
cd ls -a | -lah
chmod
cat
sed
grep
| (pipe)
&& atd.
Co znamená SQL? Rozluštěte zkratku a popište její účel.
Jaký příkaz SQL se používá k vložení dat do tabulky?
Jak byste pomocí jazyka SQL vybrali z tabulky 01/27/2021 (název sloupce registrace datum) uživatele (sloupec příjmení jméno), jejichž jméno začíná latinským písmenem "T" (nerozlišuje se velikost písmen)?
Zobrazí operátor OR všechny záznamy, které odpovídají alespoň jedné z podmínek? Vrátí příkaz AND všechny záznamy, pokud jsou všechny podmínky pravdivé? (odpověď by měla být nepravdivá\pravdivá).
Jaký výraz SQL je použit k seřazení výsledků?
Co jsou to agregační funkce SQL? Uveďte příklad. A příklad požadavku na jednu agregační funkci podle vašeho názoru.
Jak pomocí jazyka SQL vypočítat medián a směrodatnou odchylku hodnoty Uveďte příklady požadavku.
Jaký je rozdíl mezi COUNT (DISTINCT (player_id)) a APPROXIMATE COUNT DISTINCT (player_id)? Který výraz pracuje rychleji ve velkých souborech dat? Bude zpracování dat stejné?
K čemu slouží funkce RANDOM() v jazyce SQL? Jaké typy úloh lze použít?
Co jsou to okenní funkce? K čemu se používají? Schopnost uvést příklady okenních funkcí.
Kódování v reálném čase
Živé kódování během pohovoru s datovým inženýrem není zdaleka povinnou fází. Používá se ve většině případů, kdy úroveň kandidáta nebyla během rozhovoru plně pochopena. Úkol živého kódování je pochopit, zda kandidát rozumí tomu co dělá a proč; zda rozumí základním věcem, jako jsou operátory, cykly, porovnávání vzorů atd. Pro začátečníky proto existuje jediná rada – snažte se proniknout do podstaty toho, co se učíte. Ne podle knihy, ale tak, jak tomu rozumíte. Dělejte chyby, opravujte je a učte se dál.
Zdroj: http://www.kasparpr.cz/
Foto: http://www.kasparpr.cz/
Očekávání od začínajícího datového inženýra
Nejprve je třeba, aby zaměstnavatel zjistil několik informací týkajících se kandidátů.Motivace kandidáta
Juniorská pozice je o učení. Tým, který přijme začínajícího specialistu, očekává, že bude dělat pokroky. V souladu s tím by ti, kteří jsou připraveni se učit, měli mít již splněné určité kroky. Pokud osoba absolvovala určité kurzy, má titul nebo jej právě získává, je to dobré znamení. Pokud uchazeč nemá absolutně nic, o čem by se dalo mluvit, nebo naopak absolvuje desítky kurzů najednou, je to špatné znamení. Protože v prvním případě člověk pravděpodobně nechce skutečně pokročit a v druhém případě zcela nerozumí tomu, co dělá a kam směřuje.Měkké dovednosti a jejich úroveň
Někdy je pro člena týmu důležitější mít lepší měkké dovednosti než „tvrdé“ technické dovednosti. Juniorští specialisté jsou právě takovým případem. Začátek kariéry je obdobím, kdy využíváte jednu část svých dovedností ke zvládnutí jiné. V souladu s tím musí začínající datový inženýr využívat všechny silné stránky své povahy, aby dosáhl pokroku. Je třeba umět kompetentně komunikovat s lidmi, kteří juniorního specialistu učí, efektivně vstřebávat nové informace a zpětnou vazbu od kolegů, umět zdůvodnit vlastní rozhodnutí a do jisté míry i improvizovat. Právě na to často dbají personalisté při pohovorech.Typ myšlení
V profesi datového inženýra je nejdůležitější právě inženýrská část. Inženýři jsou typem lidí, kteří nacházejí řešení jakéhokoli typu problému bez ohledu na to, zda má zkušenost s určitým ‚stackem‘ nebo technologií. Datový inženýr musí být často všestranný: někde napsat kód v Pythonu, někde v Bashi, přečíst kód v Javě atd.A nyní k odborným otázkám…
Datový inženýr junior by měl vědět nebo alespoň umět mluvit o:
git
git clone
git config
git pull
git push
git merge
git add
git branch -D
git checkout -b atd.
Python
Virtuální prostředí
Pyenv
Poetry
Pip
Datové struktury
Rozšiřování
Dekorátory
Moduly
Cykly
Třídy
Asynchronní programování
Docker & Kubernetes
Sestavení dockeru
Spuštění dockeru
Docker cp
Co je to container?
Co je to pod a jak se liší od containeru?
Terraform
Terraform init
Terraform plan
Terraform apply
Struktura souborů projektu terraform
loops
Templatefile
Datové inženýrství
Co je MapReduce?Co je HDFS?
Co je to partitioning?
Jak je Hadoop uspořádán?
Co je lambda architecture?
Datové typy a databáze
Co je to databáze?Co jsou primární a sekundární klíče?
Co jsou to indexy?
Co je normalizace a denormalizace?
Jaký je rozdíl mezi relačním a nerelačním modelem?
Co jsou to formáty velkých dat?
K čemu slouží databáze NoSQL?
Co je to operace CRUD?
Linux
Editory: nano, micro, sublime, viSprávci balíčků: apt-get, apk, brew
Proměnné prostředí
cd ls -a | -lah
chmod
cat
sed
grep
| (pipe)
&& atd.
Síť: HTTP/HTTPS, TCP/IP
SQLCo znamená SQL? Rozluštěte zkratku a popište její účel.
Jaký příkaz SQL se používá k vložení dat do tabulky?
Jak byste pomocí jazyka SQL vybrali z tabulky 01/27/2021 (název sloupce registrace datum) uživatele (sloupec příjmení jméno), jejichž jméno začíná latinským písmenem "T" (nerozlišuje se velikost písmen)?
Zobrazí operátor OR všechny záznamy, které odpovídají alespoň jedné z podmínek? Vrátí příkaz AND všechny záznamy, pokud jsou všechny podmínky pravdivé? (odpověď by měla být nepravdivá\pravdivá).
Jaký výraz SQL je použit k seřazení výsledků?
Co jsou to agregační funkce SQL? Uveďte příklad. A příklad požadavku na jednu agregační funkci podle vašeho názoru.
Jak pomocí jazyka SQL vypočítat medián a směrodatnou odchylku hodnoty Uveďte příklady požadavku.
Jaký je rozdíl mezi COUNT (DISTINCT (player_id)) a APPROXIMATE COUNT DISTINCT (player_id)? Který výraz pracuje rychleji ve velkých souborech dat? Bude zpracování dat stejné?
K čemu slouží funkce RANDOM() v jazyce SQL? Jaké typy úloh lze použít?
Co jsou to okenní funkce? K čemu se používají? Schopnost uvést příklady okenních funkcí.
Kódování v reálném čase
Živé kódování během pohovoru s datovým inženýrem není zdaleka povinnou fází. Používá se ve většině případů, kdy úroveň kandidáta nebyla během rozhovoru plně pochopena. Úkol živého kódování je pochopit, zda kandidát rozumí tomu co dělá a proč; zda rozumí základním věcem, jako jsou operátory, cykly, porovnávání vzorů atd. Pro začátečníky proto existuje jediná rada – snažte se proniknout do podstaty toho, co se učíte. Ne podle knihy, ale tak, jak tomu rozumíte. Dělejte chyby, opravujte je a učte se dál.
Zdroj: http://www.kasparpr.cz/
Foto: http://www.kasparpr.cz/