Totul despre interviuri si angajare

Cum avem un subiect in care discutam despre cei care ofera servicii de mentorat/coaching ar trebui sa avem un subiect dedicat care sa faca concurenta cu ce ofera acesti oameni.

Consider ca pe acest forum sunt destui cu mult mai multa experienta fata de cei care ofera cursuri platite/coaching, poate putem strange informatii valoroase intr-un subiect interesant.

Nimeni nu se naste cu incredere de sine la interviuri, cu cunostiinte de negociere, cu cunostiinte despre taxele si impozitele din Romania, cu cunostiinte despre cum sa te pregatesti pentru o pozitie care plateste mai bine.

Am strans cateva intrebari de inceput :

  1. Cate interviuri ati avut sau ati tinut ?
  2. Cum te pregatesti singur pentru un interviu la o multinationala ? (pentru o pozitie adecvata nivelului de experienta si platita cat mai bine)
  3. Ce trebuie sa stie cineva la un interviu tehnic ? (in functie de pozitie si nivel)
  4. Ce site-uri, platforme, carti, canale de youtube recomandati ?
  5. Cum ajungi sa fii angajat pentru cineva care plateste foarte bine ?
  6. Cat timp va alocati pentru a va pregati ?
  7. Ati avut mentori/profesori care v-au ajutat ? V-au ajutat cursurile de la facultate ?
  8. La ce trebuie sa fii atent la un interviu remote ?
  9. La ce trebuie sa fii atent la un proiect/assignment primit la interviu ?
  10. Ati avut intrebari interesante la un interviu ? Ce raspuns ati dat ?
  11. Ce trebuie sa stie cineva care n-a terminat o facultate in domeniu la un interviu ?
  12. Exista intrebari/probleme pentru a descuraja angajarea celor fara educatie formala ?
  13. Cum decideti unde vreti sa aplicati, cand aplicati ?
  14. Care e cea mai buna perioada din an pentru angajari ?
  15. E acceptabil sa mintiti despre ceva la interviu ?
  16. Cum te tii in forma pentru interviuri daca de exemplu lucrezi la un nivel mult mai ridicat decat ce se cere la interviuri ? (e.g folosesti framework-uri si librarii 24/7, faci automatizare de teste sau ai o nisa fara legatura cu ce se cere la interviuri)
  17. Cat de importante sunt cunostiintele despre testare si automatizarea de teste ?
  18. Exista red flags din punct de vedere tehnic ? Care sunt cele mai frecvente ?
  19. Va stabiliti un buget pentru negocierea salariului ? Cum se calculeaza ? Unde poti afla salariile pe o anumita pozitie la o anumita firma in Romania/remote ?
  20. Unde te angajezi ca junior/intern ? La ce te poti astepta ca junior/intern
  21. Exista o varsta de la care esti respins automat la un interviu ? (ageism in tech)
  22. Cum compensezi daca vrei sa aplici pe un post la care nu ai experienta ?
  23. Cum treci de interviul cu HR-ul ? (culture fit, teste psihologice, teste de logica)
  24. Ati primit teste de logica aiurea ? (e.g intrebarea cu calcularea lungimii firului intre 2 stalpi sau statistica/probabilitate)
  25. Cum e mai avantajos sa lucrezi in Romania ? Angajat cu diploma ? PFA (cu diploma) ? PFA cu norma de venit ? SRL cu dividente ? SRL ca dividente si angajat ?
  26. Cum poti lucra cu clienti din afara Romaniei ?
  27. Cum iti deschizi un SRL/PFA in 2021 ?
  28. Cum se realizeaza un contract pentru a fi contractor ?
  29. La ce trebuie sa ai grija dupa ce ai un SRL/PFA in Romania ?
  30. Cum aplici la o pozitie de management ? Ce se cere de la un manager ?
  31. Cum aplici la o pozitie de tech lead ?
  32. Preferati sa aveti un interviu fata in fata sau remote ?
  33. Conteaza portofoliul/proiectele de pe github/blog-ul personal ? Cum compensezi daca tot ce ai facut e closed-source/know-how care nu poate fi impartasit ?

  34. Screenshot 2021-02-02 at 14.51.51
2 Likes

Am luat interviuri de ordinul zecilor. Este o intrebare specifica pe care o folosesc inca de mult (intre timp am aflat ca si Elon Musk o foloseste).

Care a fost cea mai complicata problema pe care ai rezolvat-o si cum ai rezolvat-o?

Daca nu poate desfasura, inseamna ca nu stie foarte bine despre ce vorbeste. Daca desfasoara, poti veni cu intrebari adiacente pe margina subiectului pana ii atingi limita.

E o intrebare la care nu te ajuta pregatirea prealabila de interviu.
Iti dai arama (nivelul) pe fata.


O alta intrebare care imi mai place s-o dau:

Care e realizarea (de ordin tehnic) cu care te mandresti cel mai mult si de ce?
8 Likes

Cred ca inainte sa facem un proces de interviu ar fi bine sa stabilim ce calitati/experienta dorim de la omul respectiv, daca intrebarile pe care le punem au valoare predictiva pentru ce dorim, sa categorisim posibilele raspunsuri si sa vedem daca ne sustin presupunearea ca intrebarile au valoarea predictiva pe care credem ca o au, sa adunam date pe o perioada mai lunga de timp sa vedem daca sunt bune intrebarile.

Care a fost cea mai complicata problema pe care ai rezolvat-o si cum ai rezolvat-o?

Ne poti impartasi din experienta ta ce vrei sa prezici cu intrebarea asta si daca raspunsurile sustin asta?
Cam la ce raspunsuri te astepti?
Ce parere ai despre raspunsurile care sunt din categoria “domain expertise” (e.g. optimizat procesul X cu Z3, folosit eBPF pentru Y) sau cele “technical + organizational”? Si ce procent din raspunsuri sunt in aceste categorii?

Sau inseamna ca stie ca cel care intreaba n-are prea multe sanse sa inteleaga fara vreo cativa ani de explicatii :slight_smile:

4 Likes

Personal nu suport deloc intrebarile astea, daca ajungi sa ai probleme complicate inseamna ca ai gandit prost arhitectura, design-ul, tehnologia etc, daca lucrurile nu sunt simple si easy ai plecat prost, e ca si cum as zice m-am impuscat singur in picior la vanatoare si am mers intr-un picior 5km pana la spital, a… de prost ce sunt am si uitat sa incarc telefonul, dar a fost foarte complicat, nu stiu la ce te astepti, sa inventeze vre-un algorithm.

Cat despre a doua, nu stiu unde ai lucrat, dar nu alegi tu tehnologiile, architectura, librariile, etc. de capul tau, ca sa te mandresti tu, ai tot felul de constraints, chestiile astea sunt asa foarte romanesti cultural, unde nu se lucreaza in echipa, unde tre sa iesi in fata, sa te lauzi, e mai important sa faci tu decat sa faci bn.

3 Likes

Acum ceva timp, a trebui sa generez niste coloane in tabel pe baza unor reguli mai speciale. Aplicatia era facuta in Windows Forms cu C#. Stiu ca la vremea aia am citit despre tipul de data dinamic din C# si ExpandoObject.

Intr-un parser de xml-uri, am avut o problema legata de citirea timestamp-urilor. Am scris pe blog despre cum am rezolvat-o. Nu a fost neaparat mult cod de scris, ci pana m-am prins ce sa scriu. :slight_smile:

Si ca realizare, ar fi rescrierea completa a modulului de preferinte al utilizatorilor intr-una din aplicatiile de la munca.

Am primit si eu acele intrebari.

Nu poti crea o problema fictiva si sa povestesti cu lux de amanunte despre ea fara sa te dai de gol. Daca nu te dai de gol, inseamna ca intervievatorul nu e suficient de bine pregatit dpdv tehnic.
Altfel, inseamna ca esti atat de inteligent incat meriti sa treci interviul, no matter what.

Faptul ca ai reusit sa scoti maxim, avand o arhitecture atat de proasta, presupune o realizare!
Faptul ca ai mers 5km intr-un picior, pana la spital, fara sa fi avut telefon, presupune o realizare!

Nu a zis nimeni ca toate realizarile trebuie sa presupuna lansari de rachete in spatiu.
Realizarea trebuie analizata in contextul si circumsantele ei. Asta e ce conteaza. Aici e partea relevanta.

Nu a zis nimeni ca trebuie sa faci arhitecturi, sa construiesti librarii… ca sa poti fi mandru de tine. Te poti mandri cu faptul ca ai facut un buton sa arate perfect, nemancat de 3 zile, fiind pe varful muntelui, neavand photoshop instalat.

Si… De ce esti mandru? Ca ai gandit tu toata arhitectura? Cum ai gandit-o? In ce conditii? Care e rezultatul?

Sunt niste intrebari de start, pe marginea carora se poate avansa foarte mult.

mda, mie tot mi se pare un HR-neg, sa te puna jos ca sa iti accepti un low ball offer, un coleg chiar recent a patit-o, la un interview au intrat in detalii fine si daca gresea ceva exagerau, si pareau foarte nemultumiti de el, ca apoi sa ii faca oferta.

Nimeni nu o sa zica cu mandrie ca facut un button, sau ca a stat x staptamni si a dat restart la server in fiecare zi pentru ca nu a gasit un memory leak, my point, e ca daca nu ai o anumita pozitie nu ai posibilitatea sa lucrezi pe chestiile interesante, features sau probleme, nu ca nu ai fi capabil, eu am observat ca e mult favoritism aici.

2 Likes

Pai exact asta e si scopul intrebarii, sa iasa la suprafata nivelul real candidatului. Nu mai mult, nu mai putin.

Dar, iarasi, nu a zis nimeni ca in functie de raspunsurile la aceaste intrebari, se refuza/accepta, instantaneu, candidatul. Sunt doar niste unelte, ca sa-ti cunosti candidatul cat mai bine. Ele pot sa conteze mai mult sau mai putin, in functie de ce cauti pentru acel rol.

Am depasit de curand bariera de 200 de interviuri tehnice tinute. De mentionat ca nu am fost niciodata hiring manager. Doar mi s-a cerut fie sa asist fie sa tin interviul tehnic separat si sa dau un feedback despre candidat. In afara de 2 “ratari monumentale cu poarta goala” pe care le-am avut la inceput, restul candidatilor al caror feedback a fost pozitiv (din partea mea) s-au dovedit a fi angajati ok.

Ce am invatat eu din asta?

  1. Pentru primii 10-20 de candidati am tinut neaparat sa le dovedesc cat de inteligent sunt eu. Mare gresala si imi cer scuze.
  2. Intrebarile cu algoritmi si structuri de date sunt o pierdere de vreme in Romania. Desi le consider OK in general, acest tip de interviuri sunt aiurea in RO deoarece la noi lumea angajaza Java developeri, PHP developeri, Senior Wordpress Developer…etc…Intelegeti unde bat. In tarile unde aceste tipuri de interviuri conteaza se cauta Software Engineers care sa lucreze in…well…cam orice limbaj arunci catre el.
  3. Ca tot am mentionat la punctul 2…da…Limbajul e doar un tool. Se poate invata rapid orice de catre oricine. Cu cat are expunere mai mare la alte limbaje si paradigme, cu atat va invata mai usor. Sfatul meu pentru voi dar si pentru future me este: “Angajati ingineri buni. Nu developeri.”
  4. Cum angajezi ingineri buni? asta e intrebarea de 1 milion de bitcoini. Nimeni nu cred ca are raspunsul corect. Dar cu siguranta poti valida niste cunostinte importante de la interviu. Pentru asta eu pun urmatoarea intrebare(nu e intrebare, e mai degraba open discussion):
  • Data fiind o aplicatie web sau desktop care are un frontend(scrisa in orice tehnologie vrei tu, nu conteaza) si un backend cu o baza de date(poate fi orice baza de date, SQL, NoSQL), un API care la randul lui poate fi scris in whatever language, un cache in fata bazei de date(poate fi Redis, memcache, etc) plus un load balancer care sa distribuie loadul intre instante(can be whatever…nginx, traefic, caddy), am identificat urmatoarea problema: Cand un user da click pe un buton din frontend…aplicatia noastra face freeze pentru fix 30 de secunde…Dupa 30 de secunde, aplicatia face resume si afisaza niste date in pagina. Nu conteaza ce. Datele afisate sunt corecte dar businessul vrea sa rezolvam problema “feeze-ului” de 30 de secunde.

Cum vom proceda pentru rezolvarea problemei? De unde incepem investigatia?


  • Intrebarea nu e inventata de mine…am auzito/citito undeva…nu mai imi aduc aminte unde sa fiu sincer ca va ziceam.
  • Este intentionat ambigua pentru ca respectivul candidat sa inceapa sa clarifice lucruri punand intrebari intervievatorului
  • Pentru pozitiile fullstack, iti poti da seama repede de interesul candidatului. Poate fi frontend, backend, baze de date, etc. in functie de zona in care isi va concentra raspunsul.
  • In functie de cat de complet si detaliat isi construieste solutia iti poti da foarte repede seama de cat de knowleadgeable e candidatul.
  • Poti veni cu n follow-up questions in functie de directia in care evolueaza discutia.
  • Din punctul meu de vedere tipul asta de interviu este win-win deoarece este o discutie din care si candidatul si intervievatorul pot invata lucruri noi spre deosebire de un trivia de 2 lei ale caror raspunsuri le poate memora oricine.
  • As merge mai departe sa sustin ca inclusiv interviurile cu algoritmi iti pot da multe false positives la cantitatea de site-uri de pregatire din ziua de azi. Vezi leetcode, hackerrank, etc. Ma rog, asta e o alta discutie…
14 Likes

Related
image

3 Likes

Nu e nevoie sa creez o problema fictiva. Nici macar nu trebuie s-o mentionez pe cea mai complexa pe care am intalnit-o ca sa depaseasca recrutorul tipic.

Ai auzit de Grupul de Renormare Numerica? E cu mecanica cuantica si de-alea. Are timp recrutorul sa-i explic?

Atitudinea de ‘eu stiu mai bine decat orice candidat’ la un recrutor e penibila.

După mai mulți ani de freelancing m-am dus și eu să mă angajez la multinaționale.

N-am știut că procesul poate dura și câteva luni de zile.

După primul interviu am așteptat răspunsul o săptămână și m-am enervat și i-am scris domnișoarei de la HR că se comportă ca patronii de la gogoșerie, că nu le spun oamenilor da ori ba.
Mi-a răspuns că nici măcar nu au terminat evaluarea și că mai au interviuri. Dar dacă pun problema așa… :slight_smile:

La următorul interviu am fost la 3 etape de evaluare și n-am mai avut răbdare și mi-am luat din nou un contract ca freelancer.
De data asta chiar nu mi-au răspuns, dar nu mai conta.

Cu asa replica nici eu nu te-as angaja.
Funny tho, am intalnit cateva persoane ce nu intelegeau de ce nu reusesc sa ia niste interviuri(ei fiind incepatori, deci nu e cazul tau dar still funny) si am fost curios cum decurge procesul de se ajunge aici. Toti cei cu care am vorbit dadeau mail dupa 2-3 zile fara raspuns intr-un stil caracteristic ca al tau. Am inteles apoi ca nu partea tehnica era problema ci modul de exprimare ce ridica un flag.

La interviuri se incearca stabilirea de “knowledge boundaries” ale candidatului, nu umilirea lor.

De unde stii ca e un knowledge boundary sau pur si simplu nu mai tii minte de toate detaliile, doar de sentimentul ca a fost foarte complex si ai avut tipping pointul x. Pentru motivul asta si eu prefer mai mult intrebarile targetate pe abstractii si nu pe concretisme.

Pe mine m-a amuzat cand am vazut ca a raspuns. Ma asteptam sa nu mai raspunda, ca oricum eram respins oricum.

La interviu cu siguranta am fost ok cu exprimarea. Problema a fost asteptarile mele. Ca freelancer daca nu primeam raspuns in 2-3 zile era clar ca nu obtin proiectul.
La interviu in persoana totusi aveam asteptari sa primesc un raspuns. Doar nu ma deplasam pana acolo. Si ei erau firma cu pretentii, deci era normal sa dea un raspuns.
Doar ca n-am mai avut eu rabdare, nu stiam ca procesul e lent.

Aici e intrebarea despre care vorbesti. Sau cel putin eu aici am intalnit-o :slight_smile:

1 Like

din experienta mea, la firmele de outsourcing, procesul de recrutare e mai lung pentru ca vor sa intervieveze mai multi candidati si sa aleaga pe cel ce se potriveste atat salarial cat si tehnic pentru nevoile proiectului/proiectelor lor.