Testy na pohovoroch

Jester

Re:Testy na pohovoroch
« Odpověď #90 kdy: 20. 03. 2018, 00:29:23 »
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)


Jano7

Re:Testy na pohovoroch
« Odpověď #91 kdy: 20. 03. 2018, 01:19:50 »
Citace
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...

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

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

x

Re:Testy na pohovoroch
« Odpověď #92 kdy: 20. 03. 2018, 04:10:47 »
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.

Kód: [Vybrat]
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?

Lopatka

Re:Testy na pohovoroch
« Odpověď #93 kdy: 20. 03. 2018, 04:23:58 »
Všechny ty otázky jsou už beztak na https://www.bettercoder.io

Petr

Re:Testy na pohovoroch
« Odpověď #94 kdy: 20. 03. 2018, 05:40:29 »
@Jano7: Vase uvodni reakce mi neprisla jako kritika te otazky, ale snaha na ni odpovedet.


Inkvizitor

Re:Testy na pohovoroch
« Odpověď #95 kdy: 20. 03. 2018, 06:10:47 »
@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.

n

Re:Testy na pohovoroch
« Odpověď #96 kdy: 20. 03. 2018, 06:32:24 »
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.

Jester

Re:Testy na pohovoroch
« Odpověď #97 kdy: 20. 03. 2018, 06:41:53 »
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.

Petr

Re:Testy na pohovoroch
« Odpověď #98 kdy: 20. 03. 2018, 07:02:51 »
@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 :-).




n

Re:Testy na pohovoroch
« Odpověď #99 kdy: 20. 03. 2018, 07:16:12 »

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.

Jester

Re:Testy na pohovoroch
« Odpověď #100 kdy: 20. 03. 2018, 07:27:15 »

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.

Re:Testy na pohovoroch
« Odpověď #101 kdy: 20. 03. 2018, 07:38:02 »
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
Děkuji za možnost editace příspěvku.

jpu

Re:Testy na pohovoroch
« Odpověď #102 kdy: 20. 03. 2018, 07:53:02 »
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.

Kód: [Vybrat]
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.

Jano7

Re:Testy na pohovoroch
« Odpověď #103 kdy: 20. 03. 2018, 08:15:22 »
Citace
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.

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





v

Re:Testy na pohovoroch
« Odpověď #104 kdy: 20. 03. 2018, 08:21:21 »
Citace
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.

Citace
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