Java HR: ściąga na rozmowę rekrutacyjną

Java HR: ściąga na rozmowę rekrutacyjną

Pierwszy post na blogu postanowiłem poświęcić na najbardziej podstawowe informacje dotyczące tego, czym zajmuję się zawodowo i co znam z technologii w największym stopniu – Javy (przede wszystkim w wersji 8).
Właściwie będzie to raczej wpis agregujący właściwe artykuły dotyczące poszczególnych zagadnień, w postaci aktualizowanej na bieżąco listy pytań z rozmów rekrutacyjnych i prawidłowych odpowiedzi.

Dla jednych może to być forma wprowadzenia w programowanie ogółem, dla innych pomoc przy zajęciach z pierwszego semestru na studiach, ale piszę to też dla takich osób jak ja – jako ściągawkę do odświeżenia sobie pamięci przed rozmową rekrutacyjną. Zwłaszcza, że dotyka to często zagadnień na tak podstawowym poziomie, że nie wykorzystujemy tej wiedzy na co dzień w pracy, przez co łatwo jest zapomnieć jak to w teorii działa.
Nie oszukujmy się – jak często jako, przykładowo, programista aplikacji webowych, musimy policzyć złożoność obliczeniową algorytmu korzystając z notacji big-O?
Albo jak często przy tego typu pracy użyjemy metody finalize()? A są to jedne z częstszych pytań, z jakimi trzeba się zmierzyć przy aplikowaniu na takie właśnie stanowisko. Dlatego nawet pracując wiele miesięcy dokładnie w tych samych technologiach, jakich będziemy używać w nowej pracy, bez wcześniejszego przygotowania wciąż można mieć problem z odpowiedzią na niektóre pytania.
 

Pytania zgromadziłem z własnego doświadczenia, głównie z wakacji w 2017 r. gdy odbyłem we Wrocławiu kilkanaście rozmów rekrutacyjnych na stanowisko Junior Java Developer. Oczywiście niekoniecznie muszą one dotyczyć samego języka – jako programista Javy, a właściwie jako jakikolwiek programista, powinno się znać też ogólne wzorce programistyczne i architektoniczne, a także technologie poboczne, ale wykorzystywane na podobnym stanowisku w prawie każdym przypadku – takie jak Spring, SQL czy jakiś inny HTML i CSS.

Wiele z nich powtarzało się wielokrotnie, na różnych rozmowach, dlatego należy na nie zwrócić szczególną uwagę i opanować je w największym stopniu – te zagadnienia pogrubiłem na mojej liście.
W przyszłości lista będzie rozszerzana o kolejne pytania, wraz z nabywaniem nowego doświadczenia w tym zakresie, być może dodam też najpopularniejsze pytania znalezione w internecie. Zależy mi przede wszystkim na tym, żeby były one realne i aktualne, takie których faktycznie można się w praktyce spodziewać w czasie procesu rekrutacji.

Należy jednocześnie zaznaczyć, że nie będę się zbytnio pochylać nad każdym zagadnieniem, kompleksowo opisując wszystko co się da na jego temat – takich artykułów jest już w internecie całe mnóstwo. Nie zawsze jednak ma się ochotę na czytanie wielkich ścian tekstu. Dla osoby początkującej nieraz wystarczy powierzchowne i skrótowe zrozumienie tematu, tak aby nie utopić się w oceanie nowych informacji. Natomiast dla osoby bardziej zaawansowanej, taki format swoistego cheatsheetu pozwoli na szybkie odświeżenie pamięci, skoro pełniejszą wiedzę posiadła już wcześniej.
 

W opracowaniu niniejszych zagadnień opierałem się w dużym stopniu na takich tytułach jak Java w pigułce, wydanie VI (Benjamin J Evans, David Flanagan) oraz Java 8. Przewodnik doświadczonego programisty (Cay S. Horstmann)

Java:

Java 8:

Architektura:

  • Metodologia SOLID
  • Wzorce projektowe: Fabryka i fabryka abstrakcyjna
  • Wzorce projektowe: Singleton
  • Wzorce projektowe: Budowniczy
  • Wzorce projektowe: pozostałe
  • Inversion of Control
  • MVC
  • Notacja Big-O
  • Wątek vs proces
  • Metody testowania oprogramowania
  • Mockowanie w testach

Web:

  • SOAP vs REST
  • HTTP vs HTTPS
  • Wstrzykiwanie zależności – różne sposoby
  • Co pojawiło się nowego w HTML5?

SQL:

  • Podstawy SQL
  • SQL: wyzwalacze (triggery)
  • SQL: join i jego wszystkie rodzaje

Jeśli macie przykłady innych pytań, z którymi mieliście do czynienia na rozmowach, będę wdzięczny za każdą taką propozycję w komentarzu 🙂

Informatyk, programista. Obecnie Java Developer (Web Fullstack), właściciel studia Berrygames oraz prezes koła TK Games na Politechnice Wrocławskiej.

Wszystkie artykuły autora>>

4 komentarze do “Java HR: ściąga na rozmowę rekrutacyjną”:

    1. Dzięki za sugestię 🙂 Dodałem te rzeczy do listy i opiszę je w najbliższym czasie. Dodałem je wszystkie razem z UNION do „Podstawy SQL”, a triggery opiszę w osobnym artykule, bo wymagają szerszego omówienia.

    1. Hej 🙂
      Tak, kilka z nich jest już nawet prawie ukończonych, musiałem jednak na jakiś czas wstrzymać publikację na blogu, ze względu na zbliżające się wydanie naszej kolejnej gry.
      Niemniej jednak w lutym na pewno pojawi się jakiś nowy artykuł, dzięki za zainteresowanie.

Dodaj komentarz