Przygotowanie do rozmowy rekrutacyjnej ma ogromne znaczenie zarówno dla hiring managerów, jak i kandydatów. Hiring managerowie muszą przygotować zaawansowane pytania rekrutacyjne z Javy, aby w pełni ocenić wiedzę techniczną kandydata. Z drugiej strony kandydaci również powinni przed rozmową powtórzyć podstawy, aby w pełni pokazać swój potencjał.
Aby ułatwić życie obu stronom, postanowiliśmy przygotować listę pytań i odpowiedzi rekrutacyjnych z Javy, która w pełni odsłoni poziom umiejętności kandydata.
01
Niezależność Javy od platformy oznacza, że ten język programowania może działać na różnych platformach i systemach operacyjnych bez żadnych zmian, co jest możliwe dzięki bytecode'owi. Oryginalny kod Javy jest kompilowany do bytecode'u, aby dostosować go do konkretnej maszyny. Bytecode trafia do Java Virtual Machine (w skrócie JYM), która znajduje się w pamięci RAM dowolnego systemu. JYM wykrywa bytecode i przekształca go w natywny kod maszynowy.
02
RDBMS to skrót od Relational Data Base Management System, czyli systemu zarządzania bazą danych opartego na modelu relacyjnym. Obejmuje wiele tabel, z których każda ma własny klucz główny, i służy do przechowywania danych w kolumnach i wierszach. Typowe przykłady RDBMS to systemy takie jak SQL, MS SQL Server, IBM DB2, ORACLE, My-SQL, Microsoft Access i inne.
03
Modyfikatory dostępu (ang. access specifiers lub access modifiers) to konkretne słowa kluczowe używane przed nazwą klasy, które określają zakres dostępu. Służą przede wszystkim do definiowania widoczności klas, zmiennych, interfejsów, konstruktorów, metod itd. W Javie są 4 rodzaje modyfikatorów dostępu:
04
Pętla w Javie powtarza sekwencję instrukcji, dopóki nie zostanie spełniony określony warunek. W Javie są trzy rodzaje pętli: for, while i do-while.
05
Iteratory fail-fast działają bezpośrednio na kolekcji, co oznacza, że kończą się błędem, gdy tylko definicja kolekcji zmieni się w trakcie iteracji.
W przeciwieństwie do poprzednich iteratory fail-safe działają bezpośrednio na kopii kolekcji, więc nie rzucają żadnego wyjątku, jeśli kolekcja zmieni się w trakcie iteracji.
06
MVC (znany też jako Model-View-Controller) to narzędzie projektowania aplikacji, które dzieli aplikację na 3 części:
07
Core Java to ogólne określenie stosowane przez Sun Microsystems na podstawową edycję Javy (J2SE), na bazie której powstały pozostałe edycje. Core Java służy głównie do budowy aplikacji desktopowych i serwerowych, przede wszystkim dzięki zaletom szybkiego i bardzo bezpiecznego języka.
08
Ponieważ Java to konkretne środowisko dla języka programowania, istnieją 4 różne rodzaje platform:
09
Główna różnica między zmiennymi transient a volatile polega na tym, że zmienne transient służą do zapobiegania serializacji, a zmienne volatile zapewniają alternatywną synchronizację w Javie.
10
ClassNotFoundException to wyjątek występujący wtedy, gdy pliku klasy dla żądanej klasy nie da się znaleźć na classpathie.
NoClassDefFoundError to błąd występujący wtedy, gdy plik klasy istniał w czasie wykonania, ale z jakiegoś powodu nie dało się go zamienić w definicję klasy.
01
‘sleep ( )’ to operacja blokująca, która utrzymuje monitor lub blokadę na współdzielonym obiekcie przez określoną liczbę milisekund i jest zwykle używana do odpytywania lub śledzenia wyników w ustalonym czasie.
‘wait ( )’ wstrzymuje wątek na określony czas albo do momentu otrzymania zgody od innego wątku, bez blokowania współdzielonego obiektu i bez trzymania monitora.
02
Blok ‘finally’ stosuje się głównie do umieszczania ważnego kodu, na przykład kodu sprzątającego, gdy trzeba zamknąć plik lub połączenie. Blok ‘finally’ wykonuje się, gdy wyjątek zostanie rzucony z bloku ‘try’, który nie ma bloku ‘catch’. Wykonuje się nawet wtedy, gdy wyjątek zostanie rzucony lub przekazany do wywołującego bloku kodu.
03
ClassLoader to "najgłębszy" mechanizm w Javie, który pozwala ingerować praktycznie w rdzeń Java Virtual Machine (JVM), pozostając w ramach programowania w Javie. ClassLoader zapewnia ładowanie klas z lokalnego systemu plików, zdalnego systemu plików lub z sieci.
W Javie są 3 rodzaje ClassLoaderów:
04
Tak, ponieważ enumy reprezentują zbiór stałych, czyli niezmiennych zmiennych albo zmiennych final, co gwarantuje, że w JVM będzie istniał tylko jeden egzemplarz danej stałej. Mają ścisłą kontrolę instancji, która pozwala porównywać je operatorem ==. Co więcej, operator ‘==’ zapewnia bezpieczeństwo zarówno w czasie kompilacji, jak i wykonania.
05
Kompozycja w Javie oznacza ponowne wykorzystanie kodu. Zasadniczo kompozycję stosuje się jako relację typu część-całość albo ‘ma’, która pomaga zapewnić ponowne użycie kodu w programie. Innymi słowy, to technika, która pomaga opisać powiązanie między dwiema lub więcej klasami. Kompozycję między dwoma bytami uznaje się za zrealizowaną, gdy obiekt zawiera obiekt złożony, a ten ostatni może istnieć wewnątrz innego bytu.
06
Static import to metoda stosowana w procesie wytwarzania oprogramowania w Javie, która pozwala używać w kodzie różnych składowych (takich jak pola i metody) o zasięgu public static w ich klasach bez wskazywania dokładnej klasy, w której zdefiniowano dane pole. Ta metoda poprawia czytelność kodu i daje bezpośredni dostęp do składowych statycznych.
07
Przeciążanie metod w Javie to mechanizm, który pozwala klasie mieć więcej niż jedną metodę o tej samej nazwie, jeśli różnią się one listami argumentów. Ma pewne cechy wspólne z przeciążaniem konstruktorów. Metodę można przeciążyć na 3 sposoby:
08
Nadpisywanie metod w Javie to mechanizm, który pozwala podklasie lub klasie potomnej dostarczyć własną implementację metody zaimplementowanej wcześniej w jednej z jej nadklas lub klas rodzicielskich. Jedną z zalet tego rozwiązania jest to, że pomaga zdefiniować zachowanie typowe dla danej klasy, dzięki czemu podklasa może korzystać z metody klasy rodzicielskiej odpowiednio do swojego typu.
09
Słowo kluczowe final określa byt, któremu wartość można przypisać tylko raz i którego nie da się później zmienić. Po ustawieniu nie może już zmienić swojej wartości, na przykład w funkcjach. Bytem zdefiniowanym słowem kluczowym final może być zmienna, klasa, metoda itd.
10
Koncepcje OOP oznaczają programowanie obiektowe w Javie i obejmują następujące elementy: klasę, obiekt, hermetyzację, dziedziczenie, polimorfizm i abstrakcję. Wszystkie one pomagają zapewnić ponowne użycie kodu, bezpieczeństwo i elastyczność aplikacji oraz pozwalają programistom tworzyć działające metody i zmienne, a potem wykorzystywać je w całości lub w części bez narażania bezpieczeństwa systemu.
01
Nie da się zbudować statycznej klasy zewnętrznej, ale możesz uzyskać podobne działanie w kolejnych krokach:
02
HashMap jest zbudowana w oparciu o strukturę danych typu tablica haszująca. Zasadniczo korzysta z metody ‘hashCode ( )’, aby obliczyć kod haszujący i znaleźć położenie kubełka w tablicy bazowej, oraz z metody ‘equals ( )’, aby w razie kolizji odnaleźć obiekt w tym samym kubełku.
03
Java Runtime Environment (znane też jako JRE) to Java Virtual Machine (czyli JVM), środowisko programistyczne, w którym wykonywane są programy w Javie. Obejmuje też wtyczki do przeglądarek służące do zaawansowanego uruchamiania apletów.
Java Development Kit (znany też jako JDK) to znacznie bardziej złożony, pełny zestaw narzędzi programistycznych dla języka Java, który zawiera JRE, różne kompilatory oraz szereg narzędzi (na przykład JavaDoc czy Java Debugger). JDK służy do tworzenia, kompilowania i uruchamiania różnych aplikacji w Javie.
04
Spring beans to obiekty, które stanowią fundament Twojej aplikacji i są zarządzane przez kontener Spring IoC. Tak zwany „bean” to obiekt, który jest tworzony, składany i zarządzany w dowolny możliwy sposób przez kontener Spring IoC. Spring beans powstają na podstawie metadanych konfiguracyjnych dostarczonych do kontenera.
Na przykład ich definicje możesz spotkać w formie XML:
<bean/>
05
Ogólnie rzecz biorąc, application context ma podobną definicję do bean factory. Ładuje definicje beanów, łączy je ze sobą i udostępnia w razie potrzeby. Zapewnia też ogólny sposób ładowania zasobów plikowych, przekazuje konkretne zdarzenia beanom zdefiniowanym jako listenery oraz udostępnia mechanizmy rozwiązywania komunikatów tekstowych w różnych językach.
06
JDBC (znane też jako Java Database Connectivity) to API Javy odpowiedzialne za połączenie z bazą danych, wysyłanie zapytań i poleceń oraz odbieranie zestawów wyników przetworzonych przez bazę. Zasadniczo pozwala programistom przełączać się między bazami danych bez zagłębiania się w specyficzne cechy konkretnej bazy.
07
Kontrolery frameworka Spring MVC dają dostęp do zachowania aplikacji, które programiści zwykle definiują poprzez interfejs serwisowy. Analizują zapytanie użytkownika i przekształcają je w konkretny model, który użytkownik może odebrać poprzez komponent widoku. Kontrolery w Springu są implementowane wyłącznie w sposób abstrakcyjny, dzięki czemu programiści mogą tworzyć bardzo różne kontrolery.
08
Metody ‘repaint ( )’, ‘revalidate ( )’ i ‘invalidate ( )’ to jedyne, których można bezpiecznie używać w Java Swing. Nie muszą wykonywać się w wątku AWT (czyli w wątku obsługi zdarzeń). I odwrotnie - pozostałe metody Java Swing mogą łatwo wpłynąć na stan komponentu i muszą wykonywać się w wątku obsługi zdarzeń.
09
Obie metody są jedynie sugestią dla JVM, aby uruchomić odśmiecanie pamięci. To jednak JVM decyduje, czy zacznie zbieranie od razu, czy później.
10
CI to praktyka DevOps stosowana w wytwarzaniu oprogramowania, która polega na scalaniu zmian w kodzie wprowadzanych przez różnych programistów w centralnym repozytorium, aby uruchamiać automatyczne buildy i testy. CI powinno budować kod wiele razy dziennie, aby na czas wykryć każdy problem i ustalić jego przyczynę.
W naszej sieci talentów są setki sprawdzonych w boju ekspertów od tworzenia oprogramowania.
Jesteś programistą Java i szukasz świetnych projektów? Dołącz jako Talent
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści