Java
Czym są generyki i do czego służą?
Jaka jest różnica między metodą fabryczną (wzorzec) a klasą fabryczną?
Jak technicznie realizowana jest weryfikacja duplikatów — osobny proces sprawdzania przed wstawieniem czy coś innego?
Jak klientom sygnalizuje się, że występuje problem z obliczeniami?
Jakie mechanizmy należy wdrożyć w systemie Mission Critical? Jak osiągnąć odporność na awarie?
Pytanie sytuacyjne: zespół produktowy chce zrobić integrację przez db-link z bezpośrednimi SELECT-ami zamiast normalnego adaptera. Jakie będą Twoje działania?
Jak wprowadzaliście zmiany w bazie danych na produkcji? Czy używaliście Liquibase?
Jaki jest cykl życia beana Spring?
Jest backend i interfejs użytkownika. Stos technologiczny jest standardowy: Java, Spring, React, Postgres. Zadanie: Zaprojektować punkt końcowy REST, który musi pobrać dane z 3 źródeł i zwrócić je do UI, zapewniając maksymalną możliwą przepustowość i minimalny możliwy czas odpowiedzi (kryteria maksymalne/minimalne w oparciu o nasze konkretne warunki, ponieważ w zasadzie nie ma magicznego rozwiązania i trzeba znaleźć kompromis). Wiadomo, że oczekiwany szczyt RPS dla tego punktu końcowego wyniesie 200. Znane szczegóły dotyczące źródeł: 1. Źródło - nasza baza danych, zapytanie trwa około 15 sekund. 2. Źródło - powiązana usługa REST, degraduje do 2 minut przy 100 RPS, w trybie normalnym odpowiedź w ciągu 5 sekund. Nie możemy zmienić zachowania tego źródła. 3. Źródło - powiązana usługa REST, odpowiada losowo (nie udało się ustalić żadnych wzorców) z błędami 503, w trybie normalnym odpowiedź w 10 sekund. Nie możemy zmienić zachowania tego źródła.
Na podstawie jakich wskaźników zdecydowałeś, że zadanie wymaga włożonych wysiłków?
Jaka jest różnica między adnotacjami @Service i @Component w Spring?
Jak były zorganizowane Twoje procesy rozwoju w poprzednim miejscu pracy? Jak trafiały zadania?
Jak wygląda wdrożenie na produkcji? Jak jest zorganizowany CI/CD?
Ile było RPS na szczycie? Ile zarejestrowano?
Czy używałeś Kilo Code w IntelliJ IDEA podczas zadań służbowych?
Pojawiło się drugie źródło zdarzeń (drugi temat Kafka), które również zmienia ranking postów. Co robić?
W jakiej dzielnicy mieszkasz?
Zadanie zostało sformułowane jako "zmniejszenie opóźnienia", a czy sam szukałeś rozwiązania?
Dlaczego w projekcie zastosowano dwóch brokerów wiadomości — Kafka i RabbitMQ?
//Dany jest tablica liczb, w której wszystkie liczby oprócz jednej mają parę, //znajdź liczbę, która występuje tylko raz // <= [1, 0, 3, -2, 9, 9, 1, -2, 0] // => 3 int find(int[] arr){ //TODO }