Przez ostatnie 3 miesiące byłem na wielu rozmowach rekrutacyjnych na Java Dev.
Poniżej przesyłam zestaw pytań, które zapamiętałem i spisałem może komuś się przyda ;)
- Standardowe pyanie: Opowiedz w jakich projektach uczesniczyłeś, jakich technologii używałeś itp.
- Jak działa JIT? Czy ma jakieś wady?
- Do czego służy adnotacja @PostConstruct
- Wymień sposoby wstrzykiwania zależności. Jakiego sposobu używasz i dlaczego?
- Co to jest hermetyzacja?
- Jakie rzeczy weszły z Java11. Jakich używałeś?
- Kryptografia z kluczem publicznym vs prywatnym. Czym się różni i, która metoda jest używana w TLS?
- Jak byś napisał metodę kontrolera do usunięcia wielu użytkowników?
- Rest vs Soap
- Mikroserwisy vs Monolity
- Do czego służą indeksy i jakie znasz?
- Zasady SOLID, IoC, Dependency Injection
- Mamy 2 serwisy każdy z nich ma swoją bazę. Jak uzyskać spójność / transakcyjność
gdy jeden wywołuje drugi jakie znasz patterny? - Dlaczego BigDecimal jest lepszy od double to przechowywania wartości pieniężnych?
Dlaczego double nie jest precyzyjny? - Do czego służy BindingResult w Springu?
- Wymień poziomy izolacji transakcji i wyjaśnij jak działa jeden z nich?
- Adnotacja @Transactional jakie ma właściwości / co można ustawić?
- Jak walidować przychodzące requesty w REST w Springu? Jaki błąd wystąpi
gdy podamy stringa zamiast inta? - Jak zabezpieczyłbyś api restowe?
- Jak przechowywać hasła w bazie danych? Jak działa bcrypt?
- Jakie znasz zalety/wady stream api w Java?
- Jak działa protokół HTTP? Jakie są metody?
- Kiedy wybrałbyś rozwiązanie przechowywania danych
w oparciu o relacyjną bazę danych a kiedy NoSQL? Jakie
brałbyś kryteria pod uwagę? - Model pamięci w Java. Jakie znasz Garbage Collectory? Po co one są?
- Jak działa HashMap/ConcurrentHashMap w środku?
- Komunikacja z zewnętrznymi usługami. Podejście do obsługi błędów
- Typy ataków webowych np. xxs,csrf wymień i objaśnij jeden z nich