Wiadomo, każde ogłoszenia na Java developera się od takiego punktu zaczyna. Więc jeżeli o samym języku mówimy - co trzeba potrafić z tej Javy żeby móc spełniać rynkowe wymaganie "dobrej znajomości" ?
To zależy od firmy. Dla niektórych wystarczy znać lambdy i streamy.
Ogólnie polecam jednak doczytać o:
- Stream API + java.util.functions
- Lambda
- Słówku kluczowym "default"
- Nowym Time API
- CompletableFuture
W praktyce oznacza to, że na rozmowach musisz umieć odpowiedzieć na pytanie „co nowego w Javie 8?”
Prawidłowa odpowiedź, wystarczająca do zaliczenia pytania:
- Język: lambdy, metody default, jakieś pierdoły w interfejsach. Nie trzeba pisać final przy zmiennych by je przekazać do klas wewnętrznych.
- Standardowa biblioteka: streamy, optionale, CompletableFuture, sensowne api do czasu. Kilka fajnych default metod w kolekcjach.
BTW, najnowsza oficjalna wersja Javy to 10, a nie 8. To jest niesamowite, jak wielu programistów o tym nie wie.
BTW, niedawno ktoś mnie pytał, co nowego w Javie 7. Czy to ma znaczenie, w której wersji weszły helpery z Objects?
nie zapominajmy o umiejetnosci napisania snake'a;)
IMO to ta dobra znajomość Javy 8 to tak naprawde podstawowa w większości firm (moje doświadczenia z rekrutacji) przy czym albo ja znam Jave nie wiadomo jak dobrze, albo w większości firm ta Java 8 jest wymagana na poziomie podstawowym - obstawiam jednak to drugie. No generalnie wymaganie od człowieka umiejętności napisania klasy, zaimplementowania intefejsu czy wiedzenia co to znaczy słowo final czy finally nie jest moim zdaniem wyznacznikiem bycia dobrym ;]
@poprzednicy
Imho dobra znajomosc javy 8 to znaczy tak na prawde javy <= 8 (czyt. java po prostu i ficzery 8ki). Ale nie znam sie, moze rzeczywiscie chodzi w tym punkcie o konkrety o samej 8cei? Nie sadze