React szakmai interjús élményem
Posted by Annual-Bad-3265@reddit | programmingHungary | View on Reddit | 16 comments
Szeretném megosztani egy friss React szakmai interjúélményemet, főleg azért, mert kíváncsi vagyok, ti hogyan készülnétek fel egy ilyen típusú feladatra.
Online interjú volt. A szakmai részben képernyőmegosztáson keresztül mutattak egy kb. 150 soros React komponenst, amit elemezni kellett. A feladat az volt, hogy mondjam el, milyen problémákat látok benne, mit javítanék, mire figyelnék code review során.
A komponens viszont közel sem fért ki egy képernyőre, ezért folyamatosan nekem kellett mondanom, hogy görgessünk feljebb/lejjebb, nézzük meg hol van használva egy változó, hol van deklarálva egy prop, stb. Emiatt elég nehéz volt átlátni a flow-t. Még nem volt olyan helyzetem, ahol így kellett volna code review-t csinálnom, hogy nem én navigálok a kódban, nincs saját IDE-m, nem tudok keresni, jumpolni, hoverelni, gyorsan visszanézni dolgokat.
A lint / IDE segítségek ki voltak kapcsolva. Ezt valamilyen szinten értem, mert nyilván azt akarták látni, hogy én magamtól mit veszek észre, de közben nekem ez eléggé életszerűtlennek tűnt. Valós PR review-ban pont használom a TypeScriptet, ESLintet, IDE navigációt, keresést, warningokat, mert ezek segítenek kiszűrni a mechanikus hibákat, és több figyelmem marad a valódi logikai, architekturális vagy üzleti problémákra. Ennyi erővel akár papírra is kaphattam volna a feladatot.
A kód tele volt különböző anti-patternekkel és hibákkal, például:
- hibás async / fetch kezelés, hiányzó await
- API response és a UI által várt adatstruktúra nem passzolt, nem volt interface stb
- furcsa / hibás prop átadás és destructuring
- useRef használata olyan adatra, aminek a UI-ban frissülnie kellett volna
- lista renderelésnél hiányzó key
- render közbeni ref létrehozás listaelemeknél
Kb ezekre emlékszem amik csak utólag átgondolva estek le nekem, hogy mennyire gáz, hogy nem vettem észre. Interjún a 20 perc nagyon kevésnek érződött, főleg úgy, hogy közben nekem kellett irányítanom a görgetést és fejben tartani, hogy mi hol volt. Nem volt olyan sor amibe ne lett volna valami hiba én pedig teljesen túlterhelődtem, lefagytam alig tudtam valamit mondani.
Ami külön zavaró volt, hogy sokszor nem mertem azonnal kimondani, hogy "ez szerintem rossz megoldás", mert annyira furán volt megírva hogy először azt hittem lehet valami olyan React pattern vagy optimalizálási próbálkozás, amit én nem ismerek. Utólag inkább azt látom, hogy nem valami advanced megoldás volt, hanem szándékosan összekuszált, hibákkal teli review feladat.
Valós pull requestben szerintem egy ilyen kódnál nem az lenne a reális reakció, hogy soronként javítgatjuk, hanem inkább az, hogy az egészet előlről, és először tisztázni kellene az adatmodellt, az API-szerződést, a komponens felelősségeit és az egész adatfolyamot.
Nem klasszikus live coding volt, nem algoritmus, nem is egy kicsi snippet, hanem egy szándékosan rosszul megírt, több hibakategóriát tartalmazó komponens. Én eddig főleg normálisabb kódrészletek review-zására, hookokra, API kezelésre, state-re, error handling-re készültem, de ilyen "chaos review" helyzettel még nem találkoztam.
puruttya_puma@reddit
20 perc ? 😃 Az kemény. Szeritnem ne örlődj rajta.
Fantastic-Bee-1852@reddit
pedig szerintem ez az egyik legagyakoribb és legnormalisabb interju, hogy egy kódot értelmezz, beszelej rola. Sokkal jobb mint élesben kodot írni.
Abban szemétség, hogy ezt saját gépeden, vagy megosztott képernyővel és irányítással kellett volna csinaltatni.
thalion80@reddit
Na, egy hasonló story, teljesen más terület, de azért tanulságos. IT PM.... küldtek egy esettanulmány feladatot, hogy dolgozzam ki, és csináljak projekttervet. Külön kiemelték, hogy számít az, hogy mennyi időn belül küldöm el a választ. Na most az esettanulmányról kb 10 perc átolvasás után sütött, hogy egy totálisan értelmetlen katyvasz, tudjátok mint amikor a fogalmatlan hülye kkv menedzserek összejönnek, hogy há te Józsi fejleszzünk már valamit, de hogy mit kivel meg hogyan...há az majd lesz valahogy. Visszaírtam, hogy hát ez így kuka, el sem lehet kezdeni a tervezést, mert nincs hozzá semmi érdemi az esettanulmányban, a cég meg dilettáns.
Erre elkezdtek nyígni, hogy hát nem ezt várták, nekem ettől függetlenül meg kellett volna írni a projekttervet, még akkor is ha teljesen irreális. Na hagyjanak már békén.
Annual-Bad-3265@reddit (OP)
Közel 3 év frontend tapasztalatom van, ezért ezt mindenképp hasznos tanulási lehetőségnek fogom fel. Ettől függetlenül mérges vagyok magamra, mert úgy érzem, nem sikerült jól kezelnem a helyzetet, főleg kommunikációban és strukturálásban.
Pleasant_Ad8054@reddit
Ez tipikusan az a feladat amivel a tapasztalati szintedet és magabiztosságodat mérik fel. Ha értenek az interjúztatáshoz, akkor ez alapján könnyedén kaphattak egy teljesen reális képet, és ha ezzel a tudással keresnek embert az teljesen jó nekik. Egy interjú feladatnál nem az a lényeg hogy mindenre kiterjedő tökéletes megoldás készüljön, hanem lássák hogyan gondolkozol és mire figyelsz/nem figyelsz.
Mi vettünk már fel embert aki teljes egészében lebutcherelte az interjú kérdésünket és közelébe nem jutott a megoldásnak, de jól gondolkodott csak épp nem tudtunk úgy feltenni segítő kérdéseket. És volt akinek nem adtunk ajánlatot pedig technikailag megoldotta a feladatot, de nem igazán tudta megmagyarázni mit csinált.
Egyébként ilyen jellegű code review-t (egy ember screen sharel és végig megyünk sorról sorra, időnként kérjük tekerjen ide-oda) mi heti szinten csinálunk a cégben, C# projekteken. A formális linter által elkapott dolgokat már rég javítjuk mire egy-egy projekt oda jut hogy reviewezuk, legalábbis ez az elvárás. Ha valaki warningokkal teli kóddal érkezne akkor arra csúnyán néznénk.
Tall_Ride7106@reddit
Gozom sincs hany eves vagy, de en pl 10 evvel ezelott kb elkuldtem volna oket a halal faszara, farasszanak mast ezzel a szinttel. Most ugyanezt megcsinalnam, de kulturaltan, eszre sem vennek.
Few_Owl_6596@reddit
Estem már át néhány ilyen live codingos interjún, sőt sikeresen is, ettől még azt gondolom, hogy a való életben senki nem fog színpadon, lámpalázban kódolni, ezért nem tekintem nagyon relevánsnak. Ugyanakkor az AI korában egy beadandó már nem garancia (mondjuk előtte se volt, de na)
i-am-a-teapot-418@reddit
Ez valami új mánia lehet? A képernyőmegosztáson egy google sheets volt. Le kellett diktálnom a hr-esnek, hogy a miniatűr képernyőn lévő kódban mi a hiba, és hogyan oldanám meg, ő meg kitöltötte. Nekem kellett magyarázni, hogy mit javítson ki, meg görgessen fel/le.
Agyrém, de meglepő módon átmentem ezen a körön, de akkor is bullshit volt.
Nem egy korrekt módja ez az interjúztatásnak, csak netto szívózás. Ne érezd rosszul magad.
lordbokody@reddit
Rengeteg ehhez hasonló fura és méltatlan interjú után azt tudom mondani, hogy ahol ilyen retardált módon interjúztatnak oda jobb is nem bekerülni, mert csak rosszabb lesz velük dolgozni. Aki korrekt munkaadó az korrekten fog interjúztatni, ahol nem érzed azt, hogy haragudnod kéne magadra. :)
pihedy@reddit
Nem pont ilyen, de két hasonló eset velem is történt.
Az egyik kb. 10 éve volt, amikor egy meglévő WordPress site-hoz kellett volna új feature-t készítenem. Git nem volt, normális dev workflow nem volt, SFTP-n kellett leszednem a teljes site-ot és az adatbázist. Már ott kezdődtek a gondok, hogy a szerver kb. 20%-nál kitiltott. 😅 Miután feloldották, sikerült életre keltenem lokálisan, de annyi plugin volt fent, és annyira átláthatatlan, túlbonyolított megoldások voltak benne, hogy őszintén elmondtam, hogy ez így egy nagy spagetti. Megköszöntem a lehetőséget, és elköszöntem.
A csavar az, hogy utána ennél a cégnél dolgoztam közel 7 évet.
A másik esetben egy PDF-be bemásolt, kb. 850 soros logból kellett kihámoznom, miért hasalt el egy pipeline. Megtaláltam a hibát, de jeleztem, hogy ez a formátum nemigazán volt jó választás. Tőlük is kaptam ajánlatot.
Szóval szerintem az őszinte, szakmai kommunikáció sokszor többet ér, mint az, ha valaki mindent eljátszik, hogy tud. Ha valamit nem ismersz, az nem szégyen. Az a fontos, hogy tudj gondolkodni, kérdezni, problémát feltárni, és korrektül elmondani a véleményed.
nighowlbuga@reddit
850 soros log az semmi
50FtosPalack@reddit
Melyik/milyen cég?
palinko@reddit
Lehet kellett volna képernyőképeket csinálnod és Paintben összerakni na de mindegy az egész feladat nem életszerű mert 2026-ban berakjuk a kódot akármelyik AI-ba és megkérdezzük hogy mi a baj vele. Ha meg mi írjuk nem követsz el ilyen hibákat mert nem is dolgozna addig nem commiteled.
bgunne@reddit
Protip ha ilyen lesz máshol: kérd meg őket, hogy nagyobb felbontásra állítsák a kijelzőjüket, hogy kiférjen a teljes komponens, te pedig bele tudsz zoomolni a megosztott képernyőbe (teams hívádban biztosan) és görgetni a képet ahogy neked kényelmes.
Annual-Bad-3265@reddit (OP)
Igen ez sokat segített volna, ha az egészet egybe látom. Most kb 5 képernyőre fért ki az egész, mert alapból be volt zoomolva szerintem a vscode-ba, hogy jobban lássam, csak így meg az egészet volt macerás átlátni.
FlakyTestHunter@reddit
En erre csak annyit mondtam volna: egy pék se egyből adja oda a kenyeret. Előkészül rá. És elbúcsúztam volna tőlük. Ebben a helyzetben nem lehet rendesen és az elvárt szinten teljesíteni.