Java pytanie rekrutacyjne: Kolejność wykonywania operatorów

Kolejność wykonywania operatorów Jaki będzie rezultat działania poniższego programu? package org.blog; public class Main { public static void minLengthString(String s) { if (s != null && s.length() > 3) { System.out.println(„Napis ma więcej niż 3 znaki.”); } } public static void main(String[] args) { String strValue = null; minLengthString(strValue); } } Zostanie rzucony wyjątek NullPointerException, […]

Java pytanie rekrutacyjne: Wieloparametrowe konstruktory

Czy wieloparametrowe konstruktory są poprawne? Wieloparametrowe konstruktory pod względem składni języka są poprawne, za to występują z nimi inne problemy. W przypadku, gdy mamy konstruktor z większą ilością parametrów np. cztery oraz większość parametrów jest tego samego typu to zaczynają się problemy. Stwórzmy prosty przykład, najzwyklejsza POJO klasa Usera z 6 polami: package org.blog; public […]

Java pytanie rekrutacyjne: Metody typu wyliczeniowego

Wymień metody typu wyliczeniowego i opisz krótko ich przeznaczenie W typie wyliczeniowym znajdziemy następujące metody: name(), ordinal(), values(), valueOf(String name). Przypuśćmy, że mamy typ wyliczeniowy Gender: package org.blog; public enum Gender { MALE, FEMALE } name() Metoda zwraca nazwę obiektu, czyli wywołując: System.out.println(Gender.MALE.name()); Otrzymamy: MALE ordinal() Ze względu, że każdy obiekt typu wyliczeniowego ma przypisany swój […]

Java pytanie rekrutacyjne: String pool

Czym jest String Pool? String pool jest specjalnym miejscem w pamięci, do którego trafiają niektóre obiekty typu Stringi – dokładnie te, które nie są tworzone poprzez użycie operatora new. String pool został stworzony w celu optymalizacji JVM, dzięki niemu wiele obiektów Stringów o tej samej wartości wskazują na ten sam obszar pamięci. Co nam to […]

Java pytanie rekrutacyjne: Adnotacja @Override

Do czego służy adnotacja Override, co zyskujemy korzystając z niej? Dzięki wykorzystaniu adnotacji @Override kompilator otrzymuje od nas informację, że dana metoda będzie przysłaniać inną metodę. W przypadku, gdy żadna metoda do przysłonięcia nie zostanie odnaleziona (np. w interfejsie, w klasie rodzica) to kompilator zwróci nam błąd. Wykorzystując tą adnotację mamy pewność, że przysłonimy istniejącą […]

Zadania rekrutacyjne

Zadania rekrutacyjne Cześć, dzisiejszy wpis trochę rozpoczyna temat rekrutacji do pracy na tym blogu. W tym wpisie pokażę częste zadania do wykonania niezależnie od języka programowania. Jeżeli pojawi się implementacja to zrobię to oczywiście w Javie. FizzBuzz Na początek nie mogło zabraknąć słynnego FizzBuzz, znalazłem statystyki w internecie, że poprawnie wykonuje je około 10-15% programistów, a ty […]