Rezultate testare Informatica – anul I

Cei incepatori sunt OK, s-au descurcat binisor la test, vor invata restul pe traseu.

Cei care au facut mate-info, sunt autodidacti sau au mai facut in vreun fel sau altul programare s-au descurcat bine, binisor si slabut.

Din pacate, cred ca cei care ati facut matematica-informatica mai aveti de recuperat. Sunt cateva lucrari peste medie, ale studentilor de mai jos, iar pe acestia vreau sa-i testez din nou, pentru un cerc de programare.

Acestia sunt:

Micu Radu Marian, Macedon Silviu, Grigoriu Stefan, Obreja Sergiu, Bejan Andrei, Neagu Constantin Razvan, Chiriac Corina Adina, Toma Victor Catalin, Juganaru Mihaela, Mihaila Monica, Rotari Radu, Visniuc Viorel George, apoi:

Matei Ionel, Gitlan Irina, Gorea Alexandru, Grigoras Raluca Ioana, Florea Alexandru, Traistaru Razvan,

apoi

Ladaru Constantin Catalin, Puntaru Costica, Pradais Ovidiu, Iftimie Codrin, Cobzaru Catalin Cosmin, Teiosanu Mihaela.

Cea mai buna lucrare a fost a lui Damian Constantin Sebastian, apoi a lui Obreja Sergiu. Dar cum o lucrare nu spune totul, va mai fi una pentru toti cei enumerati aici.

Concret si abstract

Cazuri particulare si generale. De la concret la abstract si invers. Constante si variabile
• Concret si abstract
Un programator trebuie sa gandeasca abstract. Acest lucru este atat de important in programare,
incat orice incercare de a invata sa programezi, fara a avea o gandire abstracta, este sortita esecului.
Cine nu poate intelege abstractiunile matematice din scoala generala sau liceu, de pilda, nu poate sa
ajunga sa programeze (bine). Ca programatori, va trebui sa realizati diferite programe pentru
oameni foarte diferiti ca nivel cultural, pregatire. Veti intra in contact cu economisti, ingineri,
psihologi, sau oameni de litere, medici sau avocati, care va vor solicita sa le faceti un program pe
calculator care sa le rezolve anumite probleme din domeniul lor de activitate. Probabil cu exceptia
inginerilor, veti constata ca majoritatea au un anumit mod de a se exprima si de a va prezenta
problema de rezolvat incompatibil, intr-o oarecare masura, cu modul dumneavoastra de a vorbi si de
a intelege problema. Cel mai bun sfat ar fi acela de a-i lasa sa va explice tot ce vor, fara sa-i
intrerupeti, dupa care sa incercati sa „preluati dumneavoastra carma” si, prin intrebari simple, la
care interlocutorul sa va raspunda doar prin da sau nu, sa intelegeti esenta problemei pe care trebuie
sa o rezolvati.
In general, beneficiarii programului dumneavoastra, vor fi foarte concreti. Ei nu vor prezenta in
linii mari, generale, lucrarea pe care vor sa o informatizeze, generale, ci vor da tot soiul de exemple,
care nu au nici o relevanta pentru problema, din perspectiva dumneavoastra. Va trebui sa
identificati, in explicatiile interlocutorului sau in raspunsurile acestuia, urmatoarele elemente:
– ce se da si ce se cere programului, pentru ca orice program/algoritm prelucreaza anumite date de
intrare pentru a obtine niste informatii, drept rezultate;
– cum se vor da datele de intrare si in ce ordine, ce conditionari exista intre ele, pentru a putea
proiecta interfata cu utilizatorul, pentru introducerea datelor;
– ce informatii se asteapta de la program si in ce forma, in ce ordine, pentru a sti cum sa proiectati
interfata cu utilizatorul, pentru extragerea rezultatelor;
– care sunt formulele de calcul care se folosesc, in ce ordine si ce conditionari exista intre ele.
In privinta interfetei cu utilizatorul, fiti convinsi ca beneficiarul se va razgandi de mai multe ori,
mai ales atunci cand programul capata o forma apropiata de cea finala, de aceea nu trebuie sa
acordati prea multa atentie acestui aspect, pentru inceput. Concentrati-va asupra formulelor de
calcul si e posibil ca aici sa aveti multe dificultati de a le obtine din cauza ca ele nu va vor fi
prezentate, pur si simplu! Cei mai multi prefera sa va dea exemple si dumneavoastra sa deduceti
singur formulele de calcul, decat sa va spuna care este formula din teorie. Deci, va trebui sa gasiti
generalul din cazurile lor particulare si sa abstractizati tot ceea ce va prezinta ei concret.
• Constante si variabile
Sa revenim la problema desenarii pe ecranul calculatorului. Sa presupunem ca dispunem de un
mediu de programare, in care, pentru a desena un cerc de raza r, cu centrul cercului in punctul de
coordonate x,y trebuie sa folosim instructiunea CIRCLE(x,y,r). De obicei, instructiunile sunt
prezentate folosind variabile (precum x, y si r) si nu constante (numere ca 100, 150, 215, 342).
Pentru a desena un cerc avand centrul in punctul de coordonate 200, 300, si cu raza de 10 de unitati
vom scrie, asadar, CIRCLE(200,300,10), pastrand ordinea celor trei parametri ai instructiunii. La
fel, putem particulariza folosirea lui CIRCLE, si pentru cercul de coordonate 200, 300 si de raza 20:
CIRCLE(200,300,20). Evident, cele doua cercuri sunt concentrice, pentru ca au aceleasi coordonate
pentru centru.
Pentru a desena 15 asemenea cercuri concentrice, de raze de 10, 20, 30 etc., ar trebui sa folosim
15 instructiuni CIRCLE, in care cel de-al treilea parametru sa fie schimbat, pe rand, in 10, 20
s.a.m.d.. Acest mod de rezolvare a problemei desenarii celor 15 cercuri concentrice denota o
gandire pur concreta, care se bazeaza pe utilizarea a 15 cazuri particulare de desenare a unor
cercuri. Un programator bun nu va proceda asa, el va cauta sa gaseasca o regula pentru desenarea
mai usoara a celor 15 cercuri, eventual pomenind o singura data de comanda CIRCLE. Astfel, el va
incerca sa inlocuiasca constantele numerice 10, 20, 30, …, 150, cu o singura data, care sa varieze
intre 10 si 150, din 10 in 10. O asemenea data se numeste variabila. Ea isi va schimba valoarea, in
functie de necesitati. Astfel, notand cu R acea variabila, cele cincisprezece cazuri concrete vor
ajunge cazul abstract CIRCLE(200,300,R), unde R variaza intre 10 si 150, cu pasul 10. Limbajele
de programare ofera diferite posibilitati de a-l face pe R sa ia pe rand valorile 10, 20 etc., dar putem
sa ne gandim mai departe la o alta variabila I, care sa varieze intre 1 si 15, si sa scriem
CIRCLE(200,300,10*I), unde I variaza intre 1 si 15, cu pasul 1. Putem continua, considerand un
caz si mai general, deci mai abstract, in care pasul sa nu fie 10, ci un numar oarecare, reprezentat de
variabila P. Atunci vom scrie CIRCLE(200,300,P*I), considerandul-l pe I intre 1 si 15. Dar s-ar
putea ca sa avem nevoie sa desenam nu doar 15 cercuri, ci 20 sau 50, adica un numar N oarecare. Si
poate acestea vor avea centrul intr-un punct de coordonate X, Y, oarecare, iar razele sa inceapa sa
creasca de la valoarea T. Astfel, cel mai abstract caz este: CIRCLE(X,Y,T+P*I), unde I ia valori,
din 1 in 1, intre 0 si N-1. Astfel, X, Y, T, P si N sunt date de intrare in problema, I este o variabila
de lucru, iar rezultatul ar fi cele N cercuri desenate pe ecran.
Procesul de abstractizare este foarte complex si este greu de explicat ce mecanisme intelectuale
si psihice intra in joc, atunci cand abstractizam. Trebuie sa dovedim multa imaginatie si sa incercam
sa ne gandim si la alte situatii decat cele concrete cu care avem de a face la un moment dat. Pentru a
abstractiza cat mai mult o problema si rezolvarea ei, va trebui sa ne punem intrebari de genul „ce-ar
fi daca nu as cunoaste aceasta valoare?” sau „ce-ar fi daca as schimba aceasta valoare cu alta?” si sa
incercam sa raspundem la asemenea intrebari, rescriind algoritmul.

Epilog

Epilog

(vezi sursa originala la http://infoarena.ro/blog/epilog-bogdan-patrut si comentarii)

Acum 10 ani am publicat un manual de Programarea calculatoarelor electronice (la Teora, dupa programa de atunci de clasa a X-a). Am scris atunci un epilog la acel manual, pe care editorii nu l-au inclus. Probabil considerau ca e nepotrivit. Le-am inteles decizia.

Editura InfoData din Cluj doreste sa republice acest manual al meu. Cartea se va numi „Tehnici de programare si structuri dinamice de date”. Doresc (in numele meu personal, ca si al colaboratorului meu, editorul) sa va cer sfatul in privinta daca ar fi bine sau nu ca acest epilog sa fie inclus in carte.
Multumesc!

Bogdan Patrut

Epilog

Ne punem intrebarea, la finalul acestei carti: este utila o asemenea carte? Si daca da (sau daca nu), ne intrebam si de ce.

Cartea pe care o aveti in maini este un manual de Programarea calculatoarelor. Un manual se adreseaza unui grup oarecum restrans de cititori, prin insasi denumirea sa de manual. Aici, manualul se adreseaza elevilor de liceu (clasa a X-a) si profesorilor sai, care studiaza la clasele de informatica. Astfel de clase exista (si existau) in liceele de informatica, dar exista si in acele licee teoretice sau chiar industriale, economice si au aparut mai ales dupa Revolutie, din dorinta conducerilor liceelor de a atrage elevi buni in clasa a IX-a.

Cat de pregatiti au fost acesti elevi pentru viitorul lor dialog cu calculatorul e greu de stabilit. Cat de bine pregatiti pentru profesia pe care o vor urma la finele liceului, daca ea va fi in domeniul informaticii sau va avea in vreun fel sau altul tangenta cu informatica si calculatorul, vom vedea peste cativa ani.

Din experienta ultimilor ani de invatamant preuniversitar informatic se pot trage mai multe concluzii.

In primul rand, se observa ca foarte multi elevi doresc sa urmeze profilul informatica, chiar daca unii dintre ei nu au vazut sau nu au folosit vreodata un calculator.

Sunt multi altii care au avut posibilitatea de a folosi un calculator personal, fie la ei acasa, fie la serviciul unuia dintre parinti, fie chiar in scoala generala sau pe la vreun cerc de copii. Dar cati dintre acestia au trecut de stadiul de a vedea in calculator o simpla jucarie, poate cea mai scumpa jucarie? Putini. Dintre acestia, si mai putini au incercat sa utilizeze calculatorul, in sensul de a opera cu diferite programe utilitare, cu Windows, cu programe de grafica sau editoare de texte.

Acestia din urma ne bucura, deoarece ei sosesc in clasa a IX-a cu un bagaj de cunostinte si o experienta in folosirea calculatoarelor. Desi au fost acumulate dezorganizat, haotic (ceea ce presupune existenta unor mari lacune in cultura lor informatica), cunostintele pe care le au micii viitori informaticieni din clasele a IX-a le sunt de mare folos. Dar diferenta intre acestia si cei ce nu au folosit pana atunci un calculator devine repede nesemnificativa, chiar pe parcursul primului trimestru de liceu. Evident, a lucra cu un calculator nu e mare filosofie, iar copiii, care nu au atata teama, atata neincredere, ca adultii, ci dimpotriva sunt mult mai inventivi, mai curiosi sau mai increzatori, invata repede sa faca cine stie ce minuni cu un calculator electronic.

Multi copii vin la profilul informatica, crezand ca se vor juca la calculatoare. Pur si simplu! Altii viseaza ca vor explora o lume fascinanta nebanuita, ca in serialele stiintifico-fantastice, iar altii cred ca vor explora Internetul toata ziua.

Si scoala incepe. Vine profesorul de informatica si incepe sa le vorbeasca despre constante, variabile, expresii, tipuri de date sau despre instructiunea de atribuire. Elevii devin seriosi, crezand ca acesta e doar inceputul, ca urmeaza ceva fascinant.

Si, intr-adevar, acela era doar inceputul. Se preda instructiunea if, apoi entuziasmul elevilor incepe sa dispara. Cand se ajunge la while, deja unii nu mai inteleg nimic sau nu mai pot tine pasul.

E clar. Ceva se intampla. In orice caz, elevii isi dau seama ca informatica nu este o joaca. Sau cel putin programarea. E ceva ca la „mate”. E ceva greu. Unii se apuca de carte. Altii prefera sa astepte prima ora de laborator, sau macar prima ora de Sisteme de calcul, unde parca e mai simplu. Si mai util. Da, mai util. Iata cuvantul magic.

Simtul practic este o caracteristica a generatiei actuale de elevi. Ei nu inteleg, nu accepta (in marea lor majoritate) sa invete ceva care nu le este de folos. Incercarea profesorului de a explica ca toate aceste lucruri pe care le preda sunt utile, pentru ca ele stau la baza tuturor produselor software realizate de firme americane sau internationale, nu duce la nimic. Elevul o tine tot pe a lui, argumentand cu replici care demonstreaza lipsa sa de motivatie intrinseca a invatarii.

E greu sa demonstrezi unui elev ce poti face cu toate if-urile sau while-urile pe care i le predai. Elevul te poate intreba: Stiti sa faceti un joc, domnule profesor? Dar un Windows sau macar o parte din el (sa zicem programul Notepad)?

E greu sa raspunzi la o asemenea provocare, e greu sa le raspunzi in general. Ajungi la finele clasei a IX-a si constati ca, la Algoritmi si limbaje de programare, nu mai lucrezi decat cu o treime din clasa. Restul se prefac ca inteleg sau ca invata, tu te faci ca ii asculti sau ca ii notezi.

Urmeaza clasa a X-a, unde la Programarea calculatoarelor continui cu materia de anul trecut, iar aici ii inveti si mai mult sa analizeze, sa gandeasca o problema. Pe cine? Pe doar cei o treime din clasa, care stapanesc sintaxa si semantica limbajului Pascal, care stiu sa ordoneze un vector sau sa determine cel mai mic element dintr-o matrice.

Ceilalti incearca sa invete pe de rost problema damelor sau sortarea prin interclasare, iar asta nu pentru ca nu au inteles algoritmul, ci pentru ca nu stiu sa-l transpuna in program. (In treacat fie spus, niciodata nu am inteles de ce considera ei atat de greu formalismul unui limbaj pentru implementarea unui algoritm.).

Din cei cu care ai ramas sa lucrezi, majoritatea incep sa scrie programe de grafica. Nimic rau in asta, unii ajung la performante deosebite, realizeaza jocuri, sunt premiati pe la diferite concursuri nationale sau interjudetene, dar se limiteaza doar la atat.

Mai raman cativa. Acestia, foarte putin la numar, sunt olimpicii. Pentru ei, materia de Programarea calculatoarelor este o pasiune. Insa, ei inteleg repede ce le predai, prin urmare va fi nevoie sa te abonezi la gazeta sau sa cauti carti cu probleme grele. Sau sa inventezi tu. Ei iti aduc satisfactia ca nu predai chiar la pereti.

Acestia sunt elevii care gandesc. Pentru ca ei sa fie stimulati sa-si foloseasca gandirea trebuie ca multumirea si satisfactiile lor sa nu fie doar acelea ale castigarii unui premiu la olimpiada, o excursie sau intrarea fara concurs la o facultate sau alta.

Pragmatismul lor cere altceva: cere o slujba in care sa-si foloseasca cu succes cunostintele si mai ales capul. Deocamdata asa ceva nu exista in Romania. De aceea pleaca. Stiti unde…

Ce fac ceilalti. Ceilalti termina liceul. Multi dintre ei au prins din zbor unele chestii care li se cer la locul de munca, acolo unde „cei de la firma” zic ca „am mai vazut eu dintr-astia de la informatica, care nu stiu nimic”. Acolo ti se cere sa stii. Ce? Sa lucrezi cu nu stiu ce varianta de nu stiu ce program, care au aia nevoie acolo. Sau sa faci service, sa desfaci si sa asamblezi calculatoare.

Chiar daca inteleg sau nu programarea, elevii care termina informatica sunt o elita.

Unii au nevoie de cunostinte pentru slujbele lor viitoare. Altii au nevoie de slujbe pentru cunostintele lor.

Sa se auda acolo unde trebuie!

Bogdan Patrut

P.S. Am discutat despre lipsa de motivatie a elevului de a invata programarea. Nu am discutat, insa, despre motivatia profesorului de a o preda. Am fi raspus astfel la intrebarea: de ce pleaca tot mai multi tineri informaticieni din invatamant?

Cum pot fi comandate cartile mele

Puteti accesa direct acest link de la SC Anticariat Online SRL si veti obtine o lista a 15 din cartile mele, pe care libraria lor virtuala le comercializeaza:

http://www.librarie.net/cautare-carti-rezultate.php?t=&au=Bogdan+Patrut&categorie=0

Interviu la Google Zurich – partea I

Un e-mail ciudat

In seara zilei de 6 decembrie 2007, cand tocmai sarbatoream pe Sfantul Nicolae, primesc un e-mail ciudat de la o adresa cu nume de utilizator avand drept domeniu google.com, in care o tanara (cu nume turcesc si care semna ca fiind un director zonal de resurse umane) imi spune ca a gasit pe Internet profilul meu si ca de o vreme incearca sa ma contacteze si sa ma intrebe daca nu as dori sa ma alatur echipei Google. Initial am crezut ca e o gluma, vreo surpriza facuta de vreun prieten informatician, numai buna de trimis de Sfantul Nicolae. La o analiza mai atenta a sursei mesajului, mesajul chiar venea de la Google si era o invitatie de a aplica pentru aceasta companie, in sediul lor din Zurich. Google Zurich este cel mai mare si mai important centru Google din Europa, al doilea ca importanta dupa cel din Mountain View, California.

Desi niciodata nu m-am gandit sa lucrez in alta parte decat in domeniul academic, am zis sa raspund invitatiei, asa ca le-am trimis CV-ul si ulterior am primit un raspuns privind un interviu telefonic, pe care urma sa mi-l ia un recruiter („recrutator”). Mi se parea ca este o minune, nu-mi venea sa cred ca o companie asa importanta din domeniul IT sa ma contacteze tocmai pe mine si, desi nu ma gandeam sa plec din invatamantul superior, atunci am hotarat sa intru in joc. Niciodata nu aplicasem pentru vreo firma sau pentru vreun alt job, asa ca am zis ca nu pot sa dau cu piciorul la o asemenea invitatie, mai ales ca ma interesasem ca pentru Google se trimit zilnic 1300 de CV-uri si doar 1% din ele sunt luate in considerare.

Primul interviu – ce post ar fi mai potrivit

Recruiterul ma contacteaza prin e-mail in ianuarie 2008 si, dupa un schimb de mesaje stabilim o zi pentru un interviu scurt (20-30 minute), netehnic, prin Skype. Pana atunci foloseam doar Yahoo Messenger pentru discutii online, asa ca mi-am instalat Skype si am ramas surprins de facilitatile pe care le are. Cu engleza ma descurc eu bine, dar pentru a evita emotiile, am apelat la colega de la Litere Ioana Boghian (pe atunci Ioana Nica), sa ma asiste si, eventual sa ma ajute, atunci cand voi da interviul. Daca ma intreaba recruiterul ceva si eu nu ma voi descurca? Daca voi dori eu sa-l intreb sau sa-i zic ceva si nu voi gasi cuvintele potrivite, din cauza emotiilor?

La ora si ziua stabilite, recruiterul ma contacteaza prin Skype si incepe sa ma intrebe cate una alta despre mine, probabil ca sa-si faca o idee despre ce-mi doresc, cum mi-ar placea sa lucrez si, in mod evident, daca stapanesc limba engleza. Ioana era langa mine dar intrebarile si ideile mele si ale recruiterului curgeau foarte repede, incat nu mai apelam la ea, ca sa ma ajute. Recruiterul mi-a vorbit mult despre atmosfera de lucru de la Google Zurich, despre faptul ca este o companie americana intr-un spatiu elvetian, dar cultura companiei este tipic americana, ca sunt romani pe acolo, ca toti sunt tineri si formeaza o echipa, ca sunt automate de cafea peste tot si nu costa nimic. Apoi a insistat pe faptul ca exista sali de sport si de distractie, jocuri mecanice si altele, pentru recreere, scaune pentru masaj si, dupa cum se stia, mancarea era gratuita.

Grozav, mi-am zis, dar cand auzi ca toate sunt grozave, probabil ca ceva trebuia sa scartie. In fond, chiar si la puscarie mancarea e gratuita :) In fine, am trecut cu bine de acest interviu si am stabilit pentru inceputul lui februarie un prim interviu tehnic, in care urma sa mi se testeze cunostintele de informatica. Jobul potrivit era de software engineer, adica programator.

Primul interviu tehnic, prin telefon

Inaintea primului interviu tehnic, am fost rugat sa-mi creez un cont pe Google Docs, un sistem ce permite elaborarea de documente in comun. Astfel, urma sa scriu fragmente de cod, iar intervievatorul (care era tot un googler) sa il poata vedea sau sa poata interveni asupra lui, pentru eventuale corectii.

Am cautat (pe Google :) ) ce au fost intrebati altii la asemenea interviuri, pentru postul de programator. Am observat atunci accentul care se punea pe algoritmi si structuri de date si nu pe tehnologie sau limbaje de programare. Mi-am dat seama atunci cat de important este ca la liceu, la profilul matematica-informatica, se studiaza tehnici de programare, structuri dinamice de date si algoritmica multa, ca la olimpiade se dau problemele de gandire care se dau si cat de importanta este matematica pentru un programator de la Google. Am observat ca si alte companii folosesc acelasi gen de intrebari, de exemplu Yahoo, IBM sau Amazon.

In ziua si la ora stabilita eram iar (cu Ioana alaturi) in fata calculatorului si de data aceasta cu telefonul Romtelecom in mana. M-a sunat o tanara (romanca!) de la Zurich, despre care am aflat ulterior ca inainte de a lucra pentru Google Zurich a lucrat ca asistenta universitara in Universitatea Tehnica din Zurich, care este o universitate de prim rang din Elvetia si din Europa. Asadar, nu as fi fost primul care as lucra la Google, plecand din mediul academic.

Au urmat 3 intrebari de algoritmica, probleme foarte dragute, cu „smecherii” de gandire in ele. Google nu-mi permite sa va dezvalui continutul problemelor, pot doar sa va spun ca sunt probleme cu vectori, rezolvabile simplu, dupa ce te gandesti bine, probleme de algoritmi si structuri de date. Nu trebuia sa scrii rezolvarea intr-un limbaj de programare neaparat, puteai sa o descrii prin cuvinte. Dupa ce dai o solutie, esti intrebat ce complexitate are algoritmul tau si daca nu stii ce e aia complexitatea in timp a algoritmilor sau nu stii sa o stabilesti, pici automat la interviu. Solutia gasita de mine a fost optima, avea O(n) si goggler-ita a trecut la o alta problema, ceva mai complicata. Aici trebuia sa folosesc quick-sort pentru o complexitate in timp de O(nlogn) si am rezolvat cu bine si aceasta problema. Am inteles ulterior ca exista si o solutie in O(n) daca foloseam o tabela hash bine gandita. Oricum, doamna care ma intervieva a fost multumita de raspuns si a trecut la o a treia problema, de data aceasta am fost intrebat cum gandesc o arhitectura pentru a rezolva o anumita problema in care apareau mai multe calculatoare. Trebuia dat un raspuns pur descripitiv, complet netehnic si fara detalii de implementare. Dupa interviul propriu-zis, care a durat cam 45 minute, a urmat o parte de 15 minute in care am discutat liber despre viata si munca la Google si despre cat de bine este acolo.

Al doilea interviu tehnic, prin telefon

Am primit in 5-6 zile un raspuns pozitiv, cum ca am trecut de primul hop si mi s-a propus un al doilea interviu tehnic, in circa 7 zile. De data aceasta urma sa fie un interviu mult mai greu si daca l-as fi trecut as fi fost invitat la Zurich sa vad campusul si sa fiu intervievat la fata locului, de mai multi googleri si sa iau si o masa gratuita acolo. Sa ma simt pentru o zi un googler :)

De data aceasta am inceput sa revad anumite aspecte din algoritmica si tehnici de programare, structuri dinamice de date si alte chestii pe care, sincer, le-am mai uitat de cand am rupt legatura cu profesorii si elevii de liceu, care la olimpiadele de informatica judetene, nationale si internationale pregatesc asemenea probleme.

La al doilea interviu tehnic telefonic problemele au fost cam in aceeasi maniera, de fiecare data mi se cerea sa precizez complexitatea in timp a algoritmului si daca pot veni cu o varianta mai buna. De data aceasta a trebuit sa rezolv o problema clasica, pe care o stiam de cand predam la liceu si m-am descurcat bine. Am scris in cod C rezolvarea problemei si recrutatorul a putut vedea si chiar interveni. Desi m-a corectat, eu l-am corectat inapoi, pentru ca el nu intelesese ce doream eu sa fac. A doua problema a fost mai dificila, dar am reusit sa dau un raspuns multumitor. Cei de la Google, cand te intervieveaza, te pot intreba orice doresc ei. Nu ai nicio tematica speciala de pregatit, pe ei ii intereseaza doar sa vada cum gandesti.

Vreo 10 zile am asteptat cu sufletul la gura sa vad daca am trecut testul, ca, la urma urmei, puteam sa ma aleg cu o excursie pana la Zurich pe gratis. Daca treceam de acest interviu, urma sa fiu invitat la un interviu on-site, adica la fata locului, iar cheltuielile de deplasare cu avionul, de sedere la hotel si de masa urmau sa fie suportate de ei.

In toata perioada dintre interviuri tineam legatura cu recruiterul, care imi vorbea despre nivelul ridicat de civilizatie din Zurich, despre cat de curat este orasul, cam care sunt preturile caselor pe acolo, cosul zilnic si alte lucruri si chiar imi spunea ca imediat ce voi primi oferta de angajare, va merge cu mine sa gasim un apartament confortabil si bun in care sa pot sta chiar cu intreaga familie.

Acasa era forfota mare, dar eu eram foarte tensionat pentru ca, pe de o parte nu ma simteam compatibil cu munca dintr-o companie, pe de alta parte mi-as fi dorit sa plec acolo.

Ce a urmat? Va voi spune in curand…

Bine ati venit!

Buna ziua! Aceasta este pagina mea personala,  in calitatea de oficiala de cadru didactic la Universitatea din Bacau.

In curand ea va cuprinde o serie de informatii utile pentru studenti, colegi, colaboratori, cat si pentru publicul larg.