Fórum Root.cz
Práce => Studium a uplatnění => Téma založeno: jpu 16. 03. 2018, 10:10:38
-
Co si myslite o testoch na pohovoroch? Hlavne, ak uz sa o miesto uchadzaju ludia s nejakymi skusenostami. Pochopim to u absolventov, alebo ludi s malou praxou, ale u ludi so 4 a viac rocnou praxou? Neviem co je zmyslom tych testov, nakolko kandidat byva na pohovore v strese, takze moze sa stat, ze spravi chybu. Nehovoriac o tom, ze v testoch byvaju chytaky a take veci, s ktorymi sa clovek nikde nestretol a asi ani nestretne. To mi pride, ako ked sa na VS programovalo na papier :)
-
Co si myslite o testoch na pohovoroch? Hlavne, ak uz sa o miesto uchadzaju ludia s nejakymi skusenostami. Pochopim to u absolventov, alebo ludi s malou praxou, ale u ludi so 4 a viac rocnou praxou? Neviem co je zmyslom tych testov, nakolko kandidat byva na pohovore v strese, takze moze sa stat, ze spravi chybu. Nehovoriac o tom, ze v testoch byvaju chytaky a take veci, s ktorymi sa clovek nikde nestretol a asi ani nestretne. To mi pride, ako ked sa na VS programovalo na papier :)
O ten stres jde, uchazeč ukáže, jak reaguje na stresové situace.
-
Jednak jde o to zjistit jak se člověk chová ve stresu a jestli je schopen nějaké práce pod tlakem a druhak je potřeba zjistit jestli má skutečně 5 let praxe s programováním jak uvadí a nebo 5 let praxe v copy-pastování ze stackOverflow a sám není schopen kloudně napsat 10 řádků nebo vyřešit primitivní matematický problém
-
rozumiem, ale testy formou chytakov? alebo otazky typu, v akom namespacey sa nachadza tato trieda? to uz je trosku pritiahnute za vlasy, nie?
-
Délka praxe nevypovídá naprosto o ničem. Znal jsem lidi s 10+ lety praxe, kteří neznali naprosté základy.
-
treba si ale polozit otazku, co su to tie "naproste zaklady"?
-
No tak záleží o jakých pozicích se bavíme. U pohovoru s kolegou/nadřízeným často stačí probrat pár situací, kdy správnou odpovědí může být, že si vygoogluješ nejlepší řešení. U programátorů to asi bude fungovat trochu jinak, protože asi nikdo nebude chtít slyšet, že si najdeš odpovídající kus kódu někde na internetu a jen ho tam přilepšíš. Na druhou stranu, pokud se jedná o situaci, kterou nedokážeš sám vyřešit, může být opět správou odpovědí to, že si najdeš na internetu podklady, které si nastuduješ, a pak teprve budeš moc situaci řešit. Schopnost přiznání si vlastního nedostatku, samostatné práce a sebevzdělávání je snad z dlouhodobého hlediska důležitější než znalosti, které máš v okamžiku pohovoru. Tedy pokud se nejedná o nějakou jednorázovku na pár měsíců.
Zaměstnavateli, který na pohovoru s uchazečem s prokazatelnou praxí v oboru, klade otázky typu "co je to IP a DHCP" je asi lepší se vyhnout. Podobné dotazy jsou snad vhodné jen pro uchazeče, který má v historii zaměstnání jen práci za pokladnou...
-
Pokud nekdo potrebuje testovat chovani lidi ve stresu, tak ma praci blb zorganizovanou nebo je to curak, co zamerne drzi lidi ve stresu, aby z nich vic vyzdimal. To u rady lidi vede k vyhoreni a nekdy i k neschopnosti chodit vubec do jakekoliv prace.
-
ak je sa to skusa formou testu, tak asi nenapisem do testu, ze si to nastudujem. mal som uz aj testy, kde sa za zle odpovede strhavali body. takze aj to co som mal dobre, stiahli nespravne natipovane odpovede :D
-
Co si myslite o testoch na pohovoroch? Hlavne, ak uz sa o miesto uchadzaju ludia s nejakymi skusenostami. Pochopim to u absolventov, alebo ludi s malou praxou, ale u ludi so 4 a viac rocnou praxou?
Xlovek co dela 10 let lopatu bude porat lopata.
-
rozumiem, ale testy formou chytakov? alebo otazky typu, v akom namespacey sa nachadza tato trieda? to uz je trosku pritiahnute za vlasy, nie?
Otazky by mely odpovidat mistu o ktere se uchazis ....
-
Běžně se vyskytují testy, kde i správná odpověď je považována za chybnou. Do takové firmy nemá význam vstupovat.
-
Testy odfiltrují velkohubé javamany. Kdo opravdu umí, testů se nebojí.
-
Nehovoriac o tom, ze v testoch byvaju chytaky a take veci, s ktorymi sa clovek nikde nestretol a asi ani nestretne.
To mi připomíná, potřebovali jsme rozšířit tým, ani to nemusel být nějaký super ultra top expert, protože jsme se potýkali s nedostatkem lidí a prostě i učenlivý absolvent by klidně stačil. Teamleader řekl, že by potřeboval sestavit nějaký test pro ověření schopností uchazeče. Pověřil tím dvě nejlepší esa z týmu, seniorní experty a ti si vzájemně dávali ty nejhnusnější špeky, které dokázali vymyslet a když jeden z nich neznal odpověď na otázku toho druhého, tak tu otázku napsali do seznamu, který pak dali teamleaderovi. Dokážu si představit, jak se asi musel cítit průměrný uchazeč, který neměl šanci odpovědět správně ani na polovinu z těch otázek, natož aby ty otázky dostal absolvent, který si po škole hledá první zaměstnání.
-
He, cakal som, ci niekto napise, ze stres v praci = rychlo odtial prec. :-)
V normalnej firme sa sef snazi aby tam stres nebol.
Bohuzial, testy su niekedy jedinou cestou ako oddelit zrno od pliev, zvlast ak sa na poziciu hlasi vela ludi.
(to, ze cely test neprejdes, nevadi).
Googlenie je normalna cinnost, samozrejme pri programatoroch sa ocakava, ze nieco vedia aj vytvorit hlavou.
Ked sa pozriem okolo seba, ci sa jedna o adminov, ci programatorov, vsetci googlime ...
Bol som (kedysi) na pohovore. Pocas cakania na pohovor som robil pisomny test.
IP Subnets, bez kalkulacky dost zle, ak s tym nerobis stale (co robia viac menej len chalani od CISCO a spol).
A dal som do googla. (kto by si pametal vsetky bity).
Prisla HR baba, ze co to robim ... Hovorim, ze naco by som drzal v hlave veci, ktore potrebujem mozno raz za rok (ak vobec). Nepovedala nic. Inac - zobrali ma. (buduci sef impovizaciu ocenoval, mali sme dost zaludnu cinnost prevazne v exterieroch ).
-
to sa snazim povedat. ze castokrat byvaju v teste otazky, ktore niekedy nevedia ani sami zodpovedat. popr. najdu test na internete aj s odpovedami a tie davaju
-
Nehovoriac o tom, ze v testoch byvaju chytaky a take veci, s ktorymi sa clovek nikde nestretol a asi ani nestretne.
To mi připomíná, potřebovali jsme rozšířit tým, ani to nemusel být nějaký super ultra top expert, protože jsme se potýkali s nedostatkem lidí a prostě i učenlivý absolvent by klidně stačil. Teamleader řekl, že by potřeboval sestavit nějaký test pro ověření schopností uchazeče. Pověřil tím dvě nejlepší esa z týmu, seniorní experty a ti si vzájemně dávali ty nejhnusnější špeky, které dokázali vymyslet a když jeden z nich neznal odpověď na otázku toho druhého, tak tu otázku napsali do seznamu, který pak dali teamleaderovi. Dokážu si představit, jak se asi musel cítit průměrný uchazeč, který neměl šanci odpovědět správně ani na polovinu z těch otázek, natož aby ty otázky dostal absolvent, který si po škole hledá první zaměstnání.
Správně navržené otázky by měly testovat kreativitu, dávat tam chytáky je volovina.
-
IP Subnets, bez kalkulacky dost zle, ak s tym nerobis stale (co robia viac menej len chalani od CISCO a spol).
Tohle bych dal levou zadní. Otázkou je, k čemu by to bylo dobré. Rozumný admin nepoužije masky, ale třídy adres, aby ta síť byla přehledná.
-
Neviem co je zmyslom tych testov, nakolko kandidat byva na pohovore v strese, takze moze sa stat, ze spravi chybu. Nehovoriac o tom, ze v testoch byvaju chytaky a take veci, s ktorymi sa clovek nikde nestretol a asi ani nestretne.
Už jsem se s několika takovými chytáky setkal. Buď jsem ho dal, anebo ne. Jeden z nich mě dost pobavil, protože zadání na první pohled vypadalo jako porucha na telegrafní lince.
Stres je dobré nechat doma. Nepřišel jsem na výslech, ale na pohovor.
-
Neudělals ?
-
Tohle bych dal levou zadní. Otázkou je, k čemu by to bylo dobré. Rozumný admin nepoužije masky, ale třídy adres, aby ta síť byla přehledná.
Az budes delat ve firme, kde ty site jsou fakt rozsahle, tak prijdes na to, ze to muze byt i jinak, a neni to vzdy jen o rozumu...
-
Běžně se vyskytují testy, kde i správná odpověď je považována za chybnou. Do takové firmy nemá význam vstupovat.
Jenže nepoužívání setterů a else u if není správná odpověď ;D
-
Běžně se vyskytují testy, kde i správná odpověď je považována za chybnou. Do takové firmy nemá význam vstupovat.
Jenže nepoužívání setterů a else u if není správná odpověď ;D
Divil by ses, že v tomhle směru jsme to měli oboustranně správně. Dokonce věděli, co je to zapouzdření a k čemu je Démeteřin zákon.
-
IP Subnets, bez kalkulacky dost zle, ak s tym nerobis stale (co robia viac menej len chalani od CISCO a spol).
Tohle bych dal levou zadní. Otázkou je, k čemu by to bylo dobré. Rozumný admin nepoužije masky, ale třídy adres, aby ta síť byla přehledná.
Muzes tohle vic vysvetlit tem co by se radi poucili??
-
Tak schvalne nedavno jsem dostal za ukol udelat pohovor pro potencialniho kolegu.
Dal jsem mu na papire tohle:
List<String> list = new ArrayList<>();
list.add("fine");
list.add("fine");
list.add("wrong");
list.add("fine");
list.add("fine");
for (String s: list) {
if(s.equals("wrong")){
list.remove(s);
}
}
System.out.println(list.size());
Otazka znela jestli se mu to libi. A jestli ne, tak co by udelal jinak.
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
-
List<String> list = new ArrayList<>();
bud to bol chytak, alebo si to zle spravil. nieco taketo nejde spravit, aspon nie v C#
-
List<String> list = new ArrayList<>();
bud to bol chytak, alebo si to zle spravil. nieco taketo nejde spravit, aspon nie v C#
Sorry, nezminil jsem ze je to Java...
-
IP Subnets, bez kalkulacky dost zle, ak s tym nerobis stale (co robia viac menej len chalani od CISCO a spol).
Tohle bych dal levou zadní. Otázkou je, k čemu by to bylo dobré. Rozumný admin nepoužije masky, ale třídy adres, aby ta síť byla přehledná.
Muzes tohle vic vysvetlit tem co by se radi poucili??
Třída A - IP začíná 0xxxxxx - maska 255.0.0.0
Třída B - IP začíná 10xxxxx - maska 255.255.0.0
Třída C - IP začíná 110xxxx - maska 255.255.255.0
Je k tomu dobré znát i privátní rozsahy adres. Pro většinu běžných sítí tohle prostě stačí.
-
Tak schvalne nedavno jsem dostal za ukol udelat pohovor pro potencialniho kolegu.
Dal jsem mu na papire tohle:
List<String> list = new ArrayList<>();
list.add("fine");
list.add("fine");
list.add("wrong");
list.add("fine");
list.add("fine");
for (String s: list) {
if(s.equals("wrong")){
list.remove(s);
}
}
System.out.println(list.size());
Otazka znela jestli se mu to libi. A jestli ne, tak co by udelal jinak.
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
IMHO dobrá otázka (C++ 6 let, Javu viděl naposledy před šesti lety), nad modifikací kolekce během procházení se často pozastavím
-
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
není. Kdo něco umí, chce u pohovoru výzvu, na které může ukázat své schopnosti, ne triviální opravu syntaktické chyby.
-
pravda, prechadzat kolekciu a zaroven nou manipulovat sa neda. to je ale vec, ktoru si clovek nemusi uvedomit. V podstate clovek v tom hlada nejaku optimalizaciu, vylepsie a ono pes je zakopany niekde inde :)
-
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
není. Kdo něco umí, chce u pohovoru výzvu, na které může ukázat své schopnosti, ne triviální opravu syntaktické chyby.
Pokud je to podle tebe jen chyba syntaxe, tak ji zkus opravit, ať se také poučím.
-
Co si myslite o testoch na pohovoroch? Hlavne, ak uz sa o miesto uchadzaju lud
Ono zavisi ako je ten test postaveny
Ked som ucil ma som 4 typy otazok
Vymenovacia – Očakáva sa zoznam názvov alebo termínov. Akákoľvek iná informácia uvedená v odpovedi spôsobí, že otázka je zodpovedaná nesprávne. Počet bodov za otázku je totožný s počtom položiek zoznamu.
za 1 bod, 2 body,. 3 body alebo 4 body
Vysvetľovacia – Podrobne vysvetlite danú tému. Návodom k nosným častiam odpovede sú podotázky, ktoré konkretizujú nosné témy odpovede. Syntax funkcií je nezaujímavá.
za 5 bodov a 7 bodov
Argumentačná – Odpoveď na otázku nie je jednoznačná. Závisí od preferencií konkrétneho študenta. Hodnotí sa množstvo, sila a relevantnosť argumentov predložených v zdôvodnení, vzhľadom na vybranú možnosť riešenia. Hodnotia sa aj podmienky, ktorými sa argumentuje, že riešenie je najvhodnejšie.
za 10 bodov
a
Algoritmická – Hodnotí sa návrh, ak by sa daný problém riešil. Hodnotí sa opis postupu, nie použité funkcie. Syntax konkrétnych funkcií je uvedená v odpovedi je hodnotená bodovou zrážkou
za 10bodov a 15 bodov
a na prijimaci test by soim daval len Algoritmicke a argumentacne otazky...
-
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
není. Kdo něco umí, chce u pohovoru výzvu, na které může ukázat své schopnosti, ne triviální opravu syntaktické chyby.
Pokud je to podle tebe jen chyba syntaxe, tak ji zkus opravit, ať se také poučím.
na prvním řádku chyba sytaxe je.
-
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
není. Kdo něco umí, chce u pohovoru výzvu, na které může ukázat své schopnosti, ne triviální opravu syntaktické chyby.
Pokud je to podle tebe jen chyba syntaxe, tak ji zkus opravit, ať se také poučím.
na prvním řádku chyba sytaxe je.
Me se to kompiluje ;)
-
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
není. Kdo něco umí, chce u pohovoru výzvu, na které může ukázat své schopnosti, ne triviální opravu syntaktické chyby.
Pokud je to podle tebe jen chyba syntaxe, tak ji zkus opravit, ať se také poučím.
na prvním řádku chyba sytaxe je.
Zajímavé, mně stačilo opravit ten cyklus a jede mi to jak má. V čem spočívá ta tvá chyba syntaxe?
-
Me se to kompiluje ;)
tak jsem se ztrapnil. V Javě už pár let nedělám. <> ve starších verzích nešlo.
-
Me se to kompiluje ;)
já nic kompilovat nebudu, hádám správně výsledek ConcurrentModificationException?
-
pravda, prechadzat kolekciu a zaroven nou manipulovat sa neda. to je ale vec, ktoru si clovek nemusi uvedomit. V podstate clovek v tom hlada nejaku optimalizaciu, vylepsie a ono pes je zakopany niekde inde :)
Na toho psa by te upozornil interpret. Tohle proste nespustis, a pokud tak s errory. V jave jsem delsi dobu nedelal, ale todle je osklivost i v jinych jazycich a vevetsine znich to proste skonci tim, že se daný kód ani nezpustí, nebo to sletí na exception.
Osobně nechápu testy kde na odpověď už roky odpovídá prepocesor, kompiler, interpret, unit testy a jine testy.
Trochu mi to přijde jak na škole když nás vyhazovalio za zapomenutý středník, protože se zkouška programovala na papír.
-
pravda, prechadzat kolekciu a zaroven nou manipulovat sa neda. to je ale vec, ktoru si clovek nemusi uvedomit. V podstate clovek v tom hlada nejaku optimalizaciu, vylepsie a ono pes je zakopany niekde inde :)
Na toho psa by te upozornil interpret. Tohle proste nespustis, a pokud tak s errory. V jave jsem delsi dobu nedelal, ale todle je osklivost i v jinych jazycich a vevetsine znich to proste skonci tim, že se daný kód ani nezpustí, nebo to sletí na exception.
Osobně nechápu testy kde na odpověď už roky odpovídá prepocesor, kompiler, interpret, unit testy a jine testy.
Trochu mi to přijde jak na škole když nás vyhazovalio za zapomenutý středník, protože se zkouška programovala na papír.
Odebírání při procházení není obecně problém, tak nechápu, proč by tě někdo měl upozorňovat.
-
presne k tomu narazam, ze na pohovore nie sme na skuske. a na taketo veci upozorni prekladac, popr. resharper ako doplnok.
delegate void Func();
int k;
List<Func> list = new List<Func>();
for (k = 0; k < 10; k++)
{
list.Add(() => Console.WriteLine(k));
}
foreach (var func in list)
{
func();
}
co bude vysledkom?
-
Me se to kompiluje ;)
já nic kompilovat nebudu, hádám správně výsledek ConcurrentModificationException?
Ano vysledek mas spravne. Ale otazka znela jestli se libi a co by udelal jinak.
Takze spravnych odpovedi je spousta. Ja sem chtel aby mi o tom neco povedel.
Mohl by chtit pouzit iterator, nebo vytvorit novy list. A nebo mohl rict, ze zadny list iterovat nebude, protoze pouzije streamy filtry a reduce....
Ja sem si proste chtel povidat.
-
Me se to kompiluje ;)
já nic kompilovat nebudu, hádám správně výsledek ConcurrentModificationException?
Ano vysledek mas spravne. Ale otazka znela jestli se libi a co by udelal jinak.
Takze spravnych odpovedi je spousta. Ja sem chtel aby mi o tom neco povedel.
Mohl by chtit pouzit iterator, nebo vytvorit novy list. A nebo mohl rict, ze zadny list iterovat nebude, protoze pouzije streamy filtry a reduce....
Ja sem si proste chtel povidat.
chápu a oceňuju váš přístup, když jsem jednou jedinkrát byl požádán o technický pohovor, tak jsem to koncipoval stejně
-
pravda, prechadzat kolekciu a zaroven nou manipulovat sa neda....
Na toho psa by te upozornil interpret.....
Osobně nechápu testy kde na odpověď už roky odpovídá prepocesor, kompiler, interpret, unit testy a jine testy....
A to je ten problem. Tohle se zkompiluje a chyba vyleti az v runtimu podle toho co tam prijde za list. Automat te na to neupozorni. A Unit testy musi nekdo napsat tak aby na to prisli. Coz neni uplne bezne.
-
Osobně nechápu testy kde na odpověď už roky odpovídá prepocesor, kompiler, interpret, unit testy a jine testy.
Trochu mi to přijde jak na škole když nás vyhazovalio za zapomenutý středník, protože se zkouška programovala na papír.
Mozna chteji cloveka co ten jazyk opravdu zna a ne opici co napise prvnich par pismen pak doplni do prednastavenych policek par cisel opet s naseptavacem a pak to necha automaticky opravit.
-
Osobně nechápu testy kde na odpověď už roky odpovídá prepocesor, kompiler, interpret, unit testy a jine testy.
Trochu mi to přijde jak na škole když nás vyhazovalio za zapomenutý středník, protože se zkouška programovala na papír.
Mozna chteji cloveka co ten jazyk opravdu zna a ne opici co napise prvnich par pismen pak doplni do prednastavenych policek par cisel opet s naseptavacem a pak to necha automaticky opravit.
To leda v pripade, ze by dotycny "zapomene" vsechny stredniky. Kdyz nekdo zapomene jeden nebo i par, snad je jasne, ze je to opomenuti, ne neznalost. Ale pro nekoho jsou formality asi dulezitejsi nez dobry algoritmus. Je pravda, ze Amikum sze posrala druzice, protoze pri derovani pasky se vykourila carka z cyklu ve Fortranu, ale to byl sery davnovek a derovani uz dnes moc nefrci.
Dotycny byl asi traumatizovan zakladnim skolstvim, kde nebylo dulezite znat vyznam udalosti na Bile Hore, ale datum vcetne casu, kdy k bitve doslo.
-
pravda, prechadzat kolekciu a zaroven nou manipulovat sa neda. to je ale vec, ktoru si clovek nemusi uvedomit. V podstate clovek v tom hlada nejaku optimalizaciu, vylepsie a ono pes je zakopany niekde inde :)
Zkušený Java programátor tohle musí vidět na první přečtení, protože se s touhle chybou už mockrát setkal. Takže podle mě je to velmi dobrý test pokud jde o to ověřit jak moc je uchazeč zkušený v Javě (samozřejmě v kombinaci s dalšími testy).
-
Zkušený Java programátor tohle musí vidět na první přečtení, protože se s touhle chybou už mockrát setkal. Takže podle mě je to velmi dobrý test pokud jde o to ověřit jak moc je uchazeč zkušený v Javě (samozřejmě v kombinaci s dalšími testy).
Ok takze pro muj pripad to nebylo idealni. Kandidat mel 10 roku C++ ale s javou zacinal (1 rok).
Nicmene stejne neprosel ani u me ani u kolegy co se ho ptal na C++.
Coz si mimo jine myslim docela odpovida na puvodni otazku v tomto vlakne... Zkouset je potreba i lidi co tvrdi, ze zkusenosti maji, protoze to obcas jenom tvrdi. Forma testu to uz je slozitejsi otazka ...
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet, zavrel do klece s obrovskym dildem. Dostali by podobne zadani, jako davaji oni sami a pokud by do 20 minut nevymysleli odpoved, to dildo by jim zajelo do zadeke a prirazelo aspon 5 minut. A takhle by se to opakavalo, dokud by neumreli na vnitrni krvaceni.
-
Zkušený Java programátor tohle musí vidět na první přečtení, protože se s touhle chybou už mockrát setkal. Takže podle mě je to velmi dobrý test pokud jde o to ověřit jak moc je uchazeč zkušený v Javě (samozřejmě v kombinaci s dalšími testy).
Ok takze pro muj pripad to nebylo idealni. Kandidat mel 10 roku C++ ale s javou zacinal (1 rok).
Nicmene stejne neprosel ani u me ani u kolegy co se ho ptal na C++.
Coz si mimo jine myslim docela odpovida na puvodni otazku v tomto vlakne... Zkouset je potreba i lidi co tvrdi, ze zkusenosti maji, protoze to obcas jenom tvrdi. Forma testu to uz je slozitejsi otazka ...
troufnu si říct, že zkušený C++ programátor to musí poznat taky
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet, zavrel do klece s obrovskym dildem. Dostali by podobne zadani, jako davaji oni sami a pokud by do 20 minut nevymysleli odpoved, to dildo by jim zajelo do zadeke a prirazelo aspon 5 minut. A takhle by se to opakavalo, dokud by neumreli na vnitrni krvaceni.
Algoritmizační jsou v pořádku, na rozdíl od znalostních.
-
pravda, prechadzat kolekciu a zaroven nou manipulovat sa neda. to je ale vec, ktoru si clovek nemusi uvedomit. V podstate clovek v tom hlada nejaku optimalizaciu, vylepsie a ono pes je zakopany niekde inde :)
Zkušený Java programátor tohle musí vidět na první přečtení, protože se s touhle chybou už mockrát setkal. Takže podle mě je to velmi dobrý test pokud jde o to ověřit jak moc je uchazeč zkušený v Javě (samozřejmě v kombinaci s dalšími testy).
Já v Javě nedělal bratru 10 let, ale tohle jsem viděl hned, to si pamatuju z kódu i po tolika letech.
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet, zavrel do klece s obrovskym dildem. Dostali by podobne zadani, jako davaji oni sami a pokud by do 20 minut nevymysleli odpoved, to dildo by jim zajelo do zadeke a prirazelo aspon 5 minut. A takhle by se to opakavalo, dokud by neumreli na vnitrni krvaceni.
Algoritmizační jsou v pořádku, na rozdíl od znalostních.
co sémantika základních konstrukcí daného jazyka/základní knihovny?
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet, zavrel do klece s obrovskym dildem. Dostali by podobne zadani, jako davaji oni sami a pokud by do 20 minut nevymysleli odpoved, to dildo by jim zajelo do zadeke a prirazelo aspon 5 minut. A takhle by se to opakavalo, dokud by neumreli na vnitrni krvaceni.
Algoritmizační jsou v pořádku, na rozdíl od znalostních.
Akorat algoritmizacni se v ceskych firmach meni vlivem podminek, za kterych jsou podavany, na znalostni. Na algoritmizace je potreba mit k dispozici dlouhe hodiny neruseneho premysleni. Cokoli jinyho je jen opet testovani znalosti (vis/nevis, vymyslet nemas cas).
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet,
A jak jste delal zkousky na vejsce?
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet, zavrel do klece s obrovskym dildem. Dostali by podobne zadani, jako davaji oni sami a pokud by do 20 minut nevymysleli odpoved, to dildo by jim zajelo do zadeke a prirazelo aspon 5 minut. A takhle by se to opakavalo, dokud by neumreli na vnitrni krvaceni.
Algoritmizační jsou v pořádku, na rozdíl od znalostních.
Akorat algoritmizacni se v ceskych firmach meni vlivem podminek, za kterych jsou podavany, na znalostni. Na algoritmizace je potreba mit k dispozici dlouhe hodiny neruseneho premysleni. Cokoli jinyho je jen opet testovani znalosti (vis/nevis, vymyslet nemas cas).
Houby, pamatuju si pohovor Googlu, tam má člověk na jednu algoritmizační úlohu tak 15-20 minut.
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet,
A jak jste delal zkousky na vejsce?
Na místě je spíše otázka na ZŠ ;)
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet, zavrel do klece s obrovskym dildem. Dostali by podobne zadani, jako davaji oni sami a pokud by do 20 minut nevymysleli odpoved, to dildo by jim zajelo do zadeke a prirazelo aspon 5 minut. A takhle by se to opakavalo, dokud by neumreli na vnitrni krvaceni.
Algoritmizační jsou v pořádku, na rozdíl od znalostních.
Akorat algoritmizacni se v ceskych firmach meni vlivem podminek, za kterych jsou podavany, na znalostni. Na algoritmizace je potreba mit k dispozici dlouhe hodiny neruseneho premysleni. Cokoli jinyho je jen opet testovani znalosti (vis/nevis, vymyslet nemas cas).
jestli ten test odfiltroval tebe, tak funguje správě.
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet,
A jak jste delal zkousky na vejsce?
Na místě je spíše otázka na ZŠ ;)
Nebo na pokracovani stavajici medikace.
-
Pamatuji si jak jsem dostal kdysi za úkol udělat jednoduchý test na pozici, kde jsme chtěli pokročilé znalosti SQL. Byl to klasický příklad databáze knihovny, kde je tabulka autorů, knih a výpůjček. Chtěl jsem vybrat 10 nejpůjčovanějších autorů. Po prvním kole pohovorů to vypadalo dost zoufale a tak jsem to rozdal u nás ve firmě. Dala to s bídou půlka lidí.
-
Ja bych ty mamrdy, co davaj tyhle algoritmizacni testy, ktery testou stejne jen znalosti, protoze za tak kratkou dobu a ve stresu clovek neni schopen nic vlastniho vymyslet, zavrel do klece s obrovskym dildem. Dostali by podobne zadani, jako davaji oni sami a pokud by do 20 minut nevymysleli odpoved, to dildo by jim zajelo do zadeke a prirazelo aspon 5 minut. A takhle by se to opakavalo, dokud by neumreli na vnitrni krvaceni.
Algoritmizační jsou v pořádku, na rozdíl od znalostních.
Akorat algoritmizacni se v ceskych firmach meni vlivem podminek, za kterych jsou podavany, na znalostni. Na algoritmizace je potreba mit k dispozici dlouhe hodiny neruseneho premysleni. Cokoli jinyho je jen opet testovani znalosti (vis/nevis, vymyslet nemas cas).
jestli ten test odfiltroval tebe, tak funguje správě.
:D
-
Co myslite ake otazky su take bezne, ktore by mal programator vediet, bezohladu na jazyk?
-
Co myslite ake otazky su take bezne, ktore by mal programator vediet, bezohladu na jazyk?
kolik je 1 << 12
-
Co myslite ake otazky su take bezne, ktore by mal programator vediet, bezohladu na jazyk?
Pomočujete se?
-
Co myslite ake otazky su take bezne, ktore by mal programator vediet, bezohladu na jazyk?
Pomočujete se?
Ani to by me neprekvapilo. Vznikla pry kdysi takova moda, dnes jiz snad neaktualni, vymyslena nejakym posahanym psychologem, kdy naborari zvali kandidaty treba do restaurace a tam nahlas na cely sal kladli takoveto otazky a sledovali, jak na trapnou situaci zareaguje uchazec. Takze se uchazece takto treba zeptali, jestli jeste onanuje. Nebo uchazecky, jestli je pana. A ona se treba mohla rozcilit, zcervenat a uteci nebo treba rici, ze ne, ze je lev. Co tedy mela byt vtipna odpoved na otazku pro uchazece ale nevim.
-
Co myslite ake otazky su take bezne, ktore by mal programator vediet, bezohladu na jazyk?
Pomočujete se?
Ani to by me neprekvapilo. Vznikla pry kdysi takova moda, dnes jiz snad neaktualni, vymyslena nejakym posahanym psychologem, kdy naborari zvali kandidaty treba do restaurace a tam nahlas na cely sal kladli takoveto otazky a sledovali, jak na trapnou situaci zareaguje uchazec. Takze se uchazece takto treba zeptali, jestli jeste onanuje. Nebo uchazecky, jestli je pana. A ona se treba mohla rozcilit, zcervenat a uteci nebo treba rici, ze ne, ze je lev. Co tedy mela byt vtipna odpoved na otazku pro uchazece ale nevim.
to si pletes s nejakou usa reality show ... php lopatu nikdo do restaurace zvat nebude. A v dobe telefonu ktere vsechno bned odeslku na facebook by si to ank nikdo nedovolil.
-
Co myslite ake otazky su take bezne, ktore by mal programator vediet, bezohladu na jazyk?
Pomočujete se?
Ani to by me neprekvapilo. Vznikla pry kdysi takova moda, dnes jiz snad neaktualni, vymyslena nejakym posahanym psychologem, kdy naborari zvali kandidaty treba do restaurace a tam nahlas na cely sal kladli takoveto otazky a sledovali, jak na trapnou situaci zareaguje uchazec. Takze se uchazece takto treba zeptali, jestli jeste onanuje. Nebo uchazecky, jestli je pana. A ona se treba mohla rozcilit, zcervenat a uteci nebo treba rici, ze ne, ze je lev. Co tedy mela byt vtipna odpoved na otazku pro uchazece ale nevim.
Na jakou pozici?
-
Na jakou pozici?
Netusim, jak stoji vyse, asi ne PHP lopatu. Cekal bych, ze se jednalo o pozice, kde clovek musi byt v kontaktu s lidmi a byt pripraven na vsechno, tedy napriklad firemni ci politikuv mluvci a podobne.
-
Pamatuji si jak jsem dostal kdysi za úkol udělat jednoduchý test na pozici, kde jsme chtěli pokročilé znalosti SQL. Byl to klasický příklad databáze knihovny, kde je tabulka autorů, knih a výpůjček. Chtěl jsem vybrat 10 nejpůjčovanějších autorů. Po prvním kole pohovorů to vypadalo dost zoufale a tak jsem to rozdal u nás ve firmě. Dala to s bídou půlka lidí.
Asi je dost podstatne ci treba pisat tu query z hlavy na papier alebo to mohol `ladit` v nejakej SQL konzole?
-
Dost často testují češtinu. Dnes se jim hlásí východňáci jako maďaři a další za Dunajem a je problém, že jim pak nikdo nerozumí. Zdá se to jako blbost, ale jen na rootu co jich je >:(
-
Myslite, ze za Dunajom ziju len Madari? Nie ste vy madar? Castokrat je nutna anglictina a nie cestina
-
Dost často testují češtinu. Dnes se jim hlásí východňáci jako maďaři a další za Dunajem a je problém, že jim pak nikdo nerozumí. Zdá se to jako blbost, ale jen na rootu co jich je >:(
Jo, holt jsou firmy, kde zamestnavaji same retardy, jako ty a od tech nelze ocekavat, ze by rozumeli jazyku, ktery je ponekud odlisny od prazske cestiny, tak jako treba slovenstina. Mas stesti, ze jsi takovou firmu nasel, jinak bys byl u kostete.
-
a co tie otazky? aby sme sa neodklanali od podstaty :)
mne napada:
- rozdiel interface a abstraktna trieda
- typy polymorfizmu
- moznost pouzit static a abstract spolocne
- rozdiel class a struct
-
Tak schvalne nedavno jsem dostal za ukol udelat pohovor pro potencialniho kolegu.
Dal jsem mu na papire tohle:
List<String> list = new ArrayList<>();
list.add("fine");
list.add("fine");
list.add("wrong");
list.add("fine");
list.add("fine");
for (String s: list) {
if(s.equals("wrong")){
list.remove(s);
}
}
System.out.println(list.size());
a) Ako prvé som si všimol porovnávanie stringov. Typická školácka chyba, hlavne tých, čo prechádzajú do Javy z iného jazyka. Takto sa to správne nemá robiť, môže dôjsť k NullPointerException. Správne je "wrong".equals(s)
b) Príklad by som upravil tak, že by som použil novinky z Javy 9 a Javy 10. Vytváranie zoznamov v Jave oproti iným jazykom (Python, Ruby) je totiž jedným z nedostatkov Javy, ktoré najviac udrú do očí. To sa mi nikdy nepáčilo.
c) Nazvať premennú list nie je bohviečo. Keď už, tak myList.
d) Mne nenapadlo, že dôjde k ConcurrentModificationException.
Takže upravený kód by vyzeral asi takto:
package com.zetcode;
import java.util.ArrayList;
import java.util.List;
public class JavaEx {
public static void main(String[] args) {
// var words = new ArrayList<String>();
var words = List.of("fine", "fine", "wrong", "fine", "fine");
//words.add("fine");
//words.add("fine");
//words.add("wrong");
//words.add("fine");
//words.add("fine");
for (String word: words) {
if (!"wrong".equals(word)) {
System.out.println(word);
}
//if(s.equals("wrong")){
// words.remove(s);
// }
}
System.out.println(words.size());
}
}
Z príkladu nie je jasné, čo sa tam má vlastne vykonať. Nie je tam žiadne konkrétne zadanie.
Otazka znela jestli se mu to libi. A jestli ne, tak co by udelal jinak.
Myslite, ze je to rozumna otazka co dat na pohovoru kolegovi s 10+ lety praxe v C++ a rokem javy?
Mne sa otázka nepozdáva. Nie je dosť presne povedané, čo sa očakáva. Či sa mi to páči je príliš všeobecné
zadanie. Element "wrong" sa totiž dá odstrániť jednoduchým volaním metódy remove().
Ak bolo myslené ako vyfiltrovať zoznam, tak tam bolo dať nejakú poznámku a použiť vhodnejšie dáta. Potom sa samozrejme použije funkcionálna Java:
package com.zetcode;
import java.util.List;
import java.util.stream.Collectors;
public class JavaEx2 {
public static void main(String[] args) {
var words = List.of("cloud", "fine", "wrong", "wrongful",
"temper", "wrongdoing", "variance");
var words2 = words.stream().filter(e -> !e.startsWith("wrong"))
.collect(Collectors.toList());
System.out.println(words2);
}
}
Príklad vyfiltruje všetky slová, ktoré sa nezačínajú na "wrong". Treba povedať jasnejšie, čo sa
očakáva.
-
@Jano7: Zajimave. Diky za odpoved. Muzu se zeptat kolik mate zkusenosti z javou?
-
Myslite, ze za Dunajom ziju len Madari? Nie ste vy madar? Castokrat je nutna anglictina a nie cestina
Tak přesně tebe se to týká protože nedokážeš přečíst jednu českou větu. Dík za potvrzení. Tak znovu a zvýrazním slova které znamenají, že tam nežijí "len Madari".
" ... se jim hlásí východňáci jako maďaři a další za Dunajem ... "
-
Dost často testují češtinu. Dnes se jim hlásí východňáci jako maďaři a další za Dunajem a je problém, že jim pak nikdo nerozumí. Zdá se to jako blbost, ale jen na rootu co jich je >:(
Jo, holt jsou firmy, kde zamestnavaji same retardy, jako ty a od tech nelze ocekavat, ze by rozumeli jazyku, ktery je ponekud odlisny od prazske cestiny, tak jako treba slovenstina. Mas stesti, ze jsi takovou firmu nasel, jinak bys byl u kostete.
"prazske cestiny" :o
-
@Jano7: Zajimave. Diky za odpoved. Muzu se zeptat kolik mate zkusenosti z javou?
Prvý krát som sa stretol s Javou pred cca 17 rokmi. Ale robil som rôzne veci. V súčasnosti
pôsobím ako lektor Javy/Pythonu, preto mám čas a motiváciu si naštudovať veci do hĺbky, resp. venovať sa novinkám.
-
Dost často testují češtinu. Dnes se jim hlásí východňáci jako maďaři a další za Dunajem a je problém, že jim pak nikdo nerozumí. Zdá se to jako blbost, ale jen na rootu co jich je >:(
Jo, holt jsou firmy, kde zamestnavaji same retardy, jako ty a od tech nelze ocekavat, ze by rozumeli jazyku, ktery je ponekud odlisny od prazske cestiny, tak jako treba slovenstina. Mas stesti, ze jsi takovou firmu nasel, jinak bys byl u kostete.
Vás doma neučili neposmívat se postiženým, byť třeba jen duševně, jako phpkral? Jak tu nedávno psal Ivan Nový, jejich je království nebeské, tak opatrně, aby Vás tam vůbec pustili ;)
-
Myslite, ze za Dunajom ziju len Madari? Nie ste vy madar? Castokrat je nutna anglictina a nie cestina
Tak přesně tebe se to týká protože nedokážeš přečíst jednu českou větu. Dík za potvrzení. Tak znovu a zvýrazním slova které znamenají, že tam nežijí "len Madari".
" ... se jim hlásí východňáci jako maďaři a další za Dunajem ... "
No ono se asi porad jedna o toho sameho soudruha, ktery sem pise pod ruznymi nicky a nazyva Madary vsechny lidi, kteri ziji na uzemi Slovenska, pricemz oznaceni Madar mini jako nadavku, takze nejake zvyraznovani slov je celkem mimo misu.
-
Vás doma neučili neposmívat se postiženým, byť třeba jen duševně, jako phpkral? Jak tu nedávno psal Ivan Nový, jejich je království nebeské, tak opatrně, aby Vás tam vůbec pustili ;)
Ja se jim obvykle neposmivam, nikdo nemuze za to, ze se narodi uplne blby. Ale zloba a nenavist neni vrozenym postizenim a postizenim je nelze omluvit. Nikdy bych se neposmival nekomu jen za to, ze je blby, ale kdyz zacne dstit siru, nevidim, proc bych si mel brat servitky. Treba se nad sebou zamysli, zacne brat vitaminy a rybi tuk s omega 3 a vzroste mu IQ o 1/2 %.
-
Myslite, ze za Dunajom ziju len Madari? Nie ste vy madar? Castokrat je nutna anglictina a nie cestina
Tak přesně tebe se to týká protože nedokážeš přečíst jednu českou větu. Dík za potvrzení. Tak znovu a zvýrazním slova které znamenají, že tam nežijí "len Madari".
" ... se jim hlásí východňáci jako maďaři a další za Dunajem ... "
No ono se asi porad jedna o toho sameho soudruha, ktery sem pise pod ruznymi nicky a nazyva Madary vsechny lidi, kteri ziji na uzemi Slovenska, pricemz oznaceni Madar mini jako nadavku, takze nejake zvyraznovani slov je celkem mimo misu.
Proč by byl maďar nadávka? To uvažuješ dost rasisticky.
-
@Jano7: Zajimave. Diky za odpoved. Muzu se zeptat kolik mate zkusenosti z javou?
Prvý krát som sa stretol s Javou pred cca 17 rokmi. Ale robil som rôzne veci. V súčasnosti
pôsobím ako lektor Javy/Pythonu, preto mám čas a motiváciu si naštudovať veci do hĺbky, resp. venovať sa novinkám.
Jeste jednou diky. Ale popravde, kdyby diskuze pri pohovoru na danou otazku mela podobne vystupy jako jste psal, mel bych problem kandidata doporucit na roli na svem projektu.
a) Ako prvé som si všimol porovnávanie stringov. Typická školácka chyba, hlavne tých, čo prechádzajú do Javy z iného jazyka. Takto sa to správne nemá robiť, môže dôjsť k NullPointerException. Správne je "wrong".equals(s)
Je skvele kdyz si toho nekdo vsimne. A casto se to nestava. Ale pokud by list opravdu obsahoval null tak vas vlastni kod taky vyhodi NPE. e.startsWith("wrong"). List vytvoreny pomoci List.of sice nemuze obsahovat null hodnoty, ale pracujeme opravdu vzdy s takovymi listy?
b) Príklad by som upravil tak, že by som použil novinky z Javy 9 a Javy 10. Vytváranie zoznamov v Jave oproti iným jazykom (Python, Ruby) je totiž jedným z nedostatkov Javy, ktoré najviac udrú do očí. To sa mi nikdy nepáčilo.
To je sice pekne, ale List.of(...) vraci nemenitelny list. Tudiz klicova vlastnost puvodniho prikladu a to je modifikace listu behem pruchodu vyhodi UnsupportedOperationException
d) Mne nenapadlo, že dôjde k ConcurrentModificationException.
Zkuseny programator ma z takoveho kodu mrazeni. Nemusi nutne znat konkretni exception, ale musi vedet, ze toto je nebezpecne.
-
Proč by byl maďar nadávka?
To se zeptej PHPhovada.
To uvažuješ dost rasisticky.
To asi tezko, ja Slovaky Madary nenazyvam. A rozdil mezi Madary a Slovaky neni v rase, ale v narodnosti, ovsem posle jineho vyroku toho soudruha pod jinym nickem jsou Slovaci asiati.
-
Proč by byl maďar nadávka? To uvažuješ dost rasisticky.
Však ono to má taky rasistický základ. Co vím, tak se z historických důvodů Slováci a Maďaři nemají příliš v lásce. Podrobnosti ti asi řekne nějaký Slovák, ale obecně mám dojem, že Maďaři měli vždycky tak trošku pocit, že by jim Slovensko mělo patřit. Tuším, že naposledy za II. světové. Takže se někteří členové těch národů navzájem mezi sebou považují za méněcenné a poněkud se nemají rádi, což znamená, že když pojmenuješ Slováka jako Maďara nebo obráceně, tak je naštveš.
Ostatně víš, jak vzniknul Maďar/Slovák? To jednou Slovák/Maďar opíchal opici a kopnul ji přes Dunaj...
-
To asi tezko, ja Slovaky Madary nenazyvam. A rozdil mezi Madary a Slovaky neni v rase, ale v narodnosti, ovsem posle jineho vyroku toho soudruha pod jinym nickem jsou Slovaci asiati.
Tak to ze je Slovensko predmesti Asie vi kazde dite co bylo na zakladce na zemepisu ... .
-
Ostatně víš, jak vzniknul Maďar/Slovák? To jednou Slovák/Maďar opíchal opici a kopnul ji přes Dunaj...
A ja proc maji slovaci tak dluhy ruce ... a oni to maji od maminky. Jo jo, neni nad lekci historie.
-
hoši některej maďar zato nemůže že je maďar 8) 8) 8)
-
Príklad by som upravil tak, že by som použil novinky z Javy 9 a Javy 10
Správně, nejlepší je použít funkcionální paradigma, protože je nejefektivnější.
-
Proč by byl maďar nadávka? To uvažuješ dost rasisticky.
obecně mám dojem, že Maďaři měli vždycky tak trošku pocit, že by jim Slovensko mělo patřit
Ono jim taky Slovensko (Horní Uhry) po tisíc let patřilo, než ho Češi chtěli pro sebe, načež tam vpadli s armádou těsně po válce a Maďary (vyčerpané válkou a zmítající se v bolševické revoluci Republiky rad) vytlačili. Naštěstí se to podařilo ututlat, takže Maďaři teď nemají rádi jen Slováky a Češi jsou v pohodě.
-
hoši některej maďar zato nemůže že je maďar
Citace z Haškova Švejka, +1 (i když to je asi jen náhoda)
-
Jeste jednou diky. Ale popravde, kdyby diskuze pri pohovoru na danou otazku mela podobne vystupy jako jste psal, mel bych problem kandidata doporucit na roli na svem projektu.
Otázka čo sa mi na tom príklade nepáči je strašne vágna. Osobne by som sa hanbil prísť za kóderom s 10 ročnými skúsenosťami s papierom a ceruzkou.
Mám pocit, že som Vám stúpil na otlak. Žeby ste ten NullPointerException dali tam nevedomky? Ja som nekritizoval Vaše znalosti, ale ten príklad. Ten je skutočne nezmyselný. Vôbec nie je jasné o čo tam ide a nedali ste tam tiež žiadne zadanie. A kritizujete, že upravený kód má zlý výstup...
Je skvele kdyz si toho nekdo vsimne. A casto se to nestava. Ale pokud by list opravdu obsahoval null tak vas vlastni kod taky vyhodi NPE. e.startsWith("wrong"). List vytvoreny pomoci List.of sice nemuze obsahovat null hodnoty, ale pracujeme opravdu vzdy s takovymi listy?
To nemôžete myslieť vážne? To silou mocou ma tu chcete kritizovať a ani neviete za čo. Tak čo, môže alebo nemôže? Čo to prekrúcate? Fakt som Vám musel stúpiť na otlak. Ako som písal, som lektor. Nemôžem si dovoliť zdrbávať ľudí. Nikdy svojich študentov nekritizujem, iba hodnotíme kód. Možno Vy si to môžte dovoliť.
To je sice pekne, ale List.of(...) vraci nemenitelny list. Tudiz klicova vlastnost puvodniho prikladu a to je modifikace listu behem pruchodu vyhodi UnsupportedOperationException
To čo má byť kľúčovou vlastnosťou toho príkladu viete len Vy. Nik iný. Príklad nedáva zmysel a chýba mu zadanie.
Úporne sa mi tu snažíte dokázať, že to viete lepšie. Nech. Navyše sa správate úskočne. Pekne sa poďakujete, aby ste potom mohli sa na mne vyvŕšiť. Sorry, toto ja nemusím.
Navyše sa diskusia tak zvrhla, že nemám záujem viac tu diskutovať.
-
Tahle otázka je zbtečná. Kolikrát člověk reálně musí přemýšlet nad variable capturing? To nemluvě o tom, že jeho implementace ce např. ve foreach cyklu liší mezi pre C# 5 a C# 5+. Dělat to na papíře je nesmysl. I když člověk neví nic o closures, nekorektní chování unit test.
presne k tomu narazam, ze na pohovore nie sme na skuske. a na taketo veci upozorni prekladac, popr. resharper ako doplnok.
delegate void Func();
int k;
List<Func> list = new List<Func>();
for (k = 0; k < 10; k++)
{
list.Add(() => Console.WriteLine(k));
}
foreach (var func in list)
{
func();
}
co bude vysledkom?
-
Všechny ty otázky jsou už beztak na https://www.bettercoder.io
-
@Jano7: Vase uvodni reakce mi neprisla jako kritika te otazky, ale snaha na ni odpovedet.
-
@Jano7: Vase uvodni reakce mi neprisla jako kritika te otazky, ale snaha na ni odpovedet.
A proč jsi mu tu odpověď tak ztrhal? My ve firmě třeba dáváme uchazečům taky test, byť tedy ne v Javě a jeho účelem není nachytat testovaného uchazeče na švestkách, ale doplnit si obraz o něm a pokud vykazuje snahu o problémech přemýšlet a odpovídá aspoň trochu k věci, nebereme jako tragédii, že si něčeho nevšimne nebo to neví. Stejně do firmy přichází v "juniornější" pozici než my kteří ho zkoušíme, protože jinak by dával testy on nám, že. Tak si řekneme, co v příkladu vidíme jako podstatné a když se dotyčný aspoň trochu chytá, má šanci. No a když odpovídá suverénně (i to se stává), je to předpoklad, že se brzy chytí a dostane se mezi lidi, kteří tým nejvíce táhnou dopředu.
Někteří zdejší diskutéři se pozastavují nad tím, že se podobné testy vůbec dávají. Asi jste neviděli, kdo všechno si dnes chce říkat programátor a dokonce se ohání praxí v oboru. Tam nejde o pár procent chyb, ale někteří lidé jsou naprosto mimo.
-
Zkušený Java programátor tohle musí vidět na první přečtení, protože se s touhle chybou už mockrát setkal. Takže podle mě je to velmi dobrý test pokud jde o to ověřit jak moc je uchazeč zkušený v Javě (samozřejmě v kombinaci s dalšími testy).
Ok takze pro muj pripad to nebylo idealni. Kandidat mel 10 roku C++ ale s javou zacinal (1 rok).
Nicmene stejne neprosel ani u me ani u kolegy co se ho ptal na C++.
Coz si mimo jine myslim docela odpovida na puvodni otazku v tomto vlakne... Zkouset je potreba i lidi co tvrdi, ze zkusenosti maji, protoze to obcas jenom tvrdi. Forma testu to uz je slozitejsi otazka ...
Ne, tohle neni Java-only problem, stejny problem je i v c++. Test je zcela spravne a navic je docela dobrej. Je pravda, ze si toho clovek nemusi vsimnout, ale zkuseny programator si toho proste vsimne hned, pokud neni extremne nervozni.
-
Někteří zdejší diskutéři se pozastavují nad tím, že se podobné testy vůbec dávají. Asi jste neviděli, kdo všechno si dnes chce říkat programátor a dokonce se ohání praxí v oboru. Tam nejde o pár procent chyb, ale někteří lidé jsou naprosto mimo.
To není jen v IT, tuhle se nám do Jane Street hlásil trader, co nedával ani malou násobilku. Ti přitom na pohovorech dostávají otázky mnohem složitější než vývojáři.
-
@Jano7: Vase uvodni reakce mi neprisla jako kritika te otazky, ale snaha na ni odpovedet.
A proč jsi mu tu odpověď tak ztrhal?
Opravdu mi prislo, ze je to jako odpoved dost mimo.
To co ja povazuju za teziste neresi.
To co resi mi prijde, ze neni vyresene lepe.
Naopak vidim tam znaky rizikoveho chovani, napriklad to pouziti nemenitelneho listu by mohlo pri zaneseni do existujiciho kodu ktery spoleha na vlastnosti menitelneho listu zpusobit velke a tezko odhalitelne problemy.
Kdyby slo o juniora (do 3 let praxe) Tak bude pohovor vypadat jinak a pravdepodobne by na tuto otazku vubec nedoslo.
Pokud ano, a reagoval by podle mych predstav, asi bych i juniorovi nabidl senorni pozici, pripadne aspon seniorni mzdu :-).
-
To čo má byť kľúčovou vlastnosťou toho príkladu viete len Vy. Nik iný. Príklad nedáva zmysel a chýba mu zadanie.
Opravdu nevite? Vy jste nepochopil co ten kod dela, nebo ma delat? Ale to vyvojar(a nejen dobry) musi pochopil velmi casto, z nedokumentovanych casti kodu, kterych je vzdycky dost(nemluve o tom, ze kod by se mel dokumentovat sam a taky se docela slusne dokumentuje.
Proste je to normalni objeveni a reseni bugu.
Pokud hledate juniora, tak mu date zrejme jinou otazku, pokud hledate nekoho zkusenejsiho, tak mu date toto, protoze kazdy zkuseny programator se z tohohle osype. Pokud to nevidite, tak zatim nejste zkuseny programator.
To ze List.of vraci immutable bych zas nevidel jako problem, to je opravdu vec, kterou si najdete behem programovani.
Za mne hezky priklad, pokud hledate zkuseneho cloveka. Nic narocneho, nad cim by musel dlouho premyslet. Zkuseny clovek na prvni pohled vidi podezrelou konstrukci.
-
To čo má byť kľúčovou vlastnosťou toho príkladu viete len Vy. Nik iný. Príklad nedáva zmysel a chýba mu zadanie.
Opravdu nevite? Vy jste nepochopil co ten kod dela, nebo ma delat? Ale to vyvojar(a nejen dobry) musi pochopil velmi casto, z nedokumentovanych casti kodu, kterych je vzdycky dost(nemluve o tom, ze kod by se mel dokumentovat sam a taky se docela slusne dokumentuje.
Proste je to normalni objeveni a reseni bugu.
Pokud hledate juniora, tak mu date zrejme jinou otazku, pokud hledate nekoho zkusenejsiho, tak mu date toto, protoze kazdy zkuseny programator se z tohohle osype. Pokud to nevidite, tak zatim nejste zkuseny programator.
To ze List.of vraci immutable bych zas nevidel jako problem, to je opravdu vec, kterou si najdete behem programovani.
Za mne hezky priklad, pokud hledate zkuseneho cloveka. Nic narocneho, nad cim by musel dlouho premyslet. Zkuseny clovek na prvni pohled vidi podezrelou konstrukci.
Tohle mi teda nepřišlo jako otázka na zkušeného, je to dost triviální i pro juniora a v podstatě samozřejmost. Na druhou stranu chyba odhalitelná při překladu nebo aspoň snadno za běhu se do produkce beztak nemá šanci dostat.
-
kandidat byva na pohovore v strese, takze moze sa stat, ze spravi chybu.
- pokud tam jde senior a klepe se tak sorry
- nejde o to reseni nybrz cestu k nemu
-
Tahle otázka je zbtečná. Kolikrát člověk reálně musí přemýšlet nad variable capturing? To nemluvě o tom, že jeho implementace ce např. ve foreach cyklu liší mezi pre C# 5 a C# 5+. Dělat to na papíře je nesmysl. I když člověk neví nic o closures, nekorektní chování unit test.
presne k tomu narazam, ze na pohovore nie sme na skuske. a na taketo veci upozorni prekladac, popr. resharper ako doplnok.
delegate void Func();
int k;
List<Func> list = new List<Func>();
for (k = 0; k < 10; k++)
{
list.Add(() => Console.WriteLine(k));
}
foreach (var func in list)
{
func();
}
co bude vysledkom?
otazka skor riesi referencne a hodnotove typy. Tzn. ze i bude 10 a 10x sa vypise tato hodnota.
-
Opravdu nevite? Vy jste nepochopil co ten kod dela, nebo ma delat? Ale to vyvojar(a nejen dobry) musi pochopil velmi casto, z nedokumentovanych casti kodu, kterych je vzdycky dost(nemluve o tom, ze kod by se mel dokumentovat sam a taky se docela slusne dokumentuje.
Proste je to normalni objeveni a reseni bugu.
Pozor, to že sa kód snaží meniť kolekciu za behu vo for cykle a vedie to k chybe upozornili predo mnou už viacerí.
Zrejme ste nečítali diskusiu celú. Reagoval som potom už len na zastaralú syntax (OK, Java 10 ešte len príde, ale Java 9 by sme už mohli použiť), nezmyselné nazvanie premennej ako list. Nebývam taký puntičkársky pri názvoch premenných, ale nazvať List premmenú list je už veľa aj na mňa. Potom aj na nezmyselný príklad ako taký, bez zadania, zmyslu. A ešte školácka chyba pri testovaní reťazca, čo zrejme poriadne podpichlo pána, pretože tam dal chybu do príkladu, o ktorej asi ani netušil. Tak ho to potom nabudilo.
OK, tak dovolím si aj ja prísť s príkladom. Poprosím pridať OK, Close
buttony na pravý, dolný spodok obrazovky. Stačí mi aj približné riešenie. Resp. slovný opis. Poprosím, nehovorte mi že nepoznáte Swing, lebo čítanie a pochopenie API by malo byť pre vás samozrejmosťou.
package com.zetcode;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BoxLayoutButtonsEx extends JFrame {
public BoxLayoutButtonsEx() {
initUI();
}
private void initUI() {
JPanel bottom = new JPanel();
JButton ok = new JButton("OK");
JButton close = new JButton("Close");
bottom.add(ok);
bottom.add(close);
add(bottom);
setTitle("Two Buttons");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
BoxLayoutButtonsEx ex = new BoxLayoutButtonsEx();
ex.setVisible(true);
}
}
-
Opravdu nevite? Vy jste nepochopil co ten kod dela, nebo ma delat? Ale to vyvojar(a nejen dobry) musi pochopil velmi casto, z nedokumentovanych casti kodu, kterych je vzdycky dost(nemluve o tom, ze kod by se mel dokumentovat sam a taky se docela slusne dokumentuje.
Proste je to normalni objeveni a reseni bugu.
Pozor, to že sa kód snaží meniť kolekciu za behu vo for cykle a vedie to k chybe upozornili predo mnou už viacerí.
Zrejme ste nečítali diskusiu celú. Reagoval som potom už len na zastaralú syntax (OK, Java 10 ešte len príde, ale Java 9 by sme už mohli použiť), nezmyselné nazvanie premennej ako list. Nebývam taký puntičkársky pri názvoch premenných, ale nazvať List premmenú list je už veľa aj na mňa. Potom aj na nezmyselný príklad ako taký, bez zadania, zmyslu. A ešte školácka chyba pri testovaní reťazca, čo zrejme poriadne podpichlo pána, pretože tam dal chybu do príkladu, o ktorej asi ani netušil. Tak ho to potom nabudilo.
OK, tak dovolím si aj ja prísť s príkladom. Poprosím pridať OK, Close
buttony na pravý, dolný spodok obrazovky. Stačí mi aj približné riešenie. Resp. slovný opis. Poprosím, nehovorte mi že nepoznáte Swing, lebo čítanie a pochopenie API by malo byť pre vás samozrejmosťou.
package com.zetcode;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BoxLayoutButtonsEx extends JFrame {
public BoxLayoutButtonsEx() {
initUI();
}
private void initUI() {
JPanel bottom = new JPanel();
JButton ok = new JButton("OK");
JButton close = new JButton("Close");
bottom.add(ok);
bottom.add(close);
add(bottom);
setTitle("Two Buttons");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
BoxLayoutButtonsEx ex = new BoxLayoutButtonsEx();
ex.setVisible(true);
}
}
tak tohle je podle mě skvělý příklad zcela špatného testu
-
Opravdu nevite? Vy jste nepochopil co ten kod dela, nebo ma delat? Ale to vyvojar(a nejen dobry) musi pochopil velmi casto, z nedokumentovanych casti kodu, kterych je vzdycky dost(nemluve o tom, ze kod by se mel dokumentovat sam a taky se docela slusne dokumentuje.
Proste je to normalni objeveni a reseni bugu.
Pozor, to že sa kód snaží meniť kolekciu za behu vo for cykle a vedie to k chybe upozornili predo mnou už viacerí.
Zrejme ste nečítali diskusiu celú. Reagoval som potom už len na zastaralú syntax (OK, Java 10 ešte len príde, ale Java 9 by sme už mohli použiť), nezmyselné nazvanie premennej ako list. Nebývam taký puntičkársky pri názvoch premenných, ale nazvať List premmenú list je už veľa aj na mňa. Potom aj na nezmyselný príklad ako taký, bez zadania, zmyslu. A ešte školácka chyba pri testovaní reťazca, čo zrejme poriadne podpichlo pána, pretože tam dal chybu do príkladu, o ktorej asi ani netušil. Tak ho to potom nabudilo.
OK, tak dovolím si aj ja prísť s príkladom. Poprosím pridať OK, Close
buttony na pravý, dolný spodok obrazovky. Stačí mi aj približné riešenie. Resp. slovný opis. Poprosím, nehovorte mi že nepoznáte Swing, lebo čítanie a pochopenie API by malo byť pre vás samozrejmosťou.
package com.zetcode;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BoxLayoutButtonsEx extends JFrame {
public BoxLayoutButtonsEx() {
initUI();
}
private void initUI() {
JPanel bottom = new JPanel();
JButton ok = new JButton("OK");
JButton close = new JButton("Close");
bottom.add(ok);
bottom.add(close);
add(bottom);
setTitle("Two Buttons");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
BoxLayoutButtonsEx ex = new BoxLayoutButtonsEx();
ex.setVisible(true);
}
}
1) Ten List.of(...) byl spatne - vytvari immutable kolekci, kdyz z ni chceme odebirat, tak to nepujde.
Nicmene ok, rikal jsem ze tohle je encyklopedicka znalost, neni treba vedet. Je ale blby to tady porad predhazovat, kdyz vam bylo receno, ze je to spatne.
2) Java 9 neni long term stable. Pokud mate cas vymenovat a testovat kazdy pulrok nove verze Javy, tak budiz, pro vetsinu serioznich business modelu to je ale absurdni nesmysl.
3) ano list je mozna nevhodne pojmenovani, mozna neni - je to dane stabni kulturou v danem projektu - poznamka je relevantni ale ne absolutne pravdiva.
4) ano, equals na stringu je potencionalni zdroj chyby, pokud nemate zajisteno, ze v kontejneru neni null. Nicmene ve svem reseni jste udelal stejnou chybu.
5) Lol:
a) Zamenovat schopnost rozponat algoritmicky problem za znalost nejake konkretni knihovny...
b) Ano cteni dokumentace je samozrejmosti, hypoteticky na pohovoru - dejte sem dokumentaci swingu a za pul hodiny se o tom muzem pobavit.
Vsechny veci co jste vyjmenoval krome ad1 jsou potencionalni problemy, kdy je vhodne, ze na ne clovek upozorni. Ale fatalni chybu jste neodhalil. To nema s api co delat. I kdybyste o jave nevedel lautr nic, tak je to misto, ktere by vas melo minimalne zarazit.
-
Opravdu mi prislo, ze je to jako odpoved dost mimo.
To co ja povazuju za teziste neresi.
To co resi mi prijde, ze neni vyresene lepe.
Naopak vidim tam znaky rizikoveho chovani, napriklad to pouziti nemenitelneho listu by mohlo pri zaneseni do existujiciho kodu ktery spoleha na vlastnosti menitelneho listu zpusobit velke a tezko odhalitelne problemy.
Kdyby slo o juniora (do 3 let praxe) Tak bude pohovor vypadat jinak a pravdepodobne by na tuto otazku vubec nedoslo.
Pokud ano, a reagoval by podle mych predstav, asi bych i juniorovi nabidl senorni pozici, pripadne aspon seniorni mzdu :-).
EQ tekve
-
OK, tak dovolím si aj ja prísť s príkladom. Poprosím pridať OK, Close
buttony na pravý, dolný spodok obrazovky. Stačí mi aj približné riešenie. Resp. slovný opis. Poprosím, nehovorte mi že nepoznáte Swing, lebo čítanie a pochopenie API by malo byť pre vás samozrejmosťou.
To je otázka ve stylu "Jak se jmenuje třetí položka zleva ve čtvrté záložce ribbonu v MS Word 2017".
-
1) Ten List.of(...) byl spatne - vytvari immutable kolekci, kdyz z ni chceme odebirat, tak to nepujde.
Nicmene ok, rikal jsem ze tohle je encyklopedicka znalost, neni treba vedet. Je ale blby to tady porad predhazovat, kdyz vam bylo receno, ze je to spatne.
Tých medzier máte zrejme viacej. Toto je ale v súčastnosti zaužívaný postup: immutability a funkcionálne programovanie. Takto sa to robí, ak potrebujem spracovať dáta. Ak by som predsa potreboval mutable kolekciu,
tak si ju vytvorím. Napríklad pomocou Guavy alebo Eclipse Collections. Určite nie tak zastaralo, ako ste to spravili Vy.
2) Java 9 neni long term stable. Pokud mate cas vymenovat a testovat kazdy pulrok nove verze Javy, tak budiz, pro vetsinu serioznich business modelu to je ale absurdni nesmysl.
Isteže, firmy si konzervatívne. Ja si však do školského testovacieho príkladu môžem zadať to, čo uznám za vhodné.
Pokiaľ je v zadaní napísané, že používať max Java 8, tak budem používať Javu 8. Fakt ja som široko-ďaleko nevidel programátora, ktorý by vytváral ArrayList takýmto zastaraným spôsobom.
3) ano list je mozna nevhodne pojmenovani, mozna neni - je to dane stabni kulturou v danem projektu - poznamka je relevantni ale ne absolutne pravdiva.
Žiadne možno nie je. Je to katastrofálne pomenovanie. Chcete mi nahovoriť, že niekde na svete majú štábnu kultúru, kde sa List premenná nazýva list, Map map, a Set set? Asi máloktoré pomenovanie môže byť horšie.
4) ano, equals na stringu je potencionalni zdroj chyby, pokud nemate zajisteno, ze v kontejneru neni null. Nicmene ve svem reseni jste udelal stejnou chybu.
Tak to si doštudujte. V immutable list nemôžete mať null. Ak by som predsa filtroval dáta, ktoré
môžu potencionálne obsahovať null, tak použijem filter(Objects::nonNull). Toto je Vaša školácka chyba.
To, že ste spravili takúto začiatočnícku chybu by som vôbec neriešil, aj keby že ste super senior. Jednoducho upozorním a programátor si nabudúce dá pozor. Čo mi však veľmi vadí, je Vaša arogancia.
5) Lol:
a) Zamenovat schopnost rozponat algoritmicky problem za znalost nejake konkretni knihovny...
b) Ano cteni dokumentace je samozrejmosti, hypoteticky na pohovoru - dejte sem dokumentaci swingu a za pul hodiny se o tom muzem pobavit.
To nemáte po ruke Core Java od Horstmanna, či Java: The Complete Reference od Schildta?
To sú dve najdôležitejšie Biblie core Javy. Z čoho ste sa učili? Takmer v každej knihe o core Jave máte Swing. Ak nemáme tie knihy po ruke, stačí jeden Google dotaz:
https://docs.oracle.com/javase/tutorial/uiswing/
Vyhlasujem, že ak niekto príde s riešením tohto naozaj triviálneho problému, opravím ho, upozorním na problémy a nebudem k nemu arogantný, ak pán Petr.
Vsechny veci co jste vyjmenoval krome ad1 jsou potencionalni problemy, kdy je vhodne, ze na ne clovek upozorni. Ale fatalni chybu jste neodhalil. To nema s api co delat. I kdybyste o jave nevedel lautr nic, tak je to misto, ktere by vas melo minimalne zarazit.
já nic kompilovat nebudu, hádám správně výsledek ConcurrentModificationException?
Na ten chyták reagoval ako prvý v. Reagovali potom viacerí. Nemal som čo odhaľovať. Pridal som potom ďalšie veci, zastaralú syntax, nevhodné pomenovania, nezmyselné zadanie, a školácky chybné testovanie reťazca.
Avšak, ja by som tieto chyby príliš nerozoberal. Chyby sa spravia a skúsenejší programátori poradia. Hlavný problém vidím v arogancii, pocitu nadradenosti nad druhými. Potrebe zhadzovať druhých. Toto je, čo ja z duše nenávidím.
-
@Jano7: Primel jste me abych po sobe jeste jednou precetl vsechny sve prispevky v tomto vlakne. Muzete mi prosim ocitovat z mych prispevku priklady te arogance a nadrazenosti? Ja na sobe rad pracuji a pokud pusobim na nekoho arogantne tak me to netesi. Pokud jsem se vas opravdu dotkl tak se omlouvam. Nebylo to umyslne.
Vetsinou s lidmi vychazim dobre, ale uz se mi v nekolika pripadech stalo, ze me nekdo oznacil za arogantniho. Vzpominam si na 2 pripady(s timto jsou 3) a oba se tykali pisemne komunikace. Mozna mam problem s ni?
Bylo to tim "Dekuji"? Nebo tim, ze bych takoveho kandidata nedoporucil?
-
1) Ten List.of(...) byl spatne - vytvari immutable kolekci, kdyz z ni chceme odebirat, tak to nepujde.
Nicmene ok, rikal jsem ze tohle je encyklopedicka znalost, neni treba vedet. Je ale blby to tady porad predhazovat, kdyz vam bylo receno, ze je to spatne.
Tých medzier máte zrejme viacej. Toto je ale v súčastnosti zaužívaný postup: immutability a funkcionálne programovanie. Takto sa to robí, ak potrebujem spracovať dáta. Ak by som predsa potreboval mutable kolekciu,
tak si ju vytvorím. Napríklad pomocou Guavy alebo Eclipse Collections. Určite nie tak zastaralo, ako ste to spravili Vy.
2) Java 9 neni long term stable. Pokud mate cas vymenovat a testovat kazdy pulrok nove verze Javy, tak budiz, pro vetsinu serioznich business modelu to je ale absurdni nesmysl.
Isteže, firmy si konzervatívne. Ja si však do školského testovacieho príkladu môžem zadať to, čo uznám za vhodné.
Pokiaľ je v zadaní napísané, že používať max Java 8, tak budem používať Javu 8. Fakt ja som široko-ďaleko nevidel programátora, ktorý by vytváral ArrayList takýmto zastaraným spôsobom.
3) ano list je mozna nevhodne pojmenovani, mozna neni - je to dane stabni kulturou v danem projektu - poznamka je relevantni ale ne absolutne pravdiva.
Žiadne možno nie je. Je to katastrofálne pomenovanie. Chcete mi nahovoriť, že niekde na svete majú štábnu kultúru, kde sa List premenná nazýva list, Map map, a Set set? Asi máloktoré pomenovanie môže byť horšie.
4) ano, equals na stringu je potencionalni zdroj chyby, pokud nemate zajisteno, ze v kontejneru neni null. Nicmene ve svem reseni jste udelal stejnou chybu.
Tak to si doštudujte. V immutable list nemôžete mať null. Ak by som predsa filtroval dáta, ktoré
môžu potencionálne obsahovať null, tak použijem filter(Objects::nonNull). Toto je Vaša školácka chyba.
To, že ste spravili takúto začiatočnícku chybu by som vôbec neriešil, aj keby že ste super senior. Jednoducho upozorním a programátor si nabudúce dá pozor. Čo mi však veľmi vadí, je Vaša arogancia.
5) Lol:
a) Zamenovat schopnost rozponat algoritmicky problem za znalost nejake konkretni knihovny...
b) Ano cteni dokumentace je samozrejmosti, hypoteticky na pohovoru - dejte sem dokumentaci swingu a za pul hodiny se o tom muzem pobavit.
To nemáte po ruke Core Java od Horstmanna, či Java: The Complete Reference od Schildta?
To sú dve najdôležitejšie Biblie core Javy. Z čoho ste sa učili? Takmer v každej knihe o core Jave máte Swing. Ak nemáme tie knihy po ruke, stačí jeden Google dotaz:
https://docs.oracle.com/javase/tutorial/uiswing/
Vyhlasujem, že ak niekto príde s riešením tohto naozaj triviálneho problému, opravím ho, upozorním na problémy a nebudem k nemu arogantný, ak pán Petr.
Vsechny veci co jste vyjmenoval krome ad1 jsou potencionalni problemy, kdy je vhodne, ze na ne clovek upozorni. Ale fatalni chybu jste neodhalil. To nema s api co delat. I kdybyste o jave nevedel lautr nic, tak je to misto, ktere by vas melo minimalne zarazit.
já nic kompilovat nebudu, hádám správně výsledek ConcurrentModificationException?
Na ten chyták reagoval ako prvý v. Reagovali potom viacerí. Nemal som čo odhaľovať. Pridal som potom ďalšie veci, zastaralú syntax, nevhodné pomenovania, nezmyselné zadanie, a školácky chybné testovanie reťazca.
Avšak, ja by som tieto chyby príliš nerozoberal. Chyby sa spravia a skúsenejší programátori poradia. Hlavný problém vidím v arogancii, pocitu nadradenosti nad druhými. Potrebe zhadzovať druhých. Toto je, čo ja z duše nenávidím.
Tohle nema smysl melete uplne nesmyslne argumenty o nejake imutabilite, kdyz zadani jasne obsahuje nekonstatnti kolekci.
Proste po vas zadavatel neco chtel a vy mu dodavate neco co nechtel, vase vypracovani je k nicemu a jeste se snazite to obhajit. Mel jste relevatntni upozorneni na kontrolu porovnani stringu. Dalo by se uznat poznamka k podivnym identifikatorum, zrejme jste nepochopil, ze je to zjednoduseni pro priklad.
Ne swing neznam, protoze mne nezivi Java, respektive jen z casti. Dany clovek mel taky zkusenosti s Javou pouze rok, ale 10let s c++.
Vase vylepseni nefungovalo vubec, ale misto abyste uznal chybu, i kdyz je nesmyslna a normalne bych ji klidne prehlednul, tak se snazite vytahovat pseudoargumenty. To ukazuje na prilisnou aroganci, ja bych vas u sebe ani nahodou nezamestnal.
Pozn. Neda mi to, ale musim si(omlouvam se) plivnout na Java GUI frameworky. Nechapu jaky pricetny clovek se muze dobrovolne rozhodnout psat desktopovou gui aplikace ve swingu. Snad i delphi 1 melo lepe promyslene svoje VCL, nez java swing. Timhle neplivu na Javu jako takovou. Podle mne je akorat skoro absurdne nevhodna na GUI aplikace. Opodstatneni to ma IMHO jen v pripade, ze spousta funkcionality je uz v Jave napsana a nema smysl to prepisovat, a/nebo se prilis trapit s komunikaci mezi Javou a necim jinym.
-
Tohle nema smysl melete uplne nesmyslne argumenty o nejake imutabilite, kdyz zadani jasne obsahuje nekonstatnti kolekci.
Proste po vas zadavatel neco chtel a vy mu dodavate neco co nechtel, vase vypracovani je k nicemu a jeste se snazite to obhajit. Mel jste relevatntni upozorneni na kontrolu porovnani stringu. Dalo by se uznat poznamka k podivnym identifikatorum, zrejme jste nepochopil, ze je to zjednoduseni pro priklad.
Ne swing neznam, protoze mne nezivi Java, respektive jen z casti. Dany clovek mel taky zkusenosti s Javou pouze rok, ale 10let s c++.
Vase vylepseni nefungovalo vubec, ale misto abyste uznal chybu, i kdyz je nesmyslna a normalne bych ji klidne prehlednul, tak se snazite vytahovat pseudoargumenty. To ukazuje na prilisnou aroganci, ja bych vas u sebe ani nahodou nezamestnal.
Po mne nechcel zadavateľ nič. Ak je pre Vás funkcionálna Java "pseudoargumenty", je to Váš problém.
Ak nie ste Javista, tak sa k tomu láskavo nevyjadrujte.
Pozn. Neda mi to, ale musim si(omlouvam se) plivnout na Java GUI frameworky. Nechapu jaky pricetny clovek se muze dobrovolne rozhodnout psat desktopovou gui aplikace ve swingu. Snad i delphi 1 melo lepe promyslene svoje VCL, nez java swing. Timhle neplivu na Javu jako takovou. Podle mne je akorat skoro absurdne nevhodna na GUI aplikace. Opodstatneni to ma IMHO jen v pripade, ze spousta funkcionality je uz v Jave napsana a nema smysl to prepisovat, a/nebo se prilis trapit s komunikaci mezi Javou a necim jinym.
Swing patrí medzi najlepšie prepracované GUI toolkity vôbec. Nemáte o tom ani šajnu. Tak sa k tomu láskavo nevyjadrujte.
-
Tohle nema smysl melete uplne nesmyslne argumenty o nejake imutabilite, kdyz zadani jasne obsahuje nekonstatnti kolekci.
Proste po vas zadavatel neco chtel a vy mu dodavate neco co nechtel, vase vypracovani je k nicemu a jeste se snazite to obhajit. Mel jste relevatntni upozorneni na kontrolu porovnani stringu. Dalo by se uznat poznamka k podivnym identifikatorum, zrejme jste nepochopil, ze je to zjednoduseni pro priklad.
Ne swing neznam, protoze mne nezivi Java, respektive jen z casti. Dany clovek mel taky zkusenosti s Javou pouze rok, ale 10let s c++.
Vase vylepseni nefungovalo vubec, ale misto abyste uznal chybu, i kdyz je nesmyslna a normalne bych ji klidne prehlednul, tak se snazite vytahovat pseudoargumenty. To ukazuje na prilisnou aroganci, ja bych vas u sebe ani nahodou nezamestnal.
Po mne nechcel zadavateľ nič. Ak je pre Vás funkcionálna Java "pseudoargumenty", je to Váš problém.
Ak nie ste Javista, tak sa k tomu láskavo nevyjadrujte.
Pozn. Neda mi to, ale musim si(omlouvam se) plivnout na Java GUI frameworky. Nechapu jaky pricetny clovek se muze dobrovolne rozhodnout psat desktopovou gui aplikace ve swingu. Snad i delphi 1 melo lepe promyslene svoje VCL, nez java swing. Timhle neplivu na Javu jako takovou. Podle mne je akorat skoro absurdne nevhodna na GUI aplikace. Opodstatneni to ma IMHO jen v pripade, ze spousta funkcionality je uz v Jave napsana a nema smysl to prepisovat, a/nebo se prilis trapit s komunikaci mezi Javou a necim jinym.
Swing patrí medzi najlepšie prepracované GUI toolkity vôbec. Nemáte o tom ani šajnu. Tak sa k tomu láskavo nevyjadrujte.
Aha, v poradku, doufam, ze brzo dospejete...
-
@Jano7: Primel jste me abych po sobe jeste jednou precetl vsechny sve prispevky v tomto vlakne. Muzete mi prosim ocitovat z mych prispevku priklady te arogance a nadrazenosti? Ja na sobe rad pracuji a pokud pusobim na nekoho arogantne tak me to netesi. Pokud jsem se vas opravdu dotkl tak se omlouvam. Nebylo to umyslne.
Vetsinou s lidmi vychazim dobre, ale uz se mi v nekolika pripadech stalo, ze me nekdo oznacil za arogantniho. Vzpominam si na 2 pripady(s timto jsou 3) a oba se tykali pisemne komunikace. Mozna mam problem s ni?
Bylo to tim "Dekuji"? Nebo tim, ze bych takoveho kandidata nedoporucil?
Řekl jste si o zpětnou vazbu, tak vám ji dám.
Mně konkrétně třeba tato vaše odpověď připadá lehce povýšenecká (mluvíte hlavně o sobě - já jsem nejlepší a rozumím tomu nejlíp). Mám z ní dojem, že jste lehce sebestředný člověk (ale to může být snadno zaměnitelné za zdravé sebevědomí). Jinak s psanou komunikací máme problém všichni, protože chybí zpětná vazba. Pokud komunikujeme s někým cizím, kdo nás nezná, musíme být opatrní dvojnásob.
Vezměme to vaše "děkuji". Můžete ho interpretovat jako vlezdozadekkovské patolízalství, přes nesebevědomé podbízení, sebevědomé poděkování až po naštvání nebo arogantní výzvu. A teď mi řeknete, co si mám vybrat. Celá odpověď by podle mne vyzněla lépe bez dotazu na závěr, nebo jej aspoň lépe vysvětlit (obalit).
-
OK, diky za zpetnou vazbu. Zatim nevim jak, ale zkusim na tom pracovat.
-
rozumiem, ale testy formou chytakov?
Co to je chyták?
-
rozumiem, ale testy formou chytakov?
Co to je chyták?
záleží... možná třeba:
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}
-
Nic ve zlém, píšeš, že jsi učitel. Ale už jsi někdy byl zaměstnán v praxi? Tedy pracoval na větších projektech, které mají historii, jsou založeny na nějakých principech (někdy), s týmem konkrétních lidí?
Je sice hezké, že znáš poslední módu v Javě, ale inženýrská praxe na tomto nestojí. Tam je naopak dobré pochytit ten stávající styl a pokračovat v něm, aby to celé bylo tak nějak konzistentní. Byť se ti nemusí zdát ideální - dokonce bych řekl, že se ti nikdy nebude zdát ideální, protože každý senior má už nějaké své návyky a bývá přesvědčen o tom, že jsou to ty nejlepší.
Použití módních hitů ale nepovažuji za optimální ani na nových projektech. A nemusí jít ani o módní hity. Některé jazykové konstrukce jsou prostě méně vhodné/nepřehledné/málo zažité/neefektivní. Z Javy se postupně stává stejný dort Pejska a Kočičky jako z C++ a je třeba se vždycky dohodnout na nějaké podmnožině, která se použije. Největší katastrofa totiž není, když nepoužiju ten nejnovější způsob vytváření seznamů, ale když v jednom projektu tu samou věc dělám pokaždé jinak, pojmenovávám jinak, formátuji jinak, komentuji jinak...
Na tobě je prostě vidět rozdíl mezi teoretikem a praktickým světem, proto Petrovy pochybnosti naprosto chápu, ač bych tě na jeho místě určitě přijal. Záleželo by pak na tobě, jestli bys během zkušební doby seznal, zda jsi schopen se přizpůsobit i ne zcela ideálnímu kódu a odlišnému stylu, nebo to pro tebe bude nepřekonatelný problém.
Pozn. 1: už jsem byl na projektu, kde byly některé objekty pojmenovány s pravopisnou chybou; každý o tom věděl, ale nebylo možné to prostě najednou celé opravit - kvůli verzování, testování a z toho plynoucí platnosti různých certifikátů od úřadů jako TÜV apod. Buď se s takovými věcmi naučíš žít, nebo ti nezbude než se praxi raději vyhnout.
Pozn. 2: k té změně seznamu při procházení - padlo tu, že se to netýká jen Javy. Ale na to musím reagovat, že to obecně žádná chyba není - může, jako třeba tady, ale taky nemusí. Dokonce v základní algoritmické podobě odstranit prvek zadaný jeho hodnotou ze seznamu ani jinak nejde než při jeho procházení.
Pozn. 3: Ani C++, ani Java nejsou funkcionální jazyky a vůbec nepovažuji za šťastné, že se do nich tyhle věci cpou, protože jsou momentálně v módě. Ono ani to jejich OOP není žádná sláva - zvláště u C++. Na jazycích jako Lisp nebo Forth se člověk naučí, že není vrcholem hackerského umění nacpat makra či kompilující slova všude, kde je to jen trochu možné, ale umět odolat pokušení a používat je jen tam, kde je to opravdu žádoucí a účelné. Úplně stejné pravidlo by se dalo aplikovat třeba na odvozování podtříd, přetěžování/nahrazování metod (u operátorů bych to ještě dvakrát podtrhnul), u implicitních hodnot argumentů, či na použití různých hypes přidaných do jazyků v nedávné době.
-
Ani C++, ani Java nejsou funkcionální jazyky a vůbec nepovažuji za šťastné, že se do nich tyhle věci cpou
Ano, šťastné to není, ale hlavně kvůli tomu, že většina vývojářů funkcionální paradigma pořádně nechápe, takže když už ho někde použijí (ať už z donucení, nebo protože je to "móda"), tak kód většinou zhorší. Tady je otázka, nakolik je třeba VŠ schopna FP naučit, někteří tvrdí, že je prostě intelektuálně už moc náročné a průměrný vývojář to prostě nedá.
-
rozumiem, ale testy formou chytakov?
Co to je chyták?
záleží... možná třeba:
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}
To není žádný chyták ale validní test toho zda uchazeč chápe jak přesně funguje floating point (což se učí na všech slušných školách které vyučují programování). S tímhle přístupem byste mohli prohlásit za chyták cokoliv co není triviální a pak ale neodlišíte průměrné programátory od výborných!
-
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}
To není žádný chyták ale validní test toho zda uchazeč chápe jak přesně funguje floating point (což se učí na všech slušných školách které vyučují programování). S tímhle přístupem byste mohli prohlásit za chyták cokoliv co není triviální a pak ale neodlišíte průměrné programátory od výborných!
Nachytal ses... Tady ti informace o tom, jak funguje floating point, moc nepomůže. Potřebuješ navíc informaci o tom, jak funguje implicitní přetypování v C, bez toho nezjistíš, co ten kód dělá a proč se (float) 3.1 nerovná 3.1.
-
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}
to je sice pravda, ale pointou je furt omezená přesnost floatu, dalo by se to přepsat aby to nezáviselo na přetypování
To není žádný chyták ale validní test toho zda uchazeč chápe jak přesně funguje floating point (což se učí na všech slušných školách které vyučují programování). S tímhle přístupem byste mohli prohlásit za chyták cokoliv co není triviální a pak ale neodlišíte průměrné programátory od výborných!
Nachytal ses... Tady ti informace o tom, jak funguje floating point, moc nepomůže. Potřebuješ navíc informaci o tom, jak funguje implicitní přetypování v C, bez toho nezjistíš, co ten kód dělá a proč se (float) 3.1 nerovná 3.1.
-
FP je podle me paradigma vyssi urovne, ktere umoznuje vice soustredeni programatora investovat do reseneho problemu, nez do reseni synchronizace mezi vlakny a jinych problemu zavislych na behovem prostredi.
Umoznuje to diky zarukam ktere dava, jako je nemenitelnest, funkce bez vedlejsich efektu, line vyhodnoceni, line sekvence.
To ze java nabizi FP syntax sugar a pritom neposkytuje ty potrebne zaruky je podle me to nestastne.
-
Tato ponuka si asi chce vystrelit z uchadzacov :D Tolko technologii a na urovni pokrocily.
https://www.profesia.sk/praca/mjch/O3336470 (https://www.profesia.sk/praca/mjch/O3336470)
-
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}
To není žádný chyták ale validní test toho zda uchazeč chápe jak přesně funguje floating point (což se učí na všech slušných školách které vyučují programování). S tímhle přístupem byste mohli prohlásit za chyták cokoliv co není triviální a pak ale neodlišíte průměrné programátory od výborných!
Nachytal ses... Tady ti informace o tom, jak funguje floating point, moc nepomůže. Potřebuješ navíc informaci o tom, jak funguje implicitní přetypování v C, bez toho nezjistíš, co ten kód dělá a proč se (float) 3.1 nerovná 3.1.
Presne k tomu jsem chtel dojit. Chytaky neexistuji. Existuji jen otazky a odpovedi. Vetsina lidi je naprosto mimo, a predem si umanou na co budou odpovidat prestoze otazka zni uplne jinak. Sahnou automaticky po tom prvnim co znaji a co jim dotaz pripomina a pak odpovi uplne na neco jineho, nez se tazatel pta. Samozrejme potom jsou za blbce a nastvou se, ze je nekdo podvedl. Jenze oni podvadi sami sebe, cely zivot, vsechno se uci takovym stylem. Proto na svou obranu potrebujou slovo chytak. Clovek ktery se vzdycky podiva na to "co tam je" a ne na to "co mu to pripomina" zadne takove slovo nepotrebuje. Oni ale ztratili schopnost divat se na to "co je". Jsou ochoceni. Fuj, takhle dopadnout nechci.
-
Presne k tomu jsem chtel dojit. Chytaky neexistuji. Existuji jen otazky a odpovedi. Vetsina lidi je naprosto mimo, a predem si umanou na co budou odpovidat prestoze otazka zni uplne jinak. Sahnou automaticky po tom prvnim co znaji a co jim dotaz pripomina a pak odpovi uplne na neco jineho, nez se tazatel pta. Samozrejme potom jsou za blbce a nastvou se, ze je nekdo podvedl. Jenze oni podvadi sami sebe, cely zivot, vsechno se uci takovym stylem. Proto na svou obranu potrebujou slovo chytak. Clovek ktery se vzdycky podiva na to "co tam je" a ne na to "co mu to pripomina" zadne takove slovo nepotrebuje. Oni ale ztratili schopnost divat se na to "co je". Jsou ochoceni. Fuj, takhle dopadnout nechci.
To jsou kecy v kleci, kazdy mozek hleda zname patterny, i ten Tvuj, i kdyz si to nechces priznat. Muzou byt o uroven vejs, ale pravdepodobne nejsou a jsi v tom uplne stejne jako zbytek lidstva....
-
Presne k tomu jsem chtel dojit. Chytaky neexistuji. Existuji jen otazky a odpovedi. Vetsina lidi je naprosto mimo, a predem si umanou na co budou odpovidat prestoze otazka zni uplne jinak. Sahnou automaticky po tom prvnim co znaji a co jim dotaz pripomina a pak odpovi uplne na neco jineho, nez se tazatel pta. Samozrejme potom jsou za blbce a nastvou se, ze je nekdo podvedl. Jenze oni podvadi sami sebe, cely zivot, vsechno se uci takovym stylem. Proto na svou obranu potrebujou slovo chytak. Clovek ktery se vzdycky podiva na to "co tam je" a ne na to "co mu to pripomina" zadne takove slovo nepotrebuje. Oni ale ztratili schopnost divat se na to "co je". Jsou ochoceni. Fuj, takhle dopadnout nechci.
To jsou kecy v kleci, kazdy mozek hleda zname patterny, i ten Tvuj, i kdyz si to nechces priznat. Muzou byt o uroven vejs, ale pravdepodobne nejsou a jsi v tom uplne stejne jako zbytek lidstva....
Ja jsem si to kdysi priznal a pracoval na tom abych si vypestoval vuli. Takove problemy uz nemam. Proc si myslis ze kazdy mozek musi pracovat jako ten tvuj?
-
Presne k tomu jsem chtel dojit. Chytaky neexistuji. Existuji jen otazky a odpovedi. Vetsina lidi je naprosto mimo, a predem si umanou na co budou odpovidat prestoze otazka zni uplne jinak. Sahnou automaticky po tom prvnim co znaji a co jim dotaz pripomina a pak odpovi uplne na neco jineho, nez se tazatel pta. Samozrejme potom jsou za blbce a nastvou se, ze je nekdo podvedl. Jenze oni podvadi sami sebe, cely zivot, vsechno se uci takovym stylem. Proto na svou obranu potrebujou slovo chytak. Clovek ktery se vzdycky podiva na to "co tam je" a ne na to "co mu to pripomina" zadne takove slovo nepotrebuje. Oni ale ztratili schopnost divat se na to "co je". Jsou ochoceni. Fuj, takhle dopadnout nechci.
To jsou kecy v kleci, kazdy mozek hleda zname patterny, i ten Tvuj, i kdyz si to nechces priznat. Muzou byt o uroven vejs, ale pravdepodobne nejsou a jsi v tom uplne stejne jako zbytek lidstva....
Ja jsem si to kdysi priznal a pracoval na tom abych si vypestoval vuli. Takove problemy uz nemam. Proc si myslis ze kazdy mozek musi pracovat jako ten tvuj?
Vzory jsou vzory a kazdy mozek se na ne chyta. Ovsem vuli muzu ovlivnit jestli se chytnu na ten prvni nejznamejsi a hned konam, nebo jestli pockam a prozkoumam i ty mene zname, nez rozhodnu co bude dal.
-
Vybírat lidi, co se nenachytají na chytáky, je nesmysl, ti většinou nebývají komerčně úspěšní, protože myslí jinak než většina. A to pro úspěch produktu nebývá dobré.
-
Je sice hezké, že znáš poslední módu v Javě, ale inženýrská praxe na tomto nestojí.
Nechcel som sa k tomu vracať, ale ešte raz to skúsim zhrnúť. Pán stiahol nejaký chyták z netu (spolu s NPE chybou) a dal ju ako test uchádzačovi. Dá sa nájsť napr. https://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/ (https://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/) (Dokonca aj to názvoslovie je skopírované :)) A potom to dal chudákovi uchádzačovi ako príklad na papieri. Tiež zmenil zadanie z Remove an Element from a List Inside a Loop na hmlisté jestli se mu to libi. A jestli ne, tak co by udelal jinak.
ArrayList<String> words = new ArrayList(Arrays.asList("pen", "pencil",
"sky", "blue", "sky", "dog"));
Iterator<String> iter = words.iterator();
while (iter.hasNext()) {
String s = iter.next();
if ("sky".equals(s)) {
iter.remove();
}
}
System.out.println(words);
Ako riešenie sa uvádza použitie iterátora, pretože s for cyklom dochádza ku ConcurrentModificationException.
Lenže oproti použitiu funkcionálnej Javy je toto riešenie inferiórne.
List<String> words = List.of("hello", "sky", "there", "den", "sky");
List<String> words2 = words.stream().filter(e -> !e.equals("sky")).collect(Collectors.toList());
System.out.println(words2);
Toto riešenie je omnoho lepšie. Je to okrem iného rozdiel v internej a externej iterácii, kde tá interná má veľa výhod oproti externej. Napríklad v tom, že ja sa nemusím starať o takúto chybu (ConcurrentModificationException), lebo k nej nedôjde. Je to non-issue.
Viď rozdiely medzi internou a externou iteráciou: https://www.linkedin.com/pulse/java-8-external-iterator-vs-internal-saral-saxena (https://www.linkedin.com/pulse/java-8-external-iterator-vs-internal-saral-saxena)
Simplified implementation/less defects as code written by programmer is very less, chances of bugs creeping into the iteration logic are not there.
Nie som prvý, ktorý na takýto typ problému navrhujú funkcionálny prístup. Keď toto riešili Python programátori
https://stackoverflow.com/questions/1207406/how-to-remove-items-from-a-list-while-iterating (https://stackoverflow.com/questions/1207406/how-to-remove-items-from-a-list-while-iterating)
a JavaScript programátori, tak funkcionálne riešenie získalo kladné ohlasy.
https://stackoverflow.com/questions/9882284/looping-through-array-and-removing-items-without-breaking-for-loop
Ja som si tu vyslúžil naopak zhadzovanie.
Je zaujímavé tiež, že v Jave spätná externá iterácia s mazaním funguje.
List<String> words = new ArrayList<>(Arrays.asList("pen", "pencil",
"sky", "blue", "sky", "dog"));
for (int i=words.size() - 1; i>=0; i--) {
if ("sky".equals(words.get(i))) {
words.remove(i);
}
}
System.out.println(words);
Pozn. 2: k té změně seznamu při procházení - padlo tu, že se to netýká jen Javy. Ale na to musím reagovat, že to obecně žádná chyba není - může, jako třeba tady, ale taky nemusí. Dokonce v základní algoritmické podobě odstranit prvek zadaný jeho hodnotou ze seznamu ani jinak nejde než při jeho procházení.
Veľmi dobrá poznámka. Takáto externá iterácia funguje napr. v Python 3 a Perl 6.
#!/usr/bin/perl6
my @letters = <pen pencil dog sky blue sky>;
loop (my $i = 0; $i < @letters.elems; $i++) {
if (@letters[$i] eq "sky") {
@letters.splice($i, 1);
}
}
say @letters;
say @letters.elems;
Toto je príklad v Perl 6, kde takýto kód funguje.
#!/usr/bin/python3
words = ["pen", "pencil", "dog", "sky", "blue", "sky"]
print(len(words))
for word in words:
if word == "sky":
words.remove(word)
print(words)
print(len(words))
# funkcionalne
words = ("pen", "pencil", "dog", "sky", "blue", "sky")
words2 = [e for e in words if not e == "sky"]
print(words2)
print(len(words2))
Toto je kód v Python 3. Takisto funguje externá iterácia s mazaním. Funkcionálny prístup je však lepší.
Používanie chytákov stiahnutých niekde z netu, bez možnosti použitia počítača, len tak na papieri je neprofesionálne a voči uchádzačom neférové. To každý vie byť frajer a stiahnuť si nejaký príklad, ktorý vás nachytá na obskúrnej časti jazyka.
-
FP je podle me paradigma vyssi urovne, ktere umoznuje vice soustredeni programatora investovat do reseneho problemu, nez do reseni synchronizace mezi vlakny a jinych problemu zavislych na behovem prostredi.
Umoznuje to diky zarukam ktere dava, jako je nemenitelnest, funkce bez vedlejsich efektu, line vyhodnoceni, line sekvence.
To je pravda, ovšem ta úroveň je pro mnohé až moc vysoká, takže si toho moc neužijou.
-
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}
To není žádný chyták ale validní test toho zda uchazeč chápe jak přesně funguje floating point (což se učí na všech slušných školách které vyučují programování). S tímhle přístupem byste mohli prohlásit za chyták cokoliv co není triviální a pak ale neodlišíte průměrné programátory od výborných!
Nachytal ses... Tady ti informace o tom, jak funguje floating point, moc nepomůže. Potřebuješ navíc informaci o tom, jak funguje implicitní přetypování v C, bez toho nezjistíš, co ten kód dělá a proč se (float) 3.1 nerovná 3.1.
Presne k tomu jsem chtel dojit. Chytaky neexistuji. Existuji jen otazky a odpovedi. Vetsina lidi je naprosto mimo, a predem si umanou na co budou odpovidat prestoze otazka zni uplne jinak. Sahnou automaticky po tom prvnim co znaji a co jim dotaz pripomina a pak odpovi uplne na neco jineho, nez se tazatel pta. Samozrejme potom jsou za blbce a nastvou se, ze je nekdo podvedl. Jenze oni podvadi sami sebe, cely zivot, vsechno se uci takovym stylem. Proto na svou obranu potrebujou slovo chytak. Clovek ktery se vzdycky podiva na to "co tam je" a ne na to "co mu to pripomina" zadne takove slovo nepotrebuje. Oni ale ztratili schopnost divat se na to "co je". Jsou ochoceni. Fuj, takhle dopadnout nechci.
Chyták může být otázka nebo věta zámerně formulovaná tak, aby zmátla. Např. v AJ "The horse raced past the barn fell" člověk předpokládá, že "raced" je sloveso, než dojde až na konec věty. Něco takového lze nazvat "chytákem". Samozřejmě když je otázka nezáludná, tak ji jako chyták označí jen tupec.
-
Nie som prvý, ktorý na takýto typ problému navrhujú funkcionálny prístup. Keď toto riešili Python programátori
https://stackoverflow.com/questions/1207406/how-to-remove-items-from-a-list-while-iterating (https://stackoverflow.com/questions/1207406/how-to-remove-items-from-a-list-while-iterating)
a JavaScript programátori, tak funkcionálne riešenie získalo kladné ohlasy.
https://stackoverflow.com/questions/9882284/looping-through-array-and-removing-items-without-breaking-for-loop
Ja som si tu vyslúžil naopak zhadzovanie.
Samozřejmě, že funkcionální přístup je lepší, ale nezapomínejte, že na tomto fóru jsou většinou intelektuálně omezení javatatrmani bez SŠ (o VŠ nemluvě), takže vysvětlovat zde nějaké sofistikované metody a postupy je házení perel sviním.
-
Používanie chytákov stiahnutých niekde z netu, bez možnosti použitia počítača, len tak na papieri je neprofesionálne a voči uchádzačom neférové. To každý vie byť frajer a stiahnuť si nejaký príklad, ktorý vás nachytá na obskúrnej časti jazyka.
co je na tom příkladu s modifikací kolekce obskurního?! je obskurní tohle (0.1+0.2)==0.3 ? (může to být C,java,python, možná i další jazyky, děkujeme StackOverflow)
-
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}
To není žádný chyták ale validní test toho zda uchazeč chápe jak přesně funguje floating point (což se učí na všech slušných školách které vyučují programování). S tímhle přístupem byste mohli prohlásit za chyták cokoliv co není triviální a pak ale neodlišíte průměrné programátory od výborných!
Nachytal ses... Tady ti informace o tom, jak funguje floating point, moc nepomůže. Potřebuješ navíc informaci o tom, jak funguje implicitní přetypování v C, bez toho nezjistíš, co ten kód dělá a proč se (float) 3.1 nerovná 3.1.
Presne k tomu jsem chtel dojit. Chytaky neexistuji. Existuji jen otazky a odpovedi. Vetsina lidi je naprosto mimo, a predem si umanou na co budou odpovidat prestoze otazka zni uplne jinak. Sahnou automaticky po tom prvnim co znaji a co jim dotaz pripomina a pak odpovi uplne na neco jineho, nez se tazatel pta. Samozrejme potom jsou za blbce a nastvou se, ze je nekdo podvedl. Jenze oni podvadi sami sebe, cely zivot, vsechno se uci takovym stylem. Proto na svou obranu potrebujou slovo chytak. Clovek ktery se vzdycky podiva na to "co tam je" a ne na to "co mu to pripomina" zadne takove slovo nepotrebuje. Oni ale ztratili schopnost divat se na to "co je". Jsou ochoceni. Fuj, takhle dopadnout nechci.
Chyták může být otázka nebo věta zámerně formulovaná tak, aby zmátla. Např. v AJ "The horse raced past the barn fell" člověk předpokládá, že "raced" je sloveso, než dojde až na konec věty. Něco takového lze nazvat "chytákem". Samozřejmě když je otázka nezáludná, tak ji jako chyták označí jen tupec.
No a přesně tak to vzniká... Někdo si usmyslí, že s větou může pracovat dříve než ji dočte celou.
-
Pán stiahol nejaký chyták z netu (spolu s NPE chybou) a dal ju ako test uchádzačovi.
Je to jinak. A mozna vas to pobavi. Oboje, jak "chytak" tak podobne NPE jsem kdysi sam napsal a commitnul a nechal nasadit az do produkce. Od te doby si tohle pamatuji a jen tak na to nezpomenu.
Mam takovych pamatek spoustu a kdyz dostanu za ukol delat pohovor tak nektere proste vytahnu a zeptam se na ne.
Jeste nekde drive v diskusi jste zminoval, ze jsem dal uchazecovi tohle resit s tuzkou na papire. To je taky jinak.
Ja mu nedal ani tu tuzku! Jen ten papir. Odpovidal ustne.
-
Chyták může být otázka nebo věta zámerně formulovaná tak, aby zmátla. Např. v AJ "The horse raced past the barn fell" člověk předpokládá, že "raced" je sloveso, než dojde až na konec věty. Něco takového lze nazvat "chytákem". Samozřejmě když je otázka nezáludná, tak ji jako chyták označí jen tupec.
No a přesně tak to vzniká... Někdo si usmyslí, že s větou může pracovat dříve než ji dočte celou.
A kdy můžu začít interpretovat text? Až dočtu větu? Nebo odstavec? Nebo třeba kapitolu? I tam může přijít nějaká změna předchozích významů.
Vzniká to tak, že na nějakých předpokladech musíme stavět vždycky. Bez nich bychom nebyli schopni udělat prakticky nic. Někdo těch předpokladů dělá o malinko víc, někdo o malinko míň. Ale dřív nebo později se nachytá každý.
-
Chyták může být otázka nebo věta zámerně formulovaná tak, aby zmátla. Např. v AJ "The horse raced past the barn fell" člověk předpokládá, že "raced" je sloveso, než dojde až na konec věty. Něco takového lze nazvat "chytákem". Samozřejmě když je otázka nezáludná, tak ji jako chyták označí jen tupec.
No a přesně tak to vzniká... Někdo si usmyslí, že s větou může pracovat dříve než ji dočte celou.
A kdy můžu začít interpretovat text? Až dočtu větu? Nebo odstavec? Nebo třeba kapitolu? I tam může přijít nějaká změna předchozích významů.
Vzniká to tak, že na nějakých předpokladech musíme stavět vždycky. Bez nich bychom nebyli schopni udělat prakticky nic. Někdo těch předpokladů dělá o malinko víc, někdo o malinko míň. Ale dřív nebo později se nachytá každý.
Pointou je, ze kdyz se to stane, reknu jednoduse "tohle jsem prehlidl", "tohle jsem si neuvedomil", "tady jsem se unahlil" a nebo neco podobneho (cili prijimam zodpovednost za vysledek). Rozhodne nereknu "to byl chytak" (cili za nic nemuzu). A dalsi pointa je, ze ta prvni skupina lidi, treba ze nikdy nedosahne idealu, se k nemu neustale posouva a bojuje s tim. Ta druha jiz davno rezignovala a povazuje to za normalni. A pak s takovym hnupem delej.
-
Rozhodne nereknu "to byl chytak" (cili za nic nemuzu).
nic takového slovo "chyták" neznamená
-
Rozhodne nereknu "to byl chytak" (cili za nic nemuzu).
nic takového slovo "chyták" neznamená
To slovo ne. Ale ten čin ano.
-
Rozhodne nereknu "to byl chytak" (cili za nic nemuzu).
nic takového slovo "chyták" neznamená
Tak nějak. Já třeba, když potkám chyták, říkám něco jako "nechal jsem se nachytat". Přijímám nebo nepřijímám zodpovědnost?
Se zodpovědností je to takové neostré. Na jednu stranu ano, když něco přehlídnu, tak jsem měl číst pozorněji. Na druhou stranu se tomu přehlédnutí dá hodně pomoct (cíleně i náhodou).
Co píše dword by se rozhodně dalo intepretovat jako přesouvání zodpovědnosti od autora "chytáku" na druhou stranu. Ony totiž existují otázky a odpovědi takové, že je drtivá většina lidí na prvních pár pokusů nedá.
-
Rozhodne nereknu "to byl chytak" (cili za nic nemuzu).
nic takového slovo "chyták" neznamená
Tak nějak. Já třeba, když potkám chyták, říkám něco jako "nechal jsem se nachytat". Přijímám nebo nepřijímám zodpovědnost?
Se zodpovědností je to takové neostré. Na jednu stranu ano, když něco přehlídnu, tak jsem měl číst pozorněji. Na druhou stranu se tomu přehlédnutí dá hodně pomoct (cíleně i náhodou).
Co píše dword by se rozhodně dalo intepretovat jako přesouvání zodpovědnosti od autora "chytáku" na druhou stranu. Ony totiž existují otázky a odpovědi takové, že je drtivá většina lidí na prvních pár pokusů nedá.
Odpovědnost přijímáš, naprosto jednoznačně. Hned vzápětí to potvrzuješ slovy: "když něco přehlídnu, tak jsem měl číst pozorněji".
Nemyslel jsem přesouvání zodpovědnosti od autora na druhou stranu. Já tam autora nikde nepletl. Myslel jsem postoj testovaného vůči výsledku testu, který pro něj dopadne špatně. Zda si řekne: "nechal jsem se nachytat, má chyba", nebo zda si řekne: "ten hajzl mi tam dal samé špeky, nenechal mě projít, svině".
Velice zajímavá část tvé poslední věty je: "na prvních pár pokusů". Je na tom kus pravdy. Ti lidi totiž zdokonalují své podvádění, až to nakonec dají. A čím víc takových, tím lepší chytáky je třeba vymýšlet.
-
Co si myslite o testoch na pohovoroch? Hlavne, ak uz sa o miesto uchadzaju ludia s nejakymi skusenostami. Pochopim to u absolventov, alebo ludi s malou praxou, ale u ludi so 4 a viac rocnou praxou? Neviem co je zmyslom tych testov, nakolko kandidat byva na pohovore v strese, takze moze sa stat, ze spravi chybu. Nehovoriac o tom, ze v testoch byvaju chytaky a take veci, s ktorymi sa clovek nikde nestretol a asi ani nestretne. To mi pride, ako ked sa na VS programovalo na papier :)
Taketo testy som tiez zazil, ale nakoniec sa ukazalo, ze je sa jednalo o stredne platene vyvojarske pozicie tak max do cca 2.200 EUR. Pri lepsie platenych poziciach mi podobne testy nikdy nedali.
Zrejme takto testuju juniorov (alebo nieco medzi juniorom a seniorom), ktori este nemaju skusenosti v danej domene (napr. bankovnictvo, poistovnictvo, plynuly cudzi jazyk, ....)
Myslim si, ze tieto testy nemaju skoro ziadny vyznam, pretoze az skusobna doba ukaze, ci sa dany adept hodi alebo ci aj on chce vobec zostat. Ja som napr. v jednej firme absolvoval totalny cirkus tzv. background check asi 2 mesiace pred nastupom a nakoniec ked som nastupil, zistil som, ze v tej firme je vsetko este horsie ako v predoslej a po par dnoch som radsej odisiel.
-
Rozhodne nereknu "to byl chytak" (cili za nic nemuzu).
nic takového slovo "chyták" neznamená
Tak nějak. Já třeba, když potkám chyták, říkám něco jako "nechal jsem se nachytat". Přijímám nebo nepřijímám zodpovědnost?
Se zodpovědností je to takové neostré. Na jednu stranu ano, když něco přehlídnu, tak jsem měl číst pozorněji. Na druhou stranu se tomu přehlédnutí dá hodně pomoct (cíleně i náhodou).
Co píše dword by se rozhodně dalo intepretovat jako přesouvání zodpovědnosti od autora "chytáku" na druhou stranu. Ony totiž existují otázky a odpovědi takové, že je drtivá většina lidí na prvních pár pokusů nedá.
Odpovědnost přijímáš, naprosto jednoznačně. Hned vzápětí to potvrzuješ slovy: "když něco přehlídnu, tak jsem měl číst pozorněji".
Nemyslel jsem přesouvání zodpovědnosti od autora na druhou stranu. Já tam autora nikde nepletl. Myslel jsem postoj testovaného vůči výsledku testu, který pro něj dopadne špatně. Zda si řekne: "nechal jsem se nachytat, má chyba", nebo zda si řekne: "ten hajzl mi tam dal samé špeky, nenechal mě projít, svině".
Velice zajímavá část tvé poslední věty je: "na prvních pár pokusů". Je na tom kus pravdy. Ti lidi totiž zdokonalují své podvádění, až to nakonec dají. A čím víc takových, tím lepší chytáky je třeba vymýšlet.
Žijete ve smutném světě, všichni vás chtějí podvést a vy to musíte pořád odhalovat.
-
Kdyz se budete IT venovat a vzdelavat se, tak testy na pohovorech jsou banalita ... pro me je to spis takovy test manazera, ze opravdu se orientuji a maji prehled v oboru a budou o praci kterou jejich podrizeni delaji, premyslet ... nekdy jsou znalosti manazeru, kteri vedou technicke oddeleni ubohe, zvlast u takovych, kteri se na pozici dostali diky znamosti a pak ve firme vznika prostor pro nepotismus a sikanu. Dnesni nasyceni pracovniho trhu ukazuje, ze pokud manazer nevazi zkusenych zamestnancu a vhodne je nemotivujete, tak proste odejdou za lepsim a manazer, ktery nejen, ze nedokaze delat to co oni, ale v podstate ani nevi co delali, uz jen slibuje a slibuje a slibuje ...
-
Taketo testy som tiez zazil, ale nakoniec sa ukazalo, ze je sa jednalo o stredne platene vyvojarske pozicie tak max do cca 2.200 EUR. Pri lepsie platenych poziciach mi podobne testy nikdy nedali.
Zrejme takto testuju juniorov (alebo nieco medzi juniorom a seniorom), ktori este nemaju skusenosti v danej domene (napr. bankovnictvo, poistovnictvo, plynuly cudzi jazyk, ....)
Myslim si, ze tieto testy nemaju skoro ziadny vyznam, pretoze az skusobna doba ukaze, ci sa dany adept hodi alebo ci aj on chce vobec zostat. Ja som napr. v jednej firme absolvoval totalny cirkus tzv. background check asi 2 mesiace pred nastupom a nakoniec ked som nastupil, zistil som, ze v tej firme je vsetko este horsie ako v predoslej a po par dnoch som radsej odisiel.
Ja sa castokrat zamyslam, ze pozicie, kde ponukaju ovela vacsie platy, tak tam testy ani nedavaju. Daju len pokec o skusenostiach, mozno sa spytaju nieco technicke a tot vsjo. Pri poziciach, kde su tie testy a robi sa X kol, tak ten plat byva castokrat mensi. Neviem, vypoveda takyto (ne)test nieco o kvalite danej firmy?
-
package com.zetcode;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BoxLayoutButtonsEx extends JFrame {
public BoxLayoutButtonsEx() {
initUI();
}
private void initUI() {
JPanel bottom = new JPanel();
JButton ok = new JButton("OK");
JButton close = new JButton("Close");
bottom.add(ok);
bottom.add(close);
add(bottom);
setTitle("Two Buttons");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
BoxLayoutButtonsEx ex = new BoxLayoutButtonsEx();
ex.setVisible(true);
}
}
hoši coten kód jako dělá??? v pondělí jdu napohovor a tak mě napadlo žese na to líp připravím abyto nebylo takový trapný jako minule 8)
já bych sito napsal na papírek apak bych se na to těch uchazečů o práci it lopaty ptal 8) 8) 8)
-
hoši coten kód jako dělá??? v pondělí jdu napohovor a tak mě napadlo žese na to líp připravím abyto nebylo takový trapný jako minule 8)
já bych sito napsal na papírek apak bych se na to těch uchazečů o práci it lopaty ptal 8) 8) 8)
Nejenze neodevzda domaci ukol, ale jeste provokuje. Ted kvuli tobe bude pisemka!
-
To jako někoho pohovor stresuje? Nevyjde to u jednoho krypla, vezme mě jinej krypl. Přece se nepodělám z kravaťáka. Kravaťák potřebuje víc mě, než já jeho.
-
Ja sa castokrat zamyslam, ze pozicie, kde ponukaju ovela vacsie platy, tak tam testy ani nedavaju. Daju len pokec o skusenostiach, mozno sa spytaju nieco technicke a tot vsjo. Pri poziciach, kde su tie testy a robi sa X kol, tak ten plat byva castokrat mensi. Neviem, vypoveda takyto (ne)test nieco o kvalite danej firmy?
Treba v Google maji interview kde si jenom behem jednoho dne hodis pet takovych pokecu, mozna neco napises na whiteboard a mas to :)
Ale tam samozrejme nedavaji takove penize jako dostavaji lopaty v Praze.
-
Ja sa castokrat zamyslam, ze pozicie, kde ponukaju ovela vacsie platy, tak tam testy ani nedavaju. Daju len pokec o skusenostiach, mozno sa spytaju nieco technicke a tot vsjo. Pri poziciach, kde su tie testy a robi sa X kol, tak ten plat byva castokrat mensi. Neviem, vypoveda takyto (ne)test nieco o kvalite danej firmy?
Treba v Google maji interview kde si jenom behem jednoho dne hodis pet takovych pokecu
+ ještě oběd s vývojářem :)
-
hoši coten kód jako dělá??? v pondělí jdu napohovor a tak mě napadlo žese na to líp připravím abyto nebylo takový trapný jako minule 8)
já bych sito napsal na papírek apak bych se na to těch uchazečů o práci it lopaty ptal 8) 8) 8)
Kód obsahuje zásadnú chybu, tak ho radšej neukazujte. :) Zatiaľ na tú chybu nik nepoukázal. To riešenie (buttony umiestniť do pravého, dolného rohu), ku ktorému sa má dôjsť je síce naoko triviálne, ale predsa je tam zádrheľ. To bola moja forma chytáku. Skúsený Javista by to mal dať ľahko, keď si prečíta nejaký materiál o Swingu na nete. (Alebo z knihy, Swing je skoro v každej knihe o Java core API.) Ale treba vedieť ktorý, pretože nie je zdroj ako zdroj...
Ako zadanie pre chádzača by som to zrejme nedával. Keď som tu pred časom diskutoval o tom, či môže robiť dobrý Haskell programátor Java senior programátora za pár týždňov štúdia Java API (ja som argumentoval, že na to potrebuje dlhší čas, pár rokov), tak som použil tento príklad ako ilustráciu, že nestačí pochopiť API, ale treba mať tiež s tým hlbšie skúsenosti. Tu som pridal potom ešte tú chybu. Ináč ten Haskell programátor prišiel s funkčným riešením rýchlo, tak som potom vysvetlil, že je tam ešte jedno ale.
-
Rozhodne nereknu "to byl chytak" (cili za nic nemuzu).
nic takového slovo "chyták" neznamená
Tak nějak. Já třeba, když potkám chyták, říkám něco jako "nechal jsem se nachytat". Přijímám nebo nepřijímám zodpovědnost?
Se zodpovědností je to takové neostré. Na jednu stranu ano, když něco přehlídnu, tak jsem měl číst pozorněji. Na druhou stranu se tomu přehlédnutí dá hodně pomoct (cíleně i náhodou).
Co píše dword by se rozhodně dalo intepretovat jako přesouvání zodpovědnosti od autora "chytáku" na druhou stranu. Ony totiž existují otázky a odpovědi takové, že je drtivá většina lidí na prvních pár pokusů nedá.
Odpovědnost přijímáš, naprosto jednoznačně. Hned vzápětí to potvrzuješ slovy: "když něco přehlídnu, tak jsem měl číst pozorněji".
Nemyslel jsem přesouvání zodpovědnosti od autora na druhou stranu. Já tam autora nikde nepletl. Myslel jsem postoj testovaného vůči výsledku testu, který pro něj dopadne špatně. Zda si řekne: "nechal jsem se nachytat, má chyba", nebo zda si řekne: "ten hajzl mi tam dal samé špeky, nenechal mě projít, svině".
Velice zajímavá část tvé poslední věty je: "na prvních pár pokusů". Je na tom kus pravdy. Ti lidi totiž zdokonalují své podvádění, až to nakonec dají. A čím víc takových, tím lepší chytáky je třeba vymýšlet.
Žijete ve smutném světě, všichni vás chtějí podvést a vy to musíte pořád odhalovat.
To je zvlastni, protoze ja se po vetsinu dne porad necemu smeju. Tezko rict, proc bych neco takoveho "musel porad" delat, nevidim duvod. Asi mate spatnou predstavu.
-
hoši coten kód jako dělá??? v pondělí jdu napohovor a tak mě napadlo žese na to líp připravím abyto nebylo takový trapný jako minule 8)
já bych sito napsal na papírek apak bych se na to těch uchazečů o práci it lopaty ptal 8) 8) 8)
Kód obsahuje zásadnú chybu, tak ho radšej neukazujte. :) Zatiaľ na tú chybu nik nepoukázal. To riešenie (buttony umiestniť do pravého, dolného rohu), ku ktorému sa má dôjsť je síce naoko triviálne, ale predsa je tam zádrheľ. To bola moja forma chytáku. Skúsený Javista by to mal dať ľahko, keď si prečíta nejaký materiál o Swingu na nete. (Alebo z knihy, Swing je skoro v každej knihe o Java core API.) Ale treba vedieť ktorý, pretože nie je zdroj ako zdroj...
Ako zadanie pre chádzača by som to zrejme nedával. Keď som tu pred časom diskutoval o tom, či môže robiť dobrý Haskell programátor Java senior programátora za pár týždňov štúdia Java API (ja som argumentoval, že na to potrebuje dlhší čas, pár rokov), tak som použil tento príklad ako ilustráciu, že nestačí pochopiť API, ale treba mať tiež s tým hlbšie skúsenosti. Tu som pridal potom ešte tú chybu. Ináč ten Haskell programátor prišiel s funkčným riešením rýchlo, tak som potom vysvetlil, že je tam ešte jedno ale.
public class BoxLayoutButtonsEx extends JFrame {
public BoxLayoutButtonsEx() {
initUI();
}
private void initUI() {
JPanel bottom = new JPanel();
JButton ok = new JButton("OK");
JButton close = new JButton("Close");
bottom.setLayout(new BoxLayout(bottom, BoxLayout.LINE_AXIS));
bottom.add(Box.createHorizontalGlue());
bottom.add(ok);
bottom.add(Box.createRigidArea(new Dimension(3, 0)));
bottom.add(close);
bottom.add(Box.createRigidArea(new Dimension(3, 0)));
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.PAGE_AXIS));
add(Box.createVerticalGlue());
add(bottom);
add(Box.createRigidArea(new Dimension(0, 3)));
setTitle("Two Buttons");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
BoxLayoutButtonsEx ex = new BoxLayoutButtonsEx();
ex.setVisible(true);
});
}
}
-
public class BoxLayoutButtonsEx extends JFrame {
public BoxLayoutButtonsEx() {
initUI();
}
private void initUI() {
JPanel bottom = new JPanel();
JButton ok = new JButton("OK");
JButton close = new JButton("Close");
bottom.setLayout(new BoxLayout(bottom, BoxLayout.LINE_AXIS));
bottom.add(Box.createHorizontalGlue());
bottom.add(ok);
bottom.add(Box.createRigidArea(new Dimension(3, 0)));
bottom.add(close);
bottom.add(Box.createRigidArea(new Dimension(3, 0)));
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.PAGE_AXIS));
add(Box.createVerticalGlue());
add(bottom);
add(Box.createRigidArea(new Dimension(0, 3)));
setTitle("Two Buttons");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
BoxLayoutButtonsEx ex = new BoxLayoutButtonsEx();
ex.setVisible(true);
});
}
}
Chyba je odstránená. Nuž a ten druhý zádrheľ bol v tom, že ak sa použije layout manager ako je BoxLayout,
tak príklad je síce funkčný, ale nie úplne korektný. Nie je totiž portabilný. Pretože BoxLayout definuje
medzery medzi komponentami natvrdo v pixeloch. Vizuál aplikácie sa tak zničí pri rôznych rozlíšeniach obrazovky.
A to sa nedozvieme na stránkach ako je tutorialspoint.com
Treba použiť layout manager ako je MigLayout alebo GroupLayout, ktoré definujú medzery v relatívnych jednotkách.
Bolo to na ilustráciu toho, že aj keď dokážem použiť API na vytvorenie programu, je potrebné vedieť ešte veci okolo toho. A tie sa získajú až rokmi skúseností.
-
Treba použiť layout manager ako je MigLayout
Určitě je třeba používat věci, které nejsou standardní součástí (knihovny) Javy? To je pak něco špatně.
-
Treba použiť layout manager ako je MigLayout
Určitě je třeba používat věci, které nejsou standardní součástí (knihovny) Javy? To je pak něco špatně.
Žiaľ, je to tak. Tá istá chyba sa spravila aj v JavaFX. A ani Qt ani GTK to napríklad nemajú v základnej knižnici tiež.
-
Treba použiť layout manager ako je MigLayout
Určitě je třeba používat věci, které nejsou standardní součástí (knihovny) Javy? To je pak něco špatně.
Žiaľ, je to tak. Tá istá chyba sa spravila aj v JavaFX. A ani Qt ani GTK to napríklad nemajú v základnej knižnici tiež.
bottom.add(Box.createRigidArea(relativeDim(ok, 0.1)));
private static Dimension relativeDim(JComponent c, double percentage){
return new Dimension((int) (c.getPreferredSize().getWidth() * percentage), 0);
}
-
Treba použiť layout manager ako je MigLayout
Určitě je třeba používat věci, které nejsou standardní součástí (knihovny) Javy? To je pak něco špatně.
Žiaľ, je to tak. Tá istá chyba sa spravila aj v JavaFX. A ani Qt ani GTK to napríklad nemajú v základnej knižnici tiež.
bottom.add(Box.createRigidArea(relativeDim(ok, 0.1)));
private static Dimension relativeDim(JComponent c, double percentage){
return new Dimension((int) (c.getPreferredSize().getWidth() * percentage), 0);
}
Áno, takto sa to dá spraviť. Programátor takto však napráva chyby layout manažéra. Je úlohou dobrého layout manažéra zabezpečiť tieto veci.
-
Džáva je pro debily. Nikdo normální neprogramuje v Džávě. Džávisti jsou patlalové a lopaty. Je to ostatně vidět i tady, patlalové sa hádají o nesmyslech. Skutečnej programátor jedině C, C++ nebo Haskell. 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8)
-
Džáva je pro debily. Nikdo normální neprogramuje v Džávě. Džávisti jsou patlalové a lopaty. Je to ostatně vidět i tady, patlalové sa hádají o nesmyslech. Skutečnej programátor jedině C, C++ nebo Haskell. 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8)
Inferiority complex
Unrealistic feeling of general inadequacy caused by actual or supposed inferiority in a group, generally marked by aggressive behavior and unjustifiable hate
https://www.urbandictionary.com/define.php?term=Inferiority%20Complex (https://www.urbandictionary.com/define.php?term=Inferiority%20Complex)
A mimochodem, ani jeden z jazyku ktere jmenujes neni LISP takze skutecny programator by se na ne ani nepodival.
https://xkcd.com/224/ (https://xkcd.com/224/)
-
hoši coten kód jako dělá??? v pondělí jdu napohovor a tak mě napadlo žese na to líp připravím abyto nebylo takový trapný jako minule 8)
já bych sito napsal na papírek apak bych se na to těch uchazečů o práci it lopaty ptal 8) 8) 8)
Kód obsahuje zásadnú chybu, tak ho radšej neukazujte. :) Zatiaľ na tú chybu nik nepoukázal. To riešenie (buttony umiestniť do pravého, dolného rohu), ku ktorému sa má dôjsť je síce naoko triviálne, ale predsa je tam zádrheľ. To bola moja forma chytáku. Skúsený Javista by to mal dať ľahko, keď si prečíta nejaký materiál o Swingu na nete. (Alebo z knihy, Swing je skoro v každej knihe o Java core API.) Ale treba vedieť ktorý, pretože nie je zdroj ako zdroj...
Ako zadanie pre chádzača by som to zrejme nedával. Keď som tu pred časom diskutoval o tom, či môže robiť dobrý Haskell programátor Java senior programátora za pár týždňov štúdia Java API (ja som argumentoval, že na to potrebuje dlhší čas, pár rokov), tak som použil tento príklad ako ilustráciu, že nestačí pochopiť API, ale treba mať tiež s tým hlbšie skúsenosti. Tu som pridal potom ešte tú chybu. Ináč ten Haskell programátor prišiel s funkčným riešením rýchlo, tak som potom vysvetlil, že je tam ešte jedno ale.
Jano, přečetl jsem váš názor v diskusi a to snad nemyslíte vážne - vy opravdu považujete za relevantní znát zákoutí nějaký jedný funkce layout manageru ve swingu v javě?
Průměrnej developer co nikdy předtím nepsal v javě na takový věci narazí přesně HNED UP PRVNÍHO projektu ve swingu, a když si při testování všimnou, že to nescaluje správně, čekne dokumentaci, zrovna scalování je v rámci GUI naprosto rutinní věc a řeší to developer v tutorialu každýho GUI toolkitu/frameworku.
Takových frameworků je mimo GUI stopadesát sedm tisíc v každým projektu.
Mezi námi, když bych měl na pohovoru haskellistu(skutečnýho), budu mít o mnoho vyšší důvěru, že opravdu něco umí, něž průměrnýho java-klavírníka.
-
Ale tam samozrejme nedavaji takove penize jako dostavaji lopaty v Praze.
Ked dam slova "lopata a programovanie" do googla, tak ma odkazuje len na toto forum. Z toho mi vyplyva, ze lopaty su prave na tomto fore :)
-
Jano, přečetl jsem váš názor v diskusi a to snad nemyslíte vážne - vy opravdu považujete za relevantní znát zákoutí nějaký jedný funkce layout manageru ve swingu v javě?
To nie je o jednej funkcii. Väčšina zabudovaných manažérov to má zle. A nie len v Jave. A keďže roky sa to tak nesprávne robilo, veľa tutoriálov a kníh to tiež nesprávne uvádza, tak sa to väčšina programátorov zle naučí.
Na https://stackoverflow.com/questions/tagged/layout-manager (https://stackoverflow.com/questions/tagged/layout-manager) jedna za druhov otázkou/odpoveďou
to uvádza nekorektne. Za relevantné to považujem, ale ako som hovoril, nedával by som to na vstupných testoch.
Tento príklad-chyták vyplýval z rozsiahlej diskusie tu v tomto vlákne.
Průměrnej developer co nikdy předtím nepsal v javě na takový věci narazí přesně HNED UP PRVNÍHO projektu ve swingu, a když si při testování všimnou, že to nescaluje správně, čekne dokumentaci, zrovna scalování je v rámci GUI naprosto rutinní věc a řeší to developer v tutorialu každýho GUI toolkitu/frameworku.
Kiež by to tak bolo.
Mezi námi, když bych měl na pohovoru haskellistu(skutečnýho), budu mít o mnoho vyšší důvěru, že opravdu něco umí, něž průměrnýho java-klavírníka.
Tak k tomu sa neviem vyjadriť. Ja by som predovšetkých klasické pohovory ani nerobil, samozrejme s výnimkou skúsených programátorov. Osobne by som spravil pravidelne vzdelávací bootcamp, kde by som pozval čo najviac ľudí, a
preberali by sme tam praktické príklady. Načítanie dát z CSV súboru, spracovanie, a výstup pomocou Freemarkeru
v HTML tabuľke, iTextu v PDF, alebo JFreeChart do obrázku. Načítanie dát z databázi v servletovej aplikácii, spracovanie dát a výstup v JSON späť klientovi, kde sa spracuje v nejakej komponente. A pod. Záujemci by dostávali na doma
zadania. A podľa toho ako sa kto chytá, aký prejavuje záujem, by sa potom firma/firmy rozhodli, či kandidáta vezmú, resp. mu odporučia, čo si má doštudovať.
Mne klasické pohovory v súčasnosti, keď je akútny nedostatok ľudí nedávajú vôbec zmysel. Stretol som napríklad ľudí, aj starších, ktorí boli trebárs programátori-začiatočníci, ale prejavovali taký záujem a radosť z nového učiva, že by som ich hneď sfleku prijal, kebyže som riadiaci pracovník.
-
Mne klasické pohovory v súčasnosti, keď je akútny nedostatok ľudí nedávajú vôbec zmysel. Stretol som napríklad ľudí, aj starších, ktorí boli trebárs programátori-začiatočníci, ale prejavovali taký záujem a radosť z nového učiva, že by som ich hneď sfleku prijal, kebyže som riadiaci pracovník.
Mozna kdybys byl ridici pracovnik, ktery ma omezeny rozpocet, potkal X lidi pri prijimacich pohovorech, nekoho musel propustit a resit, kdyz nekdo odesel sam, jestli se firme vyplatil, nevidel bys to takhle ruzove. Uznavam, ze v dobach nedostatku si clovek nemuze moc vybirat, ale nekde ta hranice je a cim mensi firma, tim je dulezitejsi byt opatrny.
-
Osobne by som spravil pravidelne vzdelávací bootcamp, kde by som pozval čo najviac ľudí, ....
I kdyz zanedbam vsechny ostatni naklady, tak abych mohl udelat bootcamp pro dejme tomu 20 zajemcu, budu muset presmerovat fulltime ekvivalent alespon jednoho seniora na to skoleni. Kdyz budu mit stesti tak po tom mesici nabidnu kontrakt peti z nich. 3 odmitnou, protoze se se chteli jen zadarmo, nebo dokonce za nejakou odmenu proskolit. Jeden odejde po pul roce za "lepsim". Jeden mi zustane a po nejakem case si z nej vychovam zamestnance ktery bude firme neco prinaset. Idea je to pekna, ale ekonomicky se to nevyplati. Pokud vim tak firmy co delaji bootcampy na to cerpaji dotace.
-
Mam zkusenost s pohovorem google a facebook. Odpoved "vygooglim" jde pouzit jen v urcite fazi pohovoru. Pak dostanete fixu, ukol a pis kod na tabyli! Ja si pamatuju 2 ukoly:
1. Vstup - seznam hran grafu [id hrany] => [id hrany]. Napsat program ktery zjisti, jestli je v grafu cyklus.
2. Vstup - reference/pointer na uzel v grafu. Kazdy uzel v grafu je dosazitelny z kazdeho dalsiho. Napis program, ktery cely graf zkopiruje.
Je to hodne o treningu a taky o stesti. Ja se 2x probojoval telefonima screeningama a kodovanim v google-doc s "pritelem na telefonu" k on-site do Londyna a SF, tam sem to ale nedal. 5 hodin, kazda hodina s nekym jinym a dycky se nasel nekdo, kdo nesednul.
Kazdopadne, je dobre to zkusit. Google/Facebook jsou dobra cestovni kancelar. Zaplati letenky, 2 noci v hotelu, proplati jidlo a neni problem si to spojit s dovolenou. A kdyz dostanete offer, s trochou stesti dostanete i H1B a papa Kocourkove!
-
Mam zkusenost s pohovorem google a facebook. Odpoved "vygooglim" jde pouzit jen v urcite fazi pohovoru. Pak dostanete fixu, ukol a pis kod na tabyli! Ja si pamatuju 2 ukoly:
1. Vstup - seznam hran grafu [id hrany] => [id hrany]. Napsat program ktery zjisti, jestli je v grafu cyklus.
2. Vstup - reference/pointer na uzel v grafu. Kazdy uzel v grafu je dosazitelny z kazdeho dalsiho. Napis program, ktery cely graf zkopiruje.
Je to hodne o treningu a taky o stesti. Ja se 2x probojoval telefonima screeningama a kodovanim v google-doc s "pritelem na telefonu" k on-site do Londyna a SF, tam sem to ale nedal. 5 hodin, kazda hodina s nekym jinym a dycky se nasel nekdo, kdo nesednul.
Kazdopadne, je dobre to zkusit. Google/Facebook jsou dobra cestovni kancelar. Zaplati letenky, 2 noci v hotelu, proplati jidlo a neni problem si to spojit s dovolenou. A kdyz dostanete offer, s trochou stesti dostanete i H1B a papa Kocourkove!
Nevím, jak Facebook, ale u Googlu ty testy nejsou tak těžké, když člověk zachová klid.
-
Kto uz by len chcel robit pre google alebo facebook. Firmy zamerane na spehovanie uzivatelov, zbieranie dat a ich poskytovanie pre CIA.
-
Kto uz by len chcel robit pre google alebo facebook. Firmy zamerane na spehovanie uzivatelov, zbieranie dat a ich poskytovanie pre CIA.
To neřeš, ty bys neprošel ani prvním screeningem.
-
Ale tam samozrejme nedavaji takove penize jako dostavaji lopaty v Praze.
Ked dam slova "lopata a programovanie" do googla, tak ma odkazuje len na toto forum. Z toho mi vyplyva, ze lopaty su prave na tomto fore :)
Ano, toto je fórum lopat a absolventů LGBT studies a podobných pseudooborů.
-
Kto uz by len chcel robit pre google alebo facebook. Firmy zamerane na spehovanie uzivatelov, zbieranie dat a ich poskytovanie pre CIA.
plne suhlasim))
taktiez nezaujem o take spolocnosti
korporat to ano, ovsem ne data mining))
-
Kto uz by len chcel robit pre google alebo facebook. Firmy zamerane na spehovanie uzivatelov, zbieranie dat a ich poskytovanie pre CIA.
plne suhlasim))
taktiez nezaujem o take spolocnosti
korporat to ano, ovsem ne data mining))
Data sbírají všichni.
-
Co si myslite o testoch na pohovoroch? Hlavne, ak uz sa o miesto uchadzaju ludia s nejakymi skusenostami. Pochopim to u absolventov, alebo ludi s malou praxou, ale u ludi so 4 a viac rocnou praxou? Neviem co je zmyslom tych testov, nakolko kandidat byva na pohovore v strese, takze moze sa stat, ze spravi chybu. Nehovoriac o tom, ze v testoch byvaju chytaky a take veci, s ktorymi sa clovek nikde nestretol a asi ani nestretne. To mi pride, ako ked sa na VS programovalo na papier :)
U nas to je tak, ze sa nehladi na bodkociarky, alebo zatvorku, ale na to, ci clovek nie je totalne jelito.