Testy na pohovoroch

Jester

Re:Testy na pohovoroch
« Odpověď #150 kdy: 22. 03. 2018, 18:15:47 »
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 :)


Jano7

Re:Testy na pohovoroch
« Odpověď #151 kdy: 22. 03. 2018, 18:33:12 »
Citace
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.

dword

Re:Testy na pohovoroch
« Odpověď #152 kdy: 22. 03. 2018, 18:46:18 »
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.

SwingKing

Re:Testy na pohovoroch
« Odpověď #153 kdy: 22. 03. 2018, 18:59:19 »
Citace
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.

Kód: [Vybrat]
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);
            });
        }
    }

Jano7

Re:Testy na pohovoroch
« Odpověď #154 kdy: 22. 03. 2018, 21:21:07 »
Citace
Kód: [Vybrat]
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í.




Jester

Re:Testy na pohovoroch
« Odpověď #155 kdy: 22. 03. 2018, 21:26:43 »
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ě.

Jano7

Re:Testy na pohovoroch
« Odpověď #156 kdy: 22. 03. 2018, 21:41:43 »
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ž.

SwingKing

Re:Testy na pohovoroch
« Odpověď #157 kdy: 22. 03. 2018, 21:57:47 »
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ž.

Kód: [Vybrat]

        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);
        }

Jano7

Re:Testy na pohovoroch
« Odpověď #158 kdy: 22. 03. 2018, 22:22:50 »
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ž.

Kód: [Vybrat]

        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.

HNUL

Re:Testy na pohovoroch
« Odpověď #159 kdy: 22. 03. 2018, 22:39:43 »
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)

pra

Re:Testy na pohovoroch
« Odpověď #160 kdy: 23. 03. 2018, 08:01:26 »
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)

Citace
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

A mimochodem, ani jeden z jazyku ktere jmenujes neni LISP takze skutecny programator by se na ne ani nepodival.

https://xkcd.com/224/

pysnej_lopatak

Re:Testy na pohovoroch
« Odpověď #161 kdy: 23. 03. 2018, 09:42:58 »
Citace
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.

jpu

Re:Testy na pohovoroch
« Odpověď #162 kdy: 23. 03. 2018, 10:12:23 »
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 :)

Jano7

Re:Testy na pohovoroch
« Odpověď #163 kdy: 23. 03. 2018, 12:29:50 »
Citace
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 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.

Citace
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.

Citace
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.

Inkvizitor

Re:Testy na pohovoroch
« Odpověď #164 kdy: 23. 03. 2018, 13:29:38 »
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.