Rekrutacja

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, …

Continue Reading
Rekrutacja

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 …

Continue Reading
Rekrutacja

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 …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Instancja klasy abstrakcyjnej

Czy można stworzyć instancję klasy abstrakcyjnej? TL;DR Nie można utworzyć instancji klasy abstrakcyjnej. Można to już wywnioskosować z nazwy – abstrakcyjna. Można to również bez problemu sprawdzić: package org.blog; public abstract class Entity { private Long id; public Entity(Long id) { this.id = id; } public Long getId() { return id; } } Podczas próby …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Checked vs unchecked exceptions

unchecked vs checked

Checked vs unchecked W Javie mamy dwa rodzaje wyjątków – checked oraz unchecked. Tak naprawdę dużo je nie różni – w skrócie jedne muszą być obsłużone, a drugie nie. Checked Wyjątki checked powstają po rozszerzeniu klasy Exception. public class CheckedException extends Exception { } Tak jak wspomniałem wcześniej musi on zostać obsłużony – np. przez …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Adnotacja @Override

Java 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ą …

Continue Reading
Rekrutacja

Zadania rekrutacyjne

Rekrutacja

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 …

Continue Reading