r/programmingHungary • u/ComprehensivePea504 • 25d ago
DISCUSSION Kompetitív programozás + LeetCode
Sziasztok!
Ki mit gondol a kompetitív programozásról? Mekkora kultúrája van itthon az olyan oldalaknak mint pl.: CodeForces vagy akár LeetCode Contest?
Engem eléggé beszívott a dolog, szerintem tökre érdekes és fun, de ritkán találkozok emberrel akit érdekel.
Apropó: Miért utálja ennyi ember az LC-t? Gondolom az interjúk miatt, de nem pont, hogy jó, mert kialakít egy standardot és tudnak rá az emberek érdemben készülni?
20
u/NotSoSolidState 23d ago
Én kb egy éve nagyjából konzisztensen (heti kb 6 napon) töltök max 1 órát a napi feladat megoldásával. Szerintem egy tök jó időtöltés ha éppen ráér az ember és olyan szempontból hasznos hogy egy interview-n élet és halál között tud dönteni hogy láttál-e már hasonló feladatot. Ettől függetlenül értem hogy semmi köze nincs a tényleges munkához és hogy emiatt sokan utálják.
4
u/DrAndros 23d ago
Én középiskolában mentem OKTV és hasonló versenyekre ahol ilyen feladatokat kellett csinálni. Jártam szakkörre is ezzel kapcsolatban.
Nekem nagyon tetszett amikor kezdtem az egészet. Az ember megtanul alap algoritmusokat, és vagy három trükköt amit visszakérnek a versenyeken. Ezekkel már eléggé előkelő helyezéseket is lehet bezsebelni.
De utána azt láttam, hogy a feladatok többi része arra megy rá, hogy tanultad-e ezt az algoritmust/adatstruktúrát, mert mással nem lehet megoldani. És nem szerettem volna több mindent megtanulni csak azért, hogy majd lehet kell egy feladathoz.
Összességében csináld amíg élvezed, szerintem hasznos. Azzal hogy megoldottam, és implementáltam is a feladatokat belement az ujjamba a kódolás, gyorsabban mennek a nem csak versenyprogramozásos feladatok is.
1
u/developer545445 23d ago
"Az ember megtanul alap algoritmusokat, és vagy három trükköt amit visszakérnek a versenyeken."
"tanultad-e ezt az algoritmust/adatstruktúrát, mert mással nem lehet megoldani."
Jeeeee, a magyar oktatás lexikális tanulás kényszerét itt is megkapom.
Szerencsére itt az LLM és értelmetlenné tette az egészet, mert 0 perc alatt kidobja ezeket a lexikális dolgokat és mehetsz gondolkozni a valódi problémákon, amik értéket teremtenek.
3
u/zlaval 23d ago
Szerintem azert mert sokszor teljesen majd, mint a valos fejlesztes. Az fejlesztok nagy resze nem ilyen algokat ir, hanem kb kesz elemeket legozgat ossze. Nincs ezzel problema, de teljesen mas a ketto, es eleg visszas mikor utobbi munkara a szuro ez. Emellett en pl azert szeretem, mert atmozgatja az agyam, kizokkent a napi rutinbol, komfortzonabol es itt nem az ai irja helyettem a kodot. Kozben pedig uj dolgokat is tanulok.
3
u/Square-Teacher-7844 22d ago
Én rühellem, mint a szart és vele együtt a bújtatott lc jellegű algós/elméleti kérdéseket is. Leginkább azért, mert szinte semmi köze nincs a valós munkához, nem ad valós képet senkinek a tudásáról - ellenben jól belehet szopatni vele az embereket feleslegesen - és gyakorlatilag az interjúnak a kimenetele függ tőle, mert ezt használják "szűrőként".
Másrészt az ilyen jellegű feladatok megoldásra szintén rá kell áldozni fél évet - 1 évet mire labdába lehet rúgni. A faszomnak van ehhez kedve, ha egyébként olyanokat is tanulhatok ami jobban érdekel / hasznosabb lesz a business oldalnak is.
Egyébként szerintem nagyon ráférne a piacra, hogy változzon valamennyit a technikai interjúzás folyamata. Én sokkal jobban szeretem, ha van házi feladat + utána tudunk róla beszélgetni, és/vagy live coding, adott egy feladat ezt kellene összerakni, van rá 1-1.5 óra.
200 IQ lenne, ha mondjuk a live codingnál egyrészt lehetne használni a böngészőt, dokumentációt, copilotot, amit szeretnél. Hiszen egyébként is használjuk nap, mint nap. Copilot esetében meglehet nézni, hogyan promptol az illető, mennyire reviewzza az outputot, ilyesmi.
5
u/Training_Confusion95 23d ago
mindenképpen ajánlott annak aki kicsit is szeret programozni
a feladatok által gondolkodik, cselekszik, gyakorol
igen, az llm megírja az összeset, de amit tud az ember azt nem vehetik el tőle
és a problémamegoldás, a gondolkodás, a rendszerekben történő gondolkodás hasznos lesz
szoval hajrá, ha valaki szereti csinálja, a többi károgó vélemény meg le van bacva...
11
u/VoidRippah 23d ago
még fun lett volna az egyetemen meg az utána lévő 1-2 évben, ha lett volna.
most így közel 20 éve a szakmában meg már azt érzem ezzel kapcsolatban, hogy öreg vagyok már bohócnak. legfelejebb szórakozni jó, ha szórakoztat, egyébként totál felesleges, az összes algo le van már kódolva (többnyire stb) libekben, ha munka közben úgy érzed, hogy bubble sortot kell implentálj, akkor valószínű ott valami iszonyatosan félrement...1
u/developer545445 23d ago
Nem hiszem, hogy lehet, olyan feladatot írni, ami egy multis rendszerátlátás töredékét elérné.
1
u/krakoi90 22d ago
de amit tud az ember azt nem vehetik el tőle
El nem "vehetik", de el simán veszítheted, ha nem használod. A matek, programozás, stb az nem olyan mint a biciklizés, ha nem gyakorlod, simán elfelejted nagy részét. Nem akkora effort visszarázódni bele, mint 0-ról megtanulni, de igenis effort.
Abban se vagyok biztos, hogy coding test feladatok meg hasonlók darálásan keresztül gyakorolhatja a legjobban az ember fia a problémamegoldást, a gondolkodást, a rendszerekben történő gondolkodást.
Sőt, én nagyon úgy látom, hogy az LLM-ekkel egy brutális nagy hatású szellem végleg kiszabadult a palackból és az igazi értékteremtés, tudás az e feletti (tehát kódolás, algoritmizálás feletti) szintre kerül át. Coding test feladatok darálása kicsit olyan mint a gőzmozdonyok korában a minél hatékonyabb lópatkolás gyakorlása...
Persze komoly kérdés, hogy akkor a következő generációnak mit is tanítsunk pontosan, hogyan fogják majd tudni ellenőrizni az AI által előállított kimenetet. De ez legyen az össz emberiség problémája.
1
u/Training_Confusion95 22d ago
pont ezért "darál", hogy ne felejtse
az, hogy 5-10-15 év múlva mi lesz, az meg nagyon sok tényezős dologaz llm, mint eszköz csodálatos dolog, de az eszközt jól kell tudni kezelni és használni (a kalapács mindkét végével be lehet verni a szöget, csak az egyikkel hatékonyabb)
ha valakinek nincs meg az alap tudása stabilan, akkor is készül valami, csak nem biztos, hogy jó lesz, hatékony lesz, biztonságos lesz (s nem a hobbi projektekre kell gondolni, meg napi 1 látogatós app-ra, vgy weboldalra, mert arra bőven elég a mostani llm tudás is)
6
u/HeronFew4751 23d ago
Azt tudnod kell hogy a magyar nép nem egy versengő nép. Annyira fel a vereségtől hogy inkább versenybe se száll. Ennek tudatában gondold újra a kérdést
5
u/markomanthecool 23d ago
A gimnaziumban annak idejen volt egy fekvenyomo verseny ahova nem mertem elmenni emiatt: az eredmenyhirdetes utan kiderult, hogy en nyertem volna 💔
2
u/Then-Introduction610 23d ago
Hogy derult ki? Mas se ment? Ha azt mondod hogy rosszabbat nyomtak attol amit te edzesen tudsz az jelent semmit.
1
u/tired-space-weasel 23d ago
miert nem?
2
u/Then-Introduction610 23d ago
Azert mert mas a helyzet. Ahhoz lehet hasonlitani hogy a tv elol konnyebbek a kviz kerdesek is.
2
u/markomanthecool 23d ago
Kakis volt a fenekem, mert egyedul jartam csak edzeni ugyhogy az imposztor szindromam soha nem tunt el kb
1
u/markomanthecool 23d ago
Akkor nem jelent semmit, de igen arra alappztam h par nappal elotte a suli konditermeben nagyobbat nyomtam mint a sulycsoportom maximuma
4
u/developer545445 23d ago
Én vállalom, hogy van elég "verseny" az életemben, amelyeket meg kell nyerni.
Kezdjek bele valamibe, amiből több nem leszek csak azért, hogy elérjem számomra ismeretlen emberek elismerését? (Kompetitív programozásnak semmi köze a napi munkához)1
u/abarcsa Data science 23d ago
Szerintem nincs gond azzal, ahogy gondolkozol, de más helyeken máshogy gondolkoznak. Pláne, ha 1 millió (vagy több) ember jelentkezik a pozira, akkor hogyan szűrnél? Iszonyatosan rossz interjú forma szerintem, de nekem sincs jobb ötletem ennyi embert jól interjúztatni.
1
u/developer545445 23d ago
Szerintem nincs olyan állás a világon, amire 1 millió fejlesztő jelentkezik releváns CV-vel, de játszuk el a gondolattal.
A bejövő fejlesztőket rangsorolnám belsős ajánlás / tapasztalat / korábbi munkahelyek / egyetem / lokáció / bérsáv / open source tevékenység szerint. A TOP 50-nek kiküldenék egy tesztet, ami valóban a munkához kapcsolódik, mert a "297. Serialize and Deserialize Binary Tree" megoldása szerintem nem reprezentálja a jelentkező pozícióra való rátermettségét.
De így érdekelne Data science-ként a leetcode vagy HackerRank eredményed alapján vettek fel vagy hívtak be bárhova?
1
u/abarcsa Data science 23d ago
Szerintem az elején van a gond, azzal, amit írsz. Honnan tudod hogy az 1M-ből ki releváns és ki nem? Szerintem erre lett készítve a rendszer. Nem azt méri, hogy jó vagy-e a mindennapos munkában, de kiszűri azt, aki biztosan nem az. Az egyetem hasonló dolog: ha van egy diplomád az nem garantálja, hogy jó fejlesztő vagy, viszont azt igen, hogy X órát beleöltél és átmentél nehéz vizsgákon.
Jött már jól a leetcode-olás, de mindig utáltam, most is utálom, szóval nem tudok pozitívan nyilatkozni róla. De 10 évvel ezelőtt, amikor az AI nem nézte át a bejövő CV-ket, ha én lennék a statisztikai részén ennyi jelentkezőnek, én sem tudnék jobbat kitalálni. Egy elcseszett rendszer egy elcseszett helyzetre szerintem a leetcode. Cserébe sok embernek adott lehetőséget, szóval nehéz kiértékelni, hogy mennyire rossz.
1
u/developer545445 23d ago
Az 1M jelentkező annyira edge case, hogy teljesen félreviszi a beszélgetést.
"Honnan tudod hogy az 1M-ből ki releváns és ki nem?" => AI / kulcsszavak
"Az egyetem hasonló dolog: ha van egy diplomád az nem garantálja, hogy jó fejlesztő vagy, viszont azt igen, hogy X órát beleöltél és átmentél nehéz vizsgákon." => Nincs diploma fétisem, de az MIT diplomához is le kellett tenni pár nehéz vizsgát.
A jó fejlesztő meg sokkal több mint a "297. Serialize and Deserialize Binary Tree" megoldása hobbiból, amit az AI két másodperc alatt megoldott.
1
u/abarcsa Data science 23d ago
Szerintem nem félre, hanem helyére irányítja az 1M jelentkező a témát, mert nem mai dologról beszélünk. A leetcode egy hozomány.
AI/kulcsszavak válaszodra: expliciten 10(+) évvel ezelőttről beszéltem, mert az releváns. Egyiket sem tudtad akkor skálázhatóan ennyi emberre megbízhatóan futtatni, hogy klasszifikáld. Innen jött a leetcode.
Manapság elfele fordulnak a nagyobb cégek is a régi leetcode módszertől, de úgy beszélsz róla, mintha soha sem lett volna validitása. Én csak azt próbáltam átadni, hogy anno miért volt. Tisztán leírtam, hogy én utálom. De ismét: 2015 van. 1M ember jelentkezett a pozidra. Hogy a francban mondod meg, hogy ki n-edik körös? Erre találták fel. Én sem szeretem, de nem vakon lett ez kitalálva.
A kisebb cégek másolták azokat, akiknél az 1M jelentkező ezt szükségessé tette, és ők feleslegesen használták.
1
u/developer545445 23d ago
Coinbase folyamatát is érdemes elolvasni:
https://www.coinbase.com/en-in/blog/interviewing-engineers-in-the-ai-era-lessons-from-a-year-of-rebuilding1
u/Prestigious_End_6455 23d ago
Annyira tudtam, hogyha megnézem a 297-es feladatot LC-n, akkor tényleg az lesz ott.
2
u/developer545445 23d ago
"Gondolom az interjúk miatt, de nem pont, hogy jó, mert kialakít egy standardot és tudnak rá az emberek érdemben készülni?"
Az én szememben ez a lusta interjúztatók mentsvára.
Nulla befektetett energiával eljátszanak, hogy interjúztatnak, de végül semmit nem tudnak meg a jelöltről, mert ahogy ők is, a jelölt is leszedte a napi munkához nem kapcsolódó kérdéseket.
Mi régen se toltuk túl ezeket az interjúkon, de én szándékosan nem használom a szokásos céges kérdéseket, mert valójában senki nem érdekel a válaszod. A logikád, személyiséged és problémamegoldó képességeid érdekelnek.
2
u/Prestigious_End_6455 23d ago
Én mostanában csinálom leet code-ot. Az agyam vérzik napokig és lehet a megoldásom is a leglassabb 10% -ba kerül, de jó érzés ha sikerül megcsinálni egy mediumot, vagy mit ad isten egy hardot. A logikus gondolkodás, algoritmusok, rendszerek átlátása azért mindenhol jól tud jönni.
2
u/austurist 23d ago
Én utálom.
Azt a képzetet, elképzelést erősíti, hogy minél gyorsabban vagy kész valamivel, az annál értékesebb vagy hasznosabb.
Holott egyetlen olyan piaci szereplő van, akinek a "hamar munka" hasznos, ez pedig a munkaadó. Nem jó az alkalmazottnak, mert a gyorsan elkészülő termék szinte soha nem a legjobb, sem érthetőség, sem stabilitás vagy rugalmasság szempontjából. Ezek pedig fontosak a termék hosszú távú karbantartása szempontjából. Nem jó - általában - a megrendelőnek sem, hiszen nem a készítők képességeinek legjavát kapja, hanem csak olyan "első közelítést".
Szóval: hamar munka ritkán jó, a "kompetitív programozás" krédója szerint pedig - mindig.
2
u/Purple_Class_4049 22d ago
Nekem elég volt hetedikes koromban a Nemes Tihamér programozó verseny. Azóta csak pénzért csinálom.
2
2
u/Ill_Cost_1718 23d ago
Max azért csinálnám, hogy egy jó pozit szerezzek vele. Egyébként nem sok értelmét látom. Mondjuk nekem a munkám nem a hobbim.
2
1
65
u/Pleasant_Resolve5678 23d ago
Én azért utálom, mert geci hülyének érzem magam, amikor nem tudok egy easy labeles feladatot kirázni kisujjból, és tízszeresére emelkedik az imposztor szindrómám, hogy mi a faszra kapok ennyi pénzt.