Java
Jakie działania należy podjąć na początku podczas zapoznawania się z już opracowanym projektem?
Jak mierzyłeś trudność i postęp w wykonywaniu zadań w swojej poprzedniej pracy?
Jak można obliczyć średni czas odpowiedzi systemu?
Jak są implementowane i jak działają operacje atomowe na zmiennych w środowisku wielowątkowym?
Jaka jest główna funkcja JVM i dlaczego jest ważna dla uruchamiania programów Java?
Jak dodawany jest element do HashMap w przypadku kolizji kluczy?
Jakie typy projektów najbardziej Cię interesują i dlaczego?
Czym różnią się podejścia do czyszczenia stosu w językach C# i Java?
Czy kolejność zdarzeń w Kafka była ważna? Jak była zapewniana?
Czy potrafisz zarządzać i publikować treści w mediach społecznościowych?
Jakie masz doświadczenie w konfiguracji zdalnego debugowania aplikacji?
Jakie narzędzia lub podejścia stosowałeś do zbierania i analizy metryk w swoim ostatnim projekcie?
Jak określić, kiedy klasa lub moduł wykonuje zbyt wiele funkcji i narusza zasadę pojedynczej odpowiedzialności?
Jakie masz doświadczenie z programami wielowątkowymi i synchronizacją wątków?
Jaka jest główna funkcja ORM w rozwoju oprogramowania?
Jak określić, jaki indeks należy utworzyć, aby zoptymalizować działanie bazy danych?
/** * Interfejs do komunikacji z hardware'em bankomatu. */ interface Hardware { /** * Zwraca tablicę z ilością banknotów według nominałów 50, 100, 500, 1000, 5000. * Metoda działa wolno i generuje hałas. * * @return tablica, gdzie każdy element odpowiada ilości banknotów danego nominału. * Na przykład, [10, 20, 30, 40, 50] oznacza: * - 10 banknotów o nominale 50 * - 20 banknotów o nominale 100 * - 30 banknotów o nominale 500 * - 40 banknotów o nominale 1000 * - 50 banknotów o nominale 5000 */ int[] getBillsCounts(); /** * Ładuje do wyjścia wskazane banknoty. * * @param billsCounts tablica z ilością banknotów według nominałów [50, 100, 500, 1000, 5000]. * Na przykład, [0, 1, 0, 2, 0] oznacza: * - 0 banknotów o nominale 50 * - 1 banknot o nominale 100 * - 0 banknotów o nominale 500 * - 2 banknoty o nominale 1000 * - 0 banknotów o nominale 5000 */ void giveBills(int[] billsCounts); } /** * Klasa do implementacji logiki bankomatu. * Tutaj należy napisać kod */ class MyATM { /** * Hardware bankomatu. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }
Wyjaśnij, co oznacza Query w kontekście Hibernate i jak jest używana do pobierania danych.
Jakie metody można zastosować, aby zagwarantować stabilność i ciągłość działania dwóch Consumerów subskrybowanych na ten sam Topic?
Czym różni się użycie Aerospike od Redis w kontekście przechowywania i przetwarzania danych?