Lucčiny technické pohovory s NVIDIA

Zápisek o dvou technických pohovorech v NVIDIA bude delší než obvykle. Koho nezajímají detaily, může si přečíst tl;dr pod čarou.

Probíhají po WebExu, což je komunikátor podobný Skypu. Funguje tam něco jako sdílená nástěnka, kam se dá v průběhu hovoru psát nebo kreslit tak, aby to všichni zúčastnění viděli. To je šikovné zejména, když se po minutě monologu z druhé strany sami sebe ptáte, jestli jste na pohovoru nebo u anglického diktátu. Pohovorující mi text nakonec zkopíroval na nástěnku a já tam pak načrtla řešení.

Oba se mě na začátku zeptali na pár věcí z mého životopisu a pak se šlo na technickou část, kde jsem měla řešit různé algoritmické problémy (na programování nedošlo). Důležité je, jak člověk nad zadaným problémem přemýšlí. Je dobré nepanikařit, když hned řešení nevidíte a sdělit druhé straně své myšlenkové pochody. Zaječí úmysly si většinou nechávám pro sebe a snažím se nastínit naivní řešení, které pak vylepšuju. Pokud nenarazíte na úplného drsňáka, pomůže vám. Tento přístup radí spousta příruček a chytrých blogů, ale není úplně snadné se tím vždy řídit. Doporučuju trénovat na příkladech z internetu a když se budete cítit trochu sebevědomější, udělat si cvičné interview s kamarády, zkušenými vývojáři. Sebevědomí se zase znormalizuje (dík, Pájo a Nečko!).

Ve středu mě čekal hovor s inženýrem ze Skotska, který dřív studoval teoretickou fyziku, zabýval se simulacemi kapalin a v NVIDIA teď kromě jiného pomáhá přepisovat vědecké výpočty a různé výpočetně náročné aplikace tak, aby běžely na grafických kartách. To je vlastně pozice, o kterou se ucházím já. Nejdřív jsme rozebírali sčítání na mnoha procesorech, jakou by mělo složitost a jak by to vypadalo na GPU s latencí přístupu do paměti. Potom se diskuse stočila k akumulaci zaokrouhlovací chyby při aritmetických operacích u floating point. Celkově bych si dala tak 70%, bo ta druhá část úplně hvězdná nebyla.
Páteční pohovor byl dost náročný. Pan matematik je na seniorské pozici a moc se se mnou neštval. Začli jsme zlehka výměnou dvou proměnných bez použití třetí pomocné. To je celkem klasická otázka, takže několik řešení znám. Dalších sedm otázek se týkalo například řazení, rekurze nebo coalescingu v GPU. Týpek moc nedával najevo, jak je s odpověďmi spokojený. Občas se jen doptal, jak je to se složitostí nějakého algoritmu, nebo poznamenal, že by to šlo udělat ještě líp. Po skončení hovoru jsem to viděla tak padesát na padesát.

Zpětně si přehrávám své odpovědi a říkám si, že jsem měla některé věci víc rozvést nebo říct jinak. Nervy jsou ale sviňa a vydala jsem v tu chvíli ze sebe maximum, takže jsem vlastně spokojená. Dalším krokem v náborovém procesu by byly dva programovací domácí úkoly. Toš uvidíme, jestli mi je pošlou.


tl;dr První pohovor celkem cajk, na druhém jsem dostala trochu sadu a teď čekám na verdikt ohledně postupu do dalšího kola.

Komentáře