Testy na pohovoroch

n

Re:Testy na pohovoroch
« Odpověď #105 kdy: 20. 03. 2018, 09:04:24 »
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);
    }
}


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.



.

Re:Testy na pohovoroch
« Odpověď #106 kdy: 20. 03. 2018, 09:05:47 »

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

L.

Re:Testy na pohovoroch
« Odpověď #107 kdy: 20. 03. 2018, 09:08:28 »
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".

Jano7

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

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

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

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

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

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

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

Petr

Re:Testy na pohovoroch
« Odpověď #109 kdy: 20. 03. 2018, 11:28:08 »
@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?


n

Re:Testy na pohovoroch
« Odpověď #110 kdy: 20. 03. 2018, 11:31:48 »
Citace
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.

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

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

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

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

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

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

Jano7

Re:Testy na pohovoroch
« Odpověď #111 kdy: 20. 03. 2018, 11:52:57 »
Citace
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.

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


n

Re:Testy na pohovoroch
« Odpověď #112 kdy: 20. 03. 2018, 12:13:09 »
Citace
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.

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

.

Re:Testy na pohovoroch
« Odpověď #113 kdy: 20. 03. 2018, 12:50:16 »
@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).

Petr

Re:Testy na pohovoroch
« Odpověď #114 kdy: 20. 03. 2018, 13:18:52 »
OK, diky za zpetnou vazbu. Zatim nevim jak, ale zkusim na tom pracovat.

dword

Re:Testy na pohovoroch
« Odpověď #115 kdy: 20. 03. 2018, 19:25:57 »
rozumiem, ale testy formou chytakov?

Co to je chyták?

v

Re:Testy na pohovoroch
« Odpověď #116 kdy: 20. 03. 2018, 20:10:01 »
rozumiem, ale testy formou chytakov?

Co to je chyták?
záleží... možná třeba:
Kód: [Vybrat]
#include <stdio.h>
int main() {
const float x = 3.1;
printf("%i\n", 3.1 == x);
return 0;
}

Kiwi

Re:Testy na pohovoroch
« Odpověď #117 kdy: 20. 03. 2018, 23:30:49 »
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ě.

Jester

Re:Testy na pohovoroch
« Odpověď #118 kdy: 21. 03. 2018, 01:39:12 »
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á.

Někdo

Re:Testy na pohovoroch
« Odpověď #119 kdy: 21. 03. 2018, 09:17:10 »
rozumiem, ale testy formou chytakov?

Co to je chyták?
záleží... možná třeba:
Kód: [Vybrat]
#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!