Mit várnak el manapság a cégek vezetői a kezdő programozóktól?
2017-09-15T07:19:29+02:00
2017-09-21T18:38:28+02:00
2022-07-21T10:43:38+02:00
  • Nyilvan nem. Mindent meg tudok irni. Azt a reszet az eletemben meg nem hasznaltam. Ugyanis van erre masik lehetoseg. En meg irtam sajat 3d enginet androidra vagy 7 eve. Hasonlot mint a min3d. :) attol meg az nem egy libgdx vagy unity
    Mutasd a teljes hozzászólást!
  • Például a QT, vagy az std.
    Mutasd a teljes hozzászólást!
  • Azért production/library minőségű collection libet nem triviális írni.

    Mi számít annak? Tech engine, Newton Dynamics, QT, std? Nálam a minőséghez hozzátartozik az, hogy gyors legyen, könnyen használható és tiszta kód.
    Mutasd a teljes hozzászólást!
  • És, ha neked kéne a String osztályt lefejleszteni, vagy a kollekciókat, akkor már összedőlne a világ is? Én saját C++ motorhoz ezeket magamnak írtam meg, de nem tartom magam jó fejlesztőnek, csak átlagosnak. Szerintem ezek nagyon triviális dolgok.

    Azért production/library minőségű collection libet nem triviális írni.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • És, ha neked kéne a String osztályt lefejleszteni, vagy a kollekciókat, akkor már összedőlne a világ is? Én saját C++ motorhoz ezeket magamnak írtam meg, de nem tartom magam jó fejlesztőnek, csak átlagosnak. Szerintem ezek nagyon triviális dolgok.
    Mutasd a teljes hozzászólást!
  • Ha nem guglizott, akkor honnan került be a következő (és következő) library ugyanarra a célra?
    Mutasd a teljes hozzászólást!
  • Minden programozási nyelven abszolút alap dolgok az alapvető konténerek: a dinamikus tömbök, a kiegyensúlyozott bináris fákon alapuló set-ek és map-ek, és a hash táblán alapuló set-ek és map-ek és az intruzív és nem intruzív láncolt listák.
    Ezek nélkül csak akkor lehet ellenni, ha nagyon nem tartalmaz algoritmikusan/performanciában érdekes kihívásokat a feladat, egyéb esetben rossz konténerválasztásokkal lehet elérni a legkönnyebb módon a rossz performanciát.
    Minden programozási nyelvet ezeknek a megnézésével kezdek szinte, ha ismersz pár nyelvet, ismered ezeket az adatstruktúrákat, egy új nyelven 20 perc alatt egészen képben leszel ezzel kapcsolatban. (persze nem árt tovább tanulmányozni is azért). A SortedSet az Javaban a kiegyensúlyozott bináris fákon alapuló halmaz runtime karakterisztikáinak garanciáit nyújtó interface, azért jó, hogy van egy ilyen interface , mert persze meg lehet valósítani másképp is (nem bináris fákkal), vagy proxyzhatsz egy bináris fát. C++-ban ugyanez a 'set' nevű templateosztály, csak ott nincs külön interface, hanem a 'set' minden általam ismert stl implementációban egy kiegensúlyozott bináris fa. Szerintem addig örüljetek, amíg csak ezek alapvető használatát kérdezik, és nem pl. a red-black tree-k belső lelkivilágába kérdeznek bele. 
    Mutasd a teljes hozzászólást!
  • Eletemben nem hasznaltam meg azt pedig eleg jo vagyok.:/
    Mutasd a teljes hozzászólást!
  • Szerintem nem kell Java specialistának lenni az embernek az általam felsorolt dolgokhoz.

    Nem kell, de én azt mondom, hogy pont egy Java specialistát keresve van inkább helye annak, hogy épp a java collection libet kérdezze valaki. Nézd, abban is igazad van, hogy ha valaki állítja, hogy 5 évig javazott, akkor is elvárható, hogy ezt tudja.

    Az a 30 mp-s tudás pont arra jó, hogy ne kelljen a google-höz menni amikor a JDK megfelelő csomagjában is megvan a megfelelő funkcionalitás

    Jó, de az 1x, max 2-3x 30mp, utána már emlékezni fog az illető a keresés eredményére. Biocache.
    Mutasd a teljes hozzászólást!
  • Szerintem aki a String.isEmpty()-t nem találja meg, sem a projektben már használt korábbiakat, akkor szerintem pont hogy azt tette, és így kerültek be az újabb és újabb library-k.

    Nem értem. Ha keresett volna a Google-ön és nem a saját kútfejére támaszkodott volna, akkor nem pont megtalálta volna a standard string isempty-t?
    Mutasd a teljes hozzászólást!
  • Itt nem is inkább a konvenció ismerete az, amit számon tudsz kérni, hanem a common sense dolgokat (valahol ugyanazt jelenti, de talán az utóbbi jobban kifejezi/megnevezi a dolgot). Mert a HashMap osztályról nem azért tudja egy jó szakember, hogy micsoda, mert konvenciót ismer föl, hanem mert ez egy általános fogalom/konstrukció neve is egyben.

    Azt is írtam, hogy emellett persze ismerni kell a használt adatstrukturákat fogalmilag (nem konkrét implementációt, hanem csak hogy egy olyan adatszerkezetnek milyen tulajdonságai vannak).
    Mutasd a teljes hozzászólást!
  • Ha neked gyorsan kell egy Java-s specialista, akkor minden további nélkül legitim hozzáállás az, ha a collection package-et kérdezed, de még többet is, mert a konvenció kb. 30 mp alatt megtanulható dolog, tehát ne ilyen keveset várj el az alanytól.

    Szerintem nem kell Java specialistának lenni az embernek az általam felsorolt dolgokhoz.

    Valamint egy szóval sem mondtam, hogy ez az egész felvételi. Ez a szűrés.

    Pont hogy arra szoktam menni, hogy kiderítsem hogy gondolkodik, hogy magyaráz, stb.

    Mondhatnám azt is, hogy engem nem érdekel semmi olyan tudás, amit egy pár másodperces google kereséssel meg lehet szerezni.

    Az a 30 mp-s tudás pont arra jó, hogy ne kelljen a google-höz menni amikor a JDK megfelelő csomagjában is megvan a megfelelő funkcionalitás, viszont cserébe nem kell különböző library-k esetleg inkompatibilis verzióival szenvedni egy upgrade-kor.
    Mutasd a teljes hozzászólást!
  • Ebben az esetben pont, hogy Google-özni kellett volna

    Szerintem aki a String.isEmpty()-t nem találja meg, sem a projektben már használt korábbiakat, akkor szerintem pont hogy azt tette, és így kerültek be az újabb és újabb library-k.
    Mutasd a teljes hozzászólást!
  • Mint a mellékelt ábra mutatta, nem találta meg sem a String.isEmpty()-t sem a projektbe korábban már az isEmpty céljából berakott 3 másik library-t.

    Ebben az esetben pont, hogy Google-özni kellett volna. :)
    Mutasd a teljes hozzászólást!
  • Ha valaki egy új nyelvet tanul másodikként vagy többedikként, szerintem elvárható hogy az alap csomagokat legalább átfussa, hogy képbe kerüljön. Aki erre nem hajlandó, azt neveztem lustának.

    Szerintem a vita ütközőpontját itt lehet jól megragadni.

    Ha neked gyorsan kell egy Java-s specialista, akkor minden további nélkül legitim hozzáállás az, ha a collection package-et kérdezed, de még többet is, mert a konvenció kb. 30 mp alatt megtanulható dolog, tehát ne ilyen keveset várj el az alanytól.

    Ha neked nem gyorsan kell egy generalista, akkor meg fölösleges a konkrétumokon rugózni, ha amúgy jól elbeszélgettek a kollekciókról és azok alkalmazásairól, mint általános szakmai ismeretről. Ebben az esetben is lényegetlen az a 30 mp, amit rászánt-e, vagy sem a java collection package-ére, ha papíron megmondja neked, hogy hogy működik egy LRU cache, vagy egy red-black tree.

    A google pedig mindössze arra van, hogy megtalálja, van-e ilyen osztály és mi a neve, ha épp java-t programoz. Mondhatnám azt is, hogy engem nem érdekel semmi olyan tudás, amit egy pár másodperces google kereséssel meg lehet szerezni. Az, hogy LinkedHashMap, vagy akármi más, az ilyen. Az, hogy általában véve milyen kollekciók szoktak lenni, ezt összefoglalni, beszélni róla összeszedett formában, na, az nem ilyen tudás. De ez utóbbi meg általános és lehet egy konkrét library nélkül is tárgyalni.
    Mutasd a teljes hozzászólást!
  • ergo ha egy osztálynevet mondok, akkor a konvenció alapján már tudod mit tud az osztály

    Itt nem is inkább a konvenció ismerete az, amit számon tudsz kérni, hanem a common sense dolgokat (valahol ugyanazt jelenti, de talán az utóbbi jobban kifejezi/megnevezi a dolgot). Mert a HashMap osztályról nem azért tudja egy jó szakember, hogy micsoda, mert konvenciót ismer föl, hanem mert ez egy általános fogalom/konstrukció neve is egyben.
    Mutasd a teljes hozzászólást!
  • Mondjuk ezzel a módszerrel mindkettő látható... (másrészt újból leírom, h nem csak ez a kör volt)

    Azt hozzáteszem, hogy attól, h az igaz amit írsz (de ezt ki vitatta?), miért ne kereshetné bárki az optimális jelöltet? Mondjuk akit nem kell egyikre sem tanítani... Sőt, miért ne őt venné fel, ha egyéb paraméterek mentén is megfelel? Azért megfelelő pénzért még most is lehet találni olyat, aki nem vagy-vagy feltételnek felel meg.
    Mutasd a teljes hozzászólást!
  • Bocs, az kimaradt a gépújraindulás miatt, hogy az elvárt kód minőség tanítható is... a gondolkodás nehezebben...
    Mutasd a teljes hozzászólást!
  • Azt nem mondtam, hogy a gondolkodást ne nézték volna(akár egy másik körben). :) De ez látszik egyébként a kódban is, pont erről szólt az előző hozzászólásom első mondata.

    Nyilván nem a formázásra gondoltam, hanem a kód felépítésére, logikájára.
    Mutasd a teljes hozzászólást!
  • ami a kezebol kikerul, szerintem az is nagyon lenyeges.

    Az az értelmes önálló gondolkodásnál könnyebben kikényszeríthető szabályokkal és azt ellenőrző eszközökkel (az elvárásoknak megfelelő checkstyle és pmd rule készlet, és itt nem a kapcsoljunk be ész nélkül minden szabályt-ra gondolok... és egyébként a szabályokat is meg kell érteni hogy mit és miért akarnak kikényszeríteni, nem csak vakon tüneti kezelésekkel kiküszöbölni őket)
    Mutasd a teljes hozzászólást!
  • Ha értelmes és előre gondolkodik, szerintem biztos hogy kevesebb időt fog elpazarolni mint aki csak guglizik vagy ész nélkül programozik.

    Ez egyebkent ugyanigy latszik annal a felveteli eljarasnal is, amirol meseltem. 

    Nalunk azert volt ez az eljaras resze, mert java fejlesztok dolgoztak es kivancsiak voltak/voltunk az uj kollega munkajara, mikent tudnank vele egyutt dolgozni. Nyilvan a gondolkodas egy masik kor, de ami a kezebol kikerul, szerintem az is nagyon lenyeges.
    Mutasd a teljes hozzászólást!
  • ref doksi nélkül vicces lett volna, nem érdekel mire nem emlékszik, én se emlékszem. Azért van a 2-300 oldal, hogy kikeresse az ember. (ráadásul sokminden egyedi volt, nem volt mindegy, hogy mi, hány biten dolgozik). Egy dologra azért jó ha emlékszik, ha tudja, hogy van olyan fuggvény, ami azt csinálja amit szeretne. (azért egy memcpy-re, vagy strlen-re emlékezzen, hogy mire jó :) ).
    Custom hardware volt, kapott hozzá regisztertáblát, de ha nem tud bitmask-ot összerakni sima C-ben, és beírni egy 8 bites számot az alsó vagy felső 8 bitbe egy 16 bites regiszteren, akkor már nagy probléma van, és ehhez még ref doksi se kell.
    Direkt olyan volt a feladat, hogy ne kelljen hozzá semmi, csak pár regiszter. Utána megmutattam nekik a regisztertáblát, megmondtam melyikeket használja, de úgy se segített. Aztán elmondtam szóban, hogy hogy kéne, de úgy se. Végül feladtam.
    Aztán persze hozott össze a sors olyan egyetemistákkal is, akik nagyon ügyesek voltak, és villámgyorsan tanultak. (ki is mentek külföldre, amint végeztek).
    Mutasd a teljes hozzászólást!
  • Én nem szoktam nézni mennyi idő alatt csinálja meg a feladatot, az érdekel hogy gondolkodik. Ha értelmes és előre gondolkodik, szerintem biztos hogy kevesebb időt fog elpazarolni mint aki csak guglizik vagy ész nélkül programozik.

    És általában nem is Java kódot kérek csak egy logikai problémára pszeudo kódot.
    Mutasd a teljes hozzászólást!
  • Ez a feladat egyrészt alap jdk-vel megoldható volt talán kicsivel bővebb könytár ismeretttel, mint Finrod korábban említett. A második része jee ismerettel lazán. Tehát a standard java ismeret elégséges volt. De ha valaki ezotérikus könyvtárakkal oldja meg, hát legyen, ha belefér az idejébe és utólag is meg tudja magyarázni, h mit-miért tett. De nem volt megszabva, h mit használj, csak a feladat maga. Ott a gép, a net, az idő... A többi mind mellébeszélés. Hozzáteszem, hogy annyi idő volt megadva, hogy nagy frameworkök behuzása értelmetlen lett volna. Ja, és google-el nem találtál volna hasonló feladatot. Vagy hát tudod elég necces, amikor van 1.5-2 órád és a google-re bízod magad. De jobb is, mert az ilyenek nem mennek át.
    Mutasd a teljes hozzászólást!
  • Szerintem ez a feladat típusától függ. Van olyan, amelyik az absztrakciós képességet, gondolkodást teszteli, van olyan, amelyik az adott keretrendszer ismeretét, sőt találkoztam olyat is, ami épp azt tesztelte, hogy hogyan boldogul a jelölt egy számára nem vagy alig ismert keretrendszerrel. Előbbinél necces, ha google segítségével rátalálhat a megoldásra, persze ez sem mindig igaz, simán van amelyiknél hiába google, mert egyedi, a második típust nem túlzottan preferálnám, de ott nyilvan jó ha tilos a google, a harmadiknál meg alap, hpgy lehessen.
    Mutasd a teljes hozzászólást!
  • Ok, csak eredetileg nem erről volt szó itt sem. De sebaj, akkor egyetértünk ebben is, nem az a lényeg, hogy guglizik vagy nem, lehet azt is jól meg rosszul is. Azt meg én sem mondtam, hogy garantálható. De az sem garantálja, ha fejből tudsz sokat, amit MADE is felhozozz, véletlenül épp ugyanazt látta a vitánkban, mint én...

    Azt értsd már meg, hogy én nem várom el hogy sokat tudjon. Azt a nagyon keveset amit én alapnak tartok, azt várom el.

    De az sem garantálja, ha fejből tudsz sokat, amit MADE is felhozozz, véletlenül épp ugyanazt látta a vitánkban, mint én...

    De a guglizás sem garantál semmit, épp ezért nem vagyok kiváncsi arra, hogy csinálja. És mint mondtam, igazán nem sok amit elvárok. Épp ezért abba a kevés elvárásba is belekötni kicsit vitatható.

    Ok, tehát a SortedSet interface-t is. A másik hármat, ami említve volt, én is, de ezt konkrétan nem. Akkor ezek szerint ebből következik bármi is rám vonatkoztatva veled szemben, ha mi lennénk a két jelölt?

    Mint sokadjára is el kell mondanom, nem azt vártam, hogy tudd van egy SortedSet interfész, hanem hogy ha valaki azt kérdi mit ad a létező java.util.SortedSet interfész vagy a létező TreeSet osztály (tehát nem neked kell tudni, hogy hogy hívják), akkor ne kelljen gugliznod, vagy doksihoz menj, hogy tudd a következőket:
    - ez egy Set (tehát minden elem-pár false-t ad equals()-ra),
    - és még rendezett is, tehát vagy Comparable példányaid kell hogy legyenek, vagy kell neki egy Comparator, valamint hogy nem illik az összehasonlításkor használt attribútumokat macerálni a kollekcióban levő példányokon,
    - valamint Tree... tehát fa strukturában tárolja az elemeket és ennek milyen velejárói vannak sebességre.

    Akkor viszont önmagadnak mondtál ellen akkor, amikor azt írtad, hogy nem tehetsz róla, hogy én lusta vagyok, és nem olvastam át a dolgokat interjú előtt, és nem tudtam, hogy van olyan interface

    Nem, én csak annyit mondtam, hogy véleményem szerint lusta vagy, mivel általad bevallottan nem nézted át az alapokat, de nem konkrétan azért, mert nem tudtad van-e ilyen interfész. És önmagában a lustaságban még mindig nincs semmi rossz.

    Én annyiban veszem magamra, hogy mostanában egyre többet C#-ozok munkahelyen, és szabadidőmben is olvasgatok róla, de biztosan vannak az alap szintű dolgokban is hiányosságaim.

    Én is .NET-ezgettem anno kicsit, de ettől még nem neveztem magam .NET fejlesztőnek és nem írtam soha, hogy értek hozzá minimális szinten sem.

    A megismerés nem mindig olyan, hogy előbb minden beépített .NET library, aztán meg az adott framework legalapjai, ez nem mindig így megy

    Én nem minden Java library-t mondtam, hanem a java.lang-ot és a kollekciókat, amik nélkül szerintem nagyon nehéz értelmes programot írni Java-ban.

    Mindegy, mert te érvként használtad fel, mint ha a guglizás kizárná, hogy ésszel használja fel, és mint ha a megfelelő szintű lexikális tudás meg azt zárná ki, hogy guglival keresett kódokat hányjon össze spagettiba.

    A JDK-ban levő alap dolgok ismerete szerintem nagyban valószínűsíti hogy a JDK-ban megtalálható dolgokkal megvalósítható feladatokra nem 3rd party library-ket (és ugyanarra a célra nem 4 helyen 4-et) fog a delikvens használni.
    Mutasd a teljes hozzászólást!
  • Én arra reagáltam, amit rólam írtál abban a kommentedben. De amit MADE-nek írtál sem volt korrekt, mert bizony te állítottad szembe a guglizós embert a jó lexikális ismeretekkel rendelkezővel, mint ha bármi is következne abból egyik vagy másik irányba.
    Mutasd a teljes hozzászólást!
  • Ha én elédteszek egy feladatot hogy kódold le, akkor az vagy pszeudokódban lenne, vagy egy Eclipse-ben (vagy egyéb a cégnél használt fejlesztői környezetben), lokálisan rendelkezésre álló Javadoc-al, de internet nélkül ahol rutinszerűen kéne kódolnod Javadoc segítségével.

    Anno, amikor még jártam interjúra, akkor úgy interjúzttattak az egyik legjobb melóhelyemen, hogy itt a feladat, itt a gép, azt használsz, amit akarsz, de csak x perced van. Nyilván az idő úgy volt meghatározva, hogy ha nem googlezol, vagy minimálisat. Arra esély sem lett volna, h hasonló feladatot találj a neten, és nem sikerült volna nulláról összeollózni, ill. az meglátszott volna az eredményen is, ha ész nélkül ollóz. Hiába volt net, sorra estek ki emberek több éves gyakorlattal is. A scrum masternek, meg az volt a mondása, hogy "a munka közben mi is használunk netet", tehát megkaphatja a pályázó a segítséget.
    Mutasd a teljes hozzászólást!
  • Ügyes csúsztatással megfordítottad a bizonyítási kényszert. Ugyanis én állítottam azt, hogy amit te súlyos hiányosságnak tartasz, az guglizással kiküszöbölhető (mellesleg library doksival vagy referencia könyvvel is, vagy akár céges kódbázisban kereséssel is, nem az eszköz a lényeg), erre jöttél a te droid embereddel. Most meg pofátlanul megfordítod a bizonyítási kényszert, holott nem én állítottam, hogy csak jól lehet guglizni

    Nem tudom feltűnt-e, ez a post amire reagáltál nem a te állításaidra volt válasz, hanem a MADE nevű felhasználóéra, tehát légy szíves azzal vesd össze ő mit írt, ne azzal amit te.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd