Am mai dat încă 2 interviuri, fiecare de câte 45 de minute.
Pe 27 martie a decurs binişor interviul. Am vorbit exclusiv despre linux de data asta. Îmi aduc aminte distinct că am discutat despre zombie processes (lol zombies), fork bombs, ulimit, diferenţe între shell commands şi executabile, codurile de ieşire ale lui fork() în C, cum porneşti un proces din cod, permisiunile din linux (rwxst pe fişiere şi directoare, ce face fiecare), cum umountezi un fs care nu se lasă (lsof). Intervievatorul ăsta n-a mai fost aşa prietenos şi deschis ca primii 2, părea mai plictisit şi sictirit de mine, dar m-am descurcat ok.
Ăsta ar fi trebuit să fie ultimul interviu telefonic, situaţia fiind că după ăsta ori mă invită la un interviu on-site, ori nu. Numai că la vreo săptămână după interviu primesc email de la recrutorul din Irlanda că vor să-mi mai programeze un interviu telefonic. N-or fi fost convinşi, nu ştiu.
Ieri 11 am avut al patrulea interviu telefonic cu Google. Al patrulea. Iar 45 de minute de întrebări, de data asta mai mult axate pe reţelistică şi network stack-ul din linux. Dintre întrebări: cum se stabileşte o conexiune TCP (SYN - SYN ACK - ACK), de ce e nevoie de ăştia 3 paşi, ce mai e conţinut în pachetele astea, mai specific ce face window size-ul, care-s diferenţele între TCP şi UDP, care-s diferenţele între un pachet TCP şi o datagramă UDP, inclusiv din cod, ce aplicaţii/protocoale pe UDP ştiu şi de ce folosesc UDP, cum lucrează DNS-ul, ce tipuri de DNS entries cunosc, cum se cache-uieşte DNS-ul, ce-i TTL, ce-i SOA. A mai întrebat ce înseamnă o conexiune în TIME_WAIT (fumbled this one) şi cum arata o conexiune SMTP (să-i povestesc protocolul practic). Şi a trebuit să scriu şi ceva cod de data asta, a văzut că scrisesem că ştiu python, i-am zis că-s în curs de învăţare. M-a pus să scriu o bucată de cod python care afişează fiecare al treilea element al unui array începând cu elementul 4: după vreo 3-4 revizii de cod mi-a ieşit ceva funcţional. (Apropo, e stupid de incomod şi greu să scrii cod pe foaie şi dup-aia să-l dictezi prin telefon.) Însă în ultimele 5 minute m-a încuiat nasol: să scriu o funcţie care determină dacă un integer e putere a lui 2: banal, nu? numai că nu mi-a ieşit nici de-al dracu; am încercat ceva recursiv, dar m-am înpiedicat în rotunjiri. Scosesem ceva aproape funcţional când mi-a spus că ar trebui să mă uit la bitwise operations. Da, bine, superb, nu m-am mai jucat cu operaţii pe biţi de prin clasa a 9-a. Şi evident nu mi-a picat fisa; între timp m-am documentat niţel, şi într-adevăr, soluţia era foarte elegantă.
De data asta interviul s-a încheiat cu o notă nefavorabilă pentru mine, plus că după 4 interviuri devenisem eu relativ blazat şi nepăsător şi am impresia că s-a auzit în tonul meu. Rămâne de văzut dacă mă invită la interviu on-site sau nu, n-am curaj să dau un pronostic. A şi dacă mai vor înca vreun interviu telefonic, îmi bag picioarele, mi-a ajuns.
Şi mulţumesc bunilor mei prieteni care m-au sunat aseară după ce tocmai reuşisem să adorm, spunând că sună din partea Google-ului şi că vor să mă anunţe că-s un faggot, cu un accent americănesc indecent de realist (*points @ NSD*) :D.