Na ogłoszeniach o prace często można się spotkać z określeniem dobra znajomość Javy. Czy istnieje jakaś lista zagadnień które się na to kwalifikują? Jeśli nie to czy możecie taką zaproponować?
Dobra znajomość Javy
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
Obawiam sie ze jesli musisz o to pytac to takiej znajomosci nie masz :(
- Rejestracja: dni
- Ostatnio: dni
- Postów: 490
Umiesz napisać program w Javie, a później naprawić błędy - jak znajdą się jakieś błedy i zoptymalizować. // w skrócie
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Stacktrace
- Postów: 6822
@Shalom, no nie do końca, bo to pojęcie jest dość pojemne. Dla jednych to tylko umiejętność pisania kodu w miarę zgodnego z SOLID/YAGNI/wzorcami projektowymi. Dla innych to znajomość tego jak działa spring/CDI/hibernate. Dla kogoś innego to wiedza o magii JVM i gc.
@pioflor, zazwyczaj oznacza, że poza znajomością składni i podstawowego API języka ogarniasz najpopularniejsze frameworki i technologie.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Miechów
- Postów: 284
Wydaje mi się, że chodzi tutaj bardziej o znajomość tego na jakiej zasadzie działa, znajomość składni języka, obiektowości, standardowych bibliotek i mechanizmów. Konkretne rzeczy takie jak SOLID, YAGNI, KISS, wzorce, CDI, hibernate, spring itp. są zazwyczaj wyszczególniane w osobnych punktach.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 227
Z mojego doświadczenia rekrutacyjnego bym dodał od siebie, że najczęściej pytają o :
- Dziedziczenie, klasy , interfejsy
- Wyjątki
- Stringi
to tyle jeśli chodzi o JavaSE.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 227
Zapomniałem o przetwarzaniu współbieżnym. Z kolekcjami się jeszcze nie spotkałem. To dziwne, bo mi się też wydają istotne ,może jakoś miałem takie dziwne szczęście. Wzorce projektowe ( domyślam się, że o takie chodzi) nie są częścią Javy. Pojawiają się na testach, tak samo jak znajomość SQL czy JavaScript, ale to nie integralna część Javy. Na testach jest oczywiście jeszcze cześć dotycząca JavaEE. Wydaje mi się, że jak pojęcie "dobra znajomość Javy" odnosi się tylko do JavaSE. JavaEE to zbiór frameworków.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
Masz rację, wydaje ci się. Nie wiem jak mogłeś nie spotkac sie z kolekcjami. Napisałeś coś więcej niż hello world kiedyś? o_O Co do frameworków to właściwie nie da sie pracować w javie bez nich...
- Rejestracja: dni
- Ostatnio: dni
Ostatnio byłem na spotkaniu rekrutacyjnym gdzie również była wymagana dobra znajomość javy.
O ile teoria faktycznie zawierała sporo na temat wzorców, kolekcjach, interfejsach czy typy generyczne to zadania praktyczne polegały na napisaniu prostych metod generujących szachownicę 01 czy też sortowanie tablicy wg określonych kryteriów.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 227
Shalom napisał(a):
Masz rację, wydaje ci się. Nie wiem jak mogłeś nie spotkac sie z kolekcjami. Napisałeś coś więcej niż hello world kiedyś? o_O Co do frameworków to właściwie nie da sie pracować w javie bez nich...
Widocznie firmy w który byłem uznały, że nie potrzeba sprawdzać kandydatów z kolekcji. Nie pisałem ani razu hello world. Widać uznali że to zbyt proste :). Trzeba było pisać parę metod które np. liczą ilość jedynek w rozkładzie binarnym, albo odwracają tablice znaków. Wszystko na kratce, można powiedzieć, że programowałem kartkę:).
Co do freamworków, to na ogłoszeniach są wyszczególnione jakie są wymagane, więc myśląc logicznie nie są częścią pojęcia dobra znajomość Javy. Inaczej po co by powtarzali to samo wymaganie. Mogli by napisać porostu dobra znajomość Java.
- Rejestracja: dni
- Ostatnio: dni
To w takim razie @Koziołek @Shalom elementarna lub podstawowa znajomosc JAVY wg was co oznacza?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
@pioflor jakby mi ktoś odwrócił tablicę znaków inaczej niż za pomocą Lists.reverse(Arrays.asList(tablica)).toArray() to bym sie mocno zdziwił, szczególnie jakby miał w cv "dobrą" znajomość javy ;)
Tak samo jakby ktoś tą ilość jedynek w rozkładzie binarnym zrobił inaczej niz przez ''Integer.toBinaryString(liczba)" + stream + filter + collect, więc generalnie tak jak powyżej to jest pół linijki kodu... Ale jak się ma słabą znajomość javy to się siedzi i pisze fory...
elementarna znajomość to znaczy że ktoś zna składnie języka ;]
- Rejestracja: dni
- Ostatnio: dni
Shalom napisał(a):
@pioflor jakby mi ktoś odwrócił tablicę znaków inaczej niż za pomocą
Lists.reverse(Arrays.asList(tablica)).toArray()to bym sie mocno zdziwił, szczególnie jakby miał w cv "dobrą" znajomość javy ;)
Tak samo jakby ktoś tą ilość jedynek w rozkładzie binarnym zrobił inaczej niz przez ''Integer.toBinaryString(liczba)" + stream + filter + collect, więc generalnie tak jak powyżej to jest pół linijki kodu... Ale jak się ma słabą znajomość javy to się siedzi i pisze fory...elementarna znajomość to znaczy że ktoś zna składnie języka ;]
-
ArrayUtils.reverse lub zwykła pętla
-
java.lang.Integer.bitCount()
lub coś ze świata C:
int NumberOfSetBits(int i)
{
i = i - ((i >> 1) & 0x55555555);
i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
return (((i + (i >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24;
}
http://stackoverflow.com/questions/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer
Generalnie to wkurzają mnie takie pytania na rozmowach, bo rozmowy o pracę są dość stresujące, a odpowiedzi na te pytania na kompie znajduję w pół minuty.
Więc co takie pytanie ma testować? Umiejętność programowania papierowego komputera?
- Rejestracja: dni
- Ostatnio: dni
Ja byłem na jednej rozmowie i kod musiałem podawać... ustnie. Czy to jest normalne?
- Rejestracja: dni
- Ostatnio: dni
W moim przypadku dyktowałem zapytania sql, komendy linuxa i np. implementacje bodajże ArrayList.
- Rejestracja: dni
- Ostatnio: dni
Implementacja ArrayList no najs :D Jakieś jeszcze ktoś dostawał pytania ? Temat wydaje się być interesujący :D
- Rejestracja: dni
- Ostatnio: dni
Tak, nie mogłem sobie poradzić z tym to łaskawie dostałem kartkę do napisania... pisząc na kartce zdecydowanie łatwiej niż to wydukać... heh
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Stacktrace
- Postów: 6822
Ale ta akcja z ArrayList nie jest niczym niezwykłym. W niektórych firmach potrafią poprosić o wymienienie wszystkich metod z interfejsu Map.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 1683
zabawmy się w wirtualne rekrutacje;
if(student.getName() != null && student.getName().equals("jakistam")) { ...
jak to robić lepiej?
- Rejestracja: dni
- Ostatnio: dni
@karolinaa:
- styl Jody (może być też stylem właścicieli kotów):
if ("jakistam".equals(student.getName()))
- styl indiański
if (StringUtils.equals(student.getName(), "jakistam"))
Ile można zarobić? :)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 1683
ja chciałam jakiś newbies ;p
- Rejestracja: dni
- Ostatnio: dni
vpiotr napisał(a):
@karolinaa:
- styl Jody (może być też stylem właścicieli kotów):
if ("jakistam".equals(student.getName()))
- styl indiański
if (StringUtils.equals(student.getName(), "jakistam"))
Ile można zarobić? :)
Jestem newbie, dlaczego te style są lepsze?
- Rejestracja: dni
- Ostatnio: dni
Bo nie musisz sprawdzać czy coś jest nullem
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Stacktrace
- Postów: 6822
Jeszcze jedna opcja:
student.isNamed("jakiśtam");
//... i dlalej
public boolean isNamed(@Nonnull String otherName){
return otherName.equlas(this.name);
}
Całość pociągnięte analizą w trakcie kompilacji wywali się w momencie gdy otherName będzie null albo "pochodzenie" zmiennej będzie wskazywać na to, że jest ona null (np. przychodzi jako parametr nie oznaczony @Nonnull i nie jest sprawdzana pod kątem bycia null wyżej w stosie wywołania).
- Rejestracja: dni
- Ostatnio: dni
Koziołek napisał(a):
Ale ta akcja z
ArrayListnie jest niczym niezwykłym. W niektórych firmach potrafią poprosić o wymienienie wszystkich metod z interfejsuMap.
Może i tak ale i tak o niebo łatwiej napisać na kartce chociaż niż o tym mówić :D
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Stacktrace
- Postów: 6822
Zależy dla kogo. Tu można by wejść w temat typów osobowości i neuropsychologię by spróbować określić jaka forma rekrutacji komu odpowiada, ale samo wymienianie metod z interfejsu jest idiotyzmem.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 23
Java to bardzo rozległy temat.
Na ogół takie wymaganie oprócz dobrej znajomości samego api Javy wiąże się ze znajomością Javy EE i przynajmniej podstawową znajomoscią Springa, Mavena, Hibernate'a, tego typu praktycznych zagadnień.
- Rejestracja: dni
- Ostatnio: dni
Dodatkowo wypada znać Apache Commons + Guava