You are currently viewing Junior Java Developer- Zadanie Rekrutacyjne

Junior Java Developer- Zadanie Rekrutacyjne

Przyszedł ten dzień. Pierwsza pozytywna odpowiedź, zaproszenie na rozmowę rekrutacyjną na stanowisko Junior Java Developer. Czego możesz się spodziewać? Jakie zadanie rekrutacyjne może się pojawić? Sprawdźmy!

Java Developer to rola wymagająca znajomości zagadnień z zakresu technologii w budowaniu aplikacji w tym przypadku najczęściej z zakresu backendu.

Programista technologii backendowych, w omawianym przypadku Java, to specjalista realizujący wymagania biznesowe na dany system w postaci kodu oprogramowania. Osoby początkujące najczęściej zaczynają od realizacji bardzo prostych funkcjonalności, poprawiania błędów, dodawania aktualizacji i dokumentowania zmian.

Nie powinny mieć tajemnic dla niego składnia języka Java,  technologie JPA i Hibernate oraz biblioteki typu Spring.

 Czego się w takim razie spodziewać na rozmowie rekrutacyjnej?

Junior Java Developer – Zadanie rekrutacyjne (przykładowe, firma typu software house):

Należy zaimplementować dwa mikroserwisy oparte o Spring Boot i Spring Cloud, z których jeden będzie posiadał kontroler REST/HTTP, natomiast drugi będzie łączyć się z pamięciową bazą danych i wyciągać z niej dane.

  • Na żądanie użytkownika przesłane do pierwszego serwisu (zewnętrznego), kontroler powinien wywołać drugi serwis (wewnętrzny), pobrać z niego dane i zwrócić użytkownikowi.
  • Serwis zewnętrzny powinien być ukryty za gateway’em pełniącym rolę proxy.
  • Komunikacja między dwoma serwisami powinna być zrealizowana poprzez RestTemplate z użyciem nazwy drugiego mikroserwisu, a nie poprzez adres IP i port (podpowiedź: adnotacja @LoadBalanced)
  • Oba serwisy powinny zgłaszać się w rejestrze usług, np. w Netflix Eureka.
  • Drugi serwis (wewnętrzny) powinien tworzyć schemat bazy danych poprzez bibliotekę FlywayDB lub Liquibase. Serwis powinien zawierać encję z przynajmniej trzema atrybutami (poza ID), baza danych powinna być zasilona kilkoma testowymi rekordami.
  • Pierwszy serwis powinien udostępniać REST API dostarczające operacje CRUD, łącznie z możliwością pobrania listy rekordów z uwzględnieniem stronicowania, sortowania i filtrowania danych. Filtrowanie powinno być możliwe po dowolnym atrybucie encji, przy czym to klient API powinien decydować, po jakich atrybutach wyszukuje dane.

Powinny więc powstać cztery usługi: dwie właściwe oraz usługa rejestru usług i usługa gateway’a. Istotna jest realizacja integracji między usługami i skorzystanie z modułów Spring Cloud oraz poprawna implementacja metod CRUD (w szczególności listowanie z wyszukiwaniem).

Do szybkiego wygenerowania szkieletów projektów polecam https://start.spring.io/

– dla rejestru usług potrzebne są zależności: Web, Eureka Server

– dla gatewaya potrzebne są zależności: Spring Cloud Gateway, Eureka Discovery

– dla usługi nr 1 potrzebne są zależności: Web, Eureka Discovery

– dla usługi nr 2 potrzebne są zależności: Eureka Discovery, Flyway, H2

 Kod powinien być udostępniony na GitHub’ie lub innym repozytorium. Zmiany najlepiej wprowadzić na gałęzi innej niż master i stworzyć Pull/Merge Request’a do master’a.

Łatwe czy trudne? A Wy z jakimi zadaniami się spotkaliście? A jak wygląda cały proces rekrutacyjny dowiesz się z ebooka IT-sektor marzeń! Zapraszam!

Dzień pracy..specjalisty helpdesk/IT support

Dziś zapraszam na kolejny post z serii Dzień pracy! Praca w dziale helpdesk/IT support to niezwykle ważne zadanie, które wymaga zarówno technicznej wiedzy, jak i umiejętności obsługi klienta. Pracownik helpdesk jest często

Czytaj więcej »

Dodaj komentarz