Dobra znajomość Javy

Dobra znajomość Javy
PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:12 miesięcy
  • Postów:227
0

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ć?

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
4

Obawiam sie ze jesli musisz o to pytac to takiej znajomosci nie masz :(


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Madaoo
  • Rejestracja:około 13 lat
  • Ostatnio:około 2 lata
  • Postów:490
1

Umiesz napisać program w Javie, a później naprawić błędy - jak znajdą się jakieś błedy i zoptymalizować. // w skrócie


"Chodzenie po wodzie i tworzenie oprogramowania wg specyfikacji są łatwe, o ile woda i specyfikacja są zamrożone" - Edward V. Berard
Koziołek
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6822
2

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


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
freemp3
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Miechów
  • Postów:284
1

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.


PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:12 miesięcy
  • Postów:227
0

Z mojego doświadczenia rekrutacyjnego bym dodał od siebie, że najczęściej pytają o :

  1. Dziedziczenie, klasy , interfejsy
  2. Wyjątki
  3. Stringi
    to tyle jeśli chodzi o JavaSE.
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

@pioflor o_O chyba na staż, bo do pracy to jeszcze przynajmniej concurrency, kolekcje i wzorce ;]


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:12 miesięcy
  • Postów:227
0

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.

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

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


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
EL
  • Rejestracja:ponad 13 lat
  • Ostatnio:2 miesiące
0

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.

PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:12 miesięcy
  • Postów:227
0
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.

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

@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 ;]


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
vpiotr
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 3 lata
1
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 ;]

  1. ArrayUtils.reverse lub zwykła pętla

  2. java.lang.Integer.bitCount()

lub coś ze świata C:

Kopiuj
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?

Zobacz pozostały 1 komentarz
bogdans
To jest głupota i masochizm prowadzącego. On te papierowe programy musi sprawdzić.
wojciechmaciejewski
było to 10 lat temu także coś się mogło zmienić :P
vpiotr
u nas na kartce pisało się tylko algorytmy, co wykluczało w naturalny sposób potrzebę popisywania się przecinkami / klamrami / frameworkami na kartce.
bus45
@wojciechmaciejewski Pamiętam mój egzamin z Podstaw Programowania w C++ w roku 2012, który również pisałem długopisem na kartce. Były to trzy programy, które zajęły łącznie cztery arkusze formatu A4.
spartanPAGE
A refaktoryzacja w locie - korektorem! Albo dopinane kartki!
Koziołek
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6822
0

Ale ta akcja z ArrayList nie jest niczym niezwykłym. W niektórych firmach potrafią poprosić o wymienienie wszystkich metod z interfejsu Map.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
airborn
Bo to jest podstawowa wiedza dla każdego, który programuje notatnikiem albo lodówką!
KA
KA
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
0

zabawmy się w wirtualne rekrutacje;
if(student.getName() != null && student.getName().equals("jakistam")) { ...

jak to robić lepiej?


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
bus45
@karolinaa: może while(student.getName()!=null) ? ;)
KA
nie. ma być zachowana logika ;p
NoZi
if("jakistam".equals(student.getName())
vpiotr
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 3 lata
0

@karolinaa:

  1. styl Jody (może być też stylem właścicieli kotów):
Kopiuj
if ("jakistam".equals(student.getName()))
  1. styl indiański
Kopiuj
if (StringUtils.equals(student.getName(), "jakistam"))

Ile można zarobić? :)

edytowany 1x, ostatnio: vpiotr
bus45
@vpiotr: czy to zdanie jest prawdziwe? ".. java.lang does not contain a class called StringUtils.."? ;)
NoZi
@bus45 to może czas nauczyć się korzystać z rzeczy które istnieją od kilku lat zamiast wymyślać koło na nowo?
twonek
@vpiotr dlaczego właścicieli kotów?
vpiotr
@twonek: to dość długa historia, może kiedyś o tym napiszę esej :)
KA
KA
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
0

ja chciałam jakiś newbies ;p


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
vpiotr
gdyby jeszcze tylko na rozmowach kwalifikacyjnych były takie proste pytania...
NoZi
  • Rejestracja:ponad 16 lat
  • Ostatnio:około 18 godzin
0

Bo nie musisz sprawdzać czy coś jest nullem


Hate the sin, love the sinner
edytowany 1x, ostatnio: NoZi
Koziołek
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6822
1

Jeszcze jedna opcja:

Kopiuj
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).


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
Koziołek
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Stacktrace
  • Postów:6822
0

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.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
WL
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 9 lat
  • Postów:23
0

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

NoZi
  • Rejestracja:ponad 16 lat
  • Ostatnio:około 18 godzin
0

Dodatkowo wypada znać Apache Commons + Guava


Hate the sin, love the sinner
niezdecydowany
niezdecydowany
Wojtek, uspokój się.
NoZi
nie wiem koleżko o co Ci chodzi, bynajmniej nie mam na imię Wojtek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.