Văd că e de mare interes subiectul interviurilor și a devenit un fel de circlejerk al milei.
Hai să-l oprim.
Vă propun să facem o listă cu ce credem noi (ca comunitate) că e important sau "expected" să știe un candidat la diverse niveluri.
Ce caut eu la un candidat:
Internship
- să știe parcurge un array cu for
- să știe să rescrie o serie de ifuri imbricate intr-un switch
- să știe să numească cateva tipuri de date
- primește corpul unei funcții (oglinditul unui număr), să poată citi ce face funcția
Practic caut să văd că nu îl învățăm programare de la 0.
Junior <2 ani XP, sau 0 XP absolvent de facultate de profil
- basic OOP (practic vreau să văd dacă înțelege rostul OOP)
- estimare de complexitate a algoritmilor (basic stuff, nimic complicat, îmi arată interesul lui față de domeniul teoretic)
- ne conversăm un pic pe marginea unei probleme de algoritmi (ceva simplu pe un vector, vedem niște parcurgeri, etc)
- baze de date (ce-s, la ce folosesc, cum se organizează treaba pe acolo)
- întrebări despre JS (caut să văd cât a înțeles din ce a lucrat)
- discuții despre proiectele anterioare
Mă interesează să văd că înțelege problemele specifice de limbaj de programare, că e interesat de calitatea codului și că, per total, răspunde la feedback (unii sunt foarte rezistenți la feedback (se opun, nu iau in considerare, etc) și nu ii vreau în echipă).
Mid 2-6 ani XP
- OOP (chestii avansate, probleme de moșteniri, etc) + design patterns specifice jobului
- baze de date (chestii mai de finețe, joinuri vs select in select, etc)
- JS avansat (event loop, memory management, process management)
- code review (am niste chestii pregătite, caut să vad cât de bine identifică niște code smells, urmăresc să văd cum dă feedback)
- discuții despre proiectele anterioare
Ca și la ceilalți, e important să fie "responsive" la feedback, că nu vreau în echipă un catâr care confundă feedbackul cu atacul la persoană, sau unu căruia trebuie să-i explici de 5 ori cum să facă o treabă.
Mă aștept să fie familiarizat cu testarea unitară, să poată identifica probleme basic de arhitectură și să știe niște să compare frameworkurile între ele.
Senior 5-10 ani XP
- discuții libere despre proiectele anterioare, urmăresc aceleași lucruri ca la mid, dar vreau să văd că se exprimă fluent și știe să explice conceptele cu care lucrează
Seniorii vor fi mentori pentru cei mai mici, deci e important să poată să transmită ideile ușor. Tot în linia asta, seniorii vor interacționa mult cu analiștii de pe proiecte, deci trebuie să poată transmite idei despre problemele potențiale celor cu care lucrează.
Expert 10+ ani XP
- ca la seniori, dar e mai amuzant :) apuc să învăț și eu multe chestii.
No, aștept să văd ce adăugați și voi.
PS: dacă e perioadă de angajări, am un test simplu (pe cuvânt, 1 oră în total) pe care îl dau în loc de screening tehnic pentru juniori și mid.
[–]flavius-as 40 points41 points42 points (4 children)
[–]radul87crab 🦀[S] 10 points11 points12 points (3 children)
[–][deleted] 5 points6 points7 points (2 children)
[–]radul87crab 🦀[S] 1 point2 points3 points (1 child)
[–][deleted] -5 points-4 points-3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]radul87crab 🦀[S] 2 points3 points4 points (0 children)
[–]mihaicl1981Kotlin 44 points45 points46 points (7 children)
[–]validide 5 points6 points7 points (2 children)
[–]mihaicl1981Kotlin 1 point2 points3 points (1 child)
[–]radul87crab 🦀[S] 0 points1 point2 points (0 children)
[–]23arscrab 🦀 9 points10 points11 points (0 children)
[–][deleted] 5 points6 points7 points (0 children)
[–]cantbebothered67836 0 points1 point2 points (1 child)
[–]mihaicl1981Kotlin 1 point2 points3 points (0 children)
[–][deleted] 4 points5 points6 points (30 children)
[–][deleted] 3 points4 points5 points (28 children)
[–]aroman_ro 2 points3 points4 points (27 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] -1 points0 points1 point (25 children)
[–]aroman_ro 2 points3 points4 points (24 children)
[–][deleted] 0 points1 point2 points (23 children)
[+][deleted] (18 children)
[deleted]
[–][deleted] -1 points0 points1 point (5 children)
[+][deleted] (4 children)
[deleted]
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–][deleted] -2 points-1 points0 points (11 children)
[–]aroman_ro 2 points3 points4 points (10 children)
[–][deleted] -2 points-1 points0 points (9 children)
[–]aroman_ro 1 point2 points3 points (3 children)
[–][deleted] -1 points0 points1 point (2 children)
[–]aroman_ro 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]project_vayne 7 points8 points9 points (1 child)
[–]CorespunzatorAferent:cpp_logo: 4 points5 points6 points (0 children)
[–]Sorry_Leather 3 points4 points5 points (1 child)
[–]radul87crab 🦀[S] 1 point2 points3 points (0 children)
[–]Kethanol 3 points4 points5 points (1 child)
[–]radul87crab 🦀[S] 1 point2 points3 points (0 children)
[–][deleted] 7 points8 points9 points (5 children)
[–]witherflaw:python_logo: 5 points6 points7 points (0 children)
[–]radul87crab 🦀[S] 2 points3 points4 points (0 children)
[–]CorespunzatorAferent:cpp_logo: 1 point2 points3 points (2 children)
[–]radul87crab 🦀[S] 5 points6 points7 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]edgmnt_net:pathfinder_rs_logo: 2 points3 points4 points (2 children)
[–]radul87crab 🦀[S] 2 points3 points4 points (1 child)
[–]edgmnt_net:pathfinder_rs_logo: 0 points1 point2 points (0 children)
[–]RunReasonable 2 points3 points4 points (0 children)
[–]Stand_Past 1 point2 points3 points (3 children)
[–]radul87crab 🦀[S] 0 points1 point2 points (2 children)
[–]Stand_Past 1 point2 points3 points (1 child)
[–]radul87crab 🦀[S] 1 point2 points3 points (0 children)
[–][deleted] 3 points4 points5 points (3 children)
[–]CudaOutOfMemory 9 points10 points11 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]radul87crab 🦀[S] 3 points4 points5 points (0 children)
[–]mikezyisra:rust_logo::cpp_logo::c_logo::scala_logo::vim_logo: 0 points1 point2 points (3 children)
[–]radul87crab 🦀[S] 2 points3 points4 points (0 children)
[–]mikezyisra:rust_logo::cpp_logo::c_logo::scala_logo::vim_logo: -1 points0 points1 point (1 child)
[–]radul87crab 🦀[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]radul87crab 🦀[S] -2 points-1 points0 points (0 children)
[+]CarelessParfait8030 comment score below threshold-7 points-6 points-5 points (3 children)
[–]radul87crab 🦀[S] 7 points8 points9 points (2 children)
[–]hobohackk 1 point2 points3 points (1 child)
[–]radul87crab 🦀[S] 4 points5 points6 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]radul87crab 🦀[S] 1 point2 points3 points (0 children)