Junior Java programátor

MrDallas

Junior Java programátor
« kdy: 23. 02. 2014, 23:26:07 »
Dobry den, mal by som takuto otazku na vas ... ucim sa programovat sam doma v jazyku java, citam knihy, sledujem rozne tutorialy a snazim sa to potom sam naprogramovat ... ziskavam poznatky odkial t vp odstate len ide ... no a k tej otazke, co by mal vediet java junior programator ? chcel by som nejake zachytne body aspon aby som mal sancu uspiet na pracovnom pohovore ? poprosim odpovede konkretne na otazku dakujem
« Poslední změna: 24. 02. 2014, 12:57:20 od Petr Krčmář »


thm

Re:Junior Java programator
« Odpověď #1 kdy: 24. 02. 2014, 01:00:30 »
  • nutne treba znalost fungovania Javy (java.lang) a syntaxe. Kedy je treba pouzit volatile, kedy synchronized a podobne. Casto pouzivane vzory v Jave ako getter a setter.
  • objektovy navrh (napriek niektorym protestom, ze to junior nepotrebuje). Ked ti niekto nakaze nieco spravit a spravis jednu triedu s 10 000 riadkami, tak budu ostatni dost casto nestastni
  • tusenie, ako sa pisu testy a naco je to dobre. Trochu nieco z JUnitu
  • buildovacie nastroje. Tomuto sa da vyhnut a skonci to pri "nejak sa to nastavi a bezi to". Ant a Maven neuskodi.
  • podla potreby zamestnavatela nejake blizsie zameranie. U nas JavaEE a hodi sa aj znalost Apache Commons, vedla robia v GWT.

Re:Junior Java programator
« Odpověď #2 kdy: 24. 02. 2014, 02:08:59 »
Ahoj,

Nespornej zaklad je (obecne) co mozna nejvice rozumet syntaxi jazyka a vedet, ktere konstrukce jsou pro urcite problemy lepsi, nez jine. Cim vic jazyka znas, tim vic v nem myslis a to se nesporne pozitivne odrazi ve tve praci. Mozna jsem az prilis abstraktni, takze IMHO (nejsem ze srdce hardcore javista (spis C/C++), ale na juniora bych si urcite trouf) zaklad (krome uplnyho zakladu :D) je chapat modifikatory jako final nebo static, pak dokonale koncepty OOP (dedeni, polymorfismus, interfaces, extends/implements, inner class vs. static nested class, anonymous class). Nic nezkazis, kdyz budes znat zakladni Collections (List/Set/Map) a k cemu jsou dobry. Java (zejmena ta EE) s sebou tahne i obrovskej balik ruzejch frameworku a nastroju. Zakladni znalost Antu urcite taky prijde vhod, ale dal bych jako junior nesel, zbytecne si zasvinis hlavu necim, co vubec treba nebudes potrebovat. Na projektu se toho naucis nejvic, i kdyz to bude za cenu toho, ze budes v prvnich tejdnech po vecerech cist asi trochu vic nez obvykle :)
Bonus hlavne z programatorskyho hlediska je pak znalost aspon nekolika zakladnich navrhovych vzoru (Singleton, Factory, MVC). Celou dalsi vyhodou je znalost mutithreadingu a zakladni koncepty synchronizace (jak uz psal @thm: volatile/synchronized). S takovou vybavou, si myslim, ze mas uz celkem dobre naslapnuto.

V praxi to vetsinou vypada, ze po tom, co te nekde naberou ti nedaj rovnou psat kod tzv. od nuly. Vetsinou prichazis uz do nejakyho rozjetyho tymu, kde veci uz nejak fungujou a tvuj ukol je se co nejdriv adaptovat na danej projekt a jeho pristupy. Samozrejme se pocita, ze ti s tim na zacatku nekdo zkusenejsi pomuze, takze zadnej strach. Myslim si, ze v zacatcich je dulezita "pasivni znalost" jazyka. Nemusis to vsechno umet, jak kdyz bicem mrska, ale urcite musis rozumet kodu, kterej ti predhodi, a kdyz ne uplne, mel bys urcity veci umet aspon pojmenovat. Muze se snadno stat, ze na pohovoru dostanes k okomentovani kod plnej chytaku. Kdyz je odhalis, jsi borec, kdyz ne, zkus se nekde chytit a prijit na to na miste, aktivni pristup se ceni. Ceni se i pokora, takze kdyz te na necem chytnou, nesnaz se jim tvrdit, ze kecaj, pac vetsinou nekecaj a ty si prave kopes hrob :D Kdyz to bude treba nejaka nadramcova libustka, urcite dostanes i maly body, kdyz projevis zajem, jak to teda doopravdy je. Zvedavost a schopnost a vule se rychle ucit novejm vecem a navykum jsou hlavni vyhody mladyho programatora. Dej je na odiv a svet ti bude otevrenej.

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Junior Java programator
« Odpověď #3 kdy: 24. 02. 2014, 06:22:29 »
Nic nezkazis, kdyz budes znat zakladni Collections (List/Set/Map) a k cemu jsou dobry.

Tohle je nutnost, ne výhoda. Na druhou stranu není třeba, minimálně ze začátku, si vše pamatovat - stačí si udělat tahák (nebo někde stáhnout, např. na refcardz.dzone.com). Vědět kde najít informace se v praxi cení víc než encyklopedické znalosti.

Se zbytkem postu se dá jen souhlasit.

koss43

  • ***
  • 120
    • Zobrazit profil
    • E-mail
Re:Junior Java programátor
« Odpověď #4 kdy: 25. 02. 2014, 09:10:47 »
Hele já se teď právě Javu učím, a mám i známého co programuje, obecně se mi líbí tyto kurzy

  • www.jpassion.com - jsou tam hodně propracované LABy u každé přednášky, mnohem lepší než nějaká knížka, projedeš si videopřednášku, uděláš LAB, uděláš domácí úkol a po odeslání všech domácích úkolů dostaneš certifikát. Stojí to 3.000,- Kč v přepočtu. Co jsem to porovnával tak s Lynda.com a Udemy.com, tak kvalita je vyšší a máš tam i J2EE, Springs a třeba Hibernate. Co chybí bych řekl jsou návrhové vzory.
  • https://www.udemy.com/java-design-patterns-tutorial/ - tady jsou návrhové vzory pro Javu, kurz je zdarma
  • http://www.javatpoint.com/corejava-interview-questions - Tady bych si prošel i otázky na interview

Jinak kdybys měl zájem v Praze pokecat, tak se mi ozvy do zpráv. Učím se teď Javu a taky hledám práci Juniora ;-)


vyvojar

Re:Junior Java programátor
« Odpověď #5 kdy: 25. 02. 2014, 13:32:20 »
Já ti dám pár otázek a můžeš si na ně v duchu odpovědět. Pokud odpoveď budeš znát, tak jsi na tom docela slušně si myslím (minimálně co se týče teoretických znalostí).

Co je to JavaBean?

Co je to ORM framework ( a jak se jmenuje přední Java ORM nástroj?)

K čemu slouží servlet?

Jak se jmenuje ta část, která zahrnuje techniky obecného programování?

V jakém kódu se ukládají celá čísla?

K čemu je staticky konstruktor?

Co je to multithreading?

koss43

  • ***
  • 120
    • Zobrazit profil
    • E-mail
Re:Junior Java programátor
« Odpověď #6 kdy: 25. 02. 2014, 13:38:19 »
vyvojar: už jsem přijat  :D Ne vážně bys přijal někoho po zodpovězení takto lehkých otázek?

vyvojar

Re:Junior Java programátor
« Odpověď #7 kdy: 25. 02. 2014, 13:45:00 »
vyvojar: už jsem přijat  :D Ne vážně bys přijal někoho po zodpovězení takto lehkých otázek?

Já nemám kam přijímat, ale myslím si, že pokud bude schopný na ty otázky odpovědět, tak už má celkem slušnou znalost minimálně základů. Pokud někdo už zná pojmy jako ORM, JavaBean, Servlety, tak s jazykem jako takovým (syntaxe, sémantika, koncepty) problémy příliš mít nebude. Např. moji známí ze třetího ročníku FIT nevědí, co to je ORM :)

vyvojar

Re:Junior Java programátor
« Odpověď #8 kdy: 25. 02. 2014, 13:47:12 »
vyvojar: už jsem přijat  :D Ne vážně bys přijal někoho po zodpovězení takto lehkých otázek?

A jinak tedy v jakém kódu se ukládají ta celá čísla ?:)

koss43

  • ***
  • 120
    • Zobrazit profil
    • E-mail
Re:Junior Java programátor
« Odpověď #9 kdy: 25. 02. 2014, 13:50:00 »
vyvojar:

To o ORM beru jako dobrej fór, já už ho používal v PHP před 10ti lety. A to že to nevědi studenti FIT, že mě to nepřekvapuje, a to furt poslouchám o užitečnosti VŠ...

Co se týká kódu na ukládání celých čísel, tak jsem to pochopil tak, že myslíš jako int myInt = 10, tak uložíš celé číslo. Možná jsi to ale myslel jinak, pak si se ale špatně vyjádřil.

vyvojar

Re:Junior Java programátor
« Odpověď #10 kdy: 25. 02. 2014, 13:54:46 »
vyvojar:

To o ORM beru jako dobrej fór, já už ho používal v PHP před 10ti lety. A to že to nevědi studenti FIT, že mě to nepřekvapuje, a to furt poslouchám o užitečnosti VŠ...

Co se týká kódu na ukládání celých čísel, tak jsem to pochopil tak, že myslíš jako int myInt = 10, tak uložíš celé číslo. Možná jsi to ale myslel jinak, pak si se ale špatně vyjádřil.

Já jsem se vyjádřil správně :), ukládají se v kódu doplňkovém. Otázku, na kterou si odpovídal ty, bych formuloval rozhodně jinak, např. zapište příkaz pro uložení celého čísla do lokální proměnné.

koss43

  • ***
  • 120
    • Zobrazit profil
    • E-mail
Re:Junior Java programátor
« Odpověď #11 kdy: 25. 02. 2014, 13:59:17 »
Vyvojar: hmm, tak ono to tak lehké nebude :-) Ne vážně, tohle jsou už spíše internals než to co by měl zvládat junior, toď můj názor.

vyvojar

Re:Junior Java programátor
« Odpověď #12 kdy: 25. 02. 2014, 14:05:17 »
Vyvojar: hmm, tak ono to tak lehké nebude :-) Ne vážně, tohle jsou už spíše internals než to co by měl zvládat junior, toď můj názor.

To asi jo. Můj kamarád byl např. na pohovoru na Javistu, dostal otázky genericita a sql joiny. Genericitu nevěděl a na joiny řekl, že už to někde viděl. Poděkovali, ale už se neozvali. Celkově nevěděl ani k čemu se používá klíčové slovo super a takové ty, řekl bych docela základy. No a za pár dní už programoval v nějaké firmě pro android. Takže je to asi tak, že někde by se uchytili jenom ti nejlepší z nejlepších a někde zase vezmou skoro kohokoliv.

koss43

  • ***
  • 120
    • Zobrazit profil
    • E-mail
Re:Junior Java programátor
« Odpověď #13 kdy: 25. 02. 2014, 14:15:03 »
Tak generické programování jsem si teď taky vygooglil, nevěděl jsem to. To už je ovšem mimo základy Javy (v základních knížkách o Javě to nenajdeš!). Joiny a super vím, to že ho nechtěli přijmout když ani neví co je to LEFT JOIN, to se nedivím ;-) Ale pravda, na mé první programátorské brigádě v PHP jsem to taky netušil a vzali mě.

DK

Re:Junior Java programátor
« Odpověď #14 kdy: 25. 02. 2014, 16:04:17 »
koss43: no to si pis, ze genericita je v zakladech javy a v knihach je