Какво може да се обърка с HashMap, ако всички ключове имат еднакъв хеш-код? Защо търсенето ще се забави?
Java
Посочете проблема, който може да възникне в многонишково приложение. Разкажете за Race Condition.
Въпрос 1. Какви типове данни не могат да се използват като ключове в HashMap? - Масиви - Атомики (AtomicBoolean, AtomicInteger и др.) - Примитиви - Референции
Въпрос 7. Има услуга ExampleService (виж фигурата). Ако външна услуга извиква последователно методите: exampleService.getCityFromCache(100000); exampleService.getCity(100000); Колко пъти ще се извика CityDao::getCity, ако кешът е празен? @Component @RequiredArgsConstructor public class ExampleService { private final CityDao dao; @Cacheable public String getCityFromCache(int index) { return dao.getCity(index); } public String getCity(int index) { return getCityFromCache(index); } } 0 1 2 Зависи от реализацията на CacheManager
Въпрос 6. В топик Kafka се поставят 10 съобщения, и двама потребители с различни групи потребители четат от топика. Колко съобщения счита всеки потребител? 5 10 Зависи от броя на партициите в топика Зависи от стойността на replicationFactor
Как да се защитите от мутации във вътрешния списък чрез външна препратка (защитно копие в конструктора)?
По какви начини може да се направи дълбока копие на обект?
Възможно ли е да се реализира hashCode, който винаги връща различни стойности за различни обекти (без колизии)?
Въпрос 3. Какво може да се обърка, ако полето на ключовия обект, използвано за изчисляване на hashCode, бъде променено след вмъкване в HashMap? - Търсенето по ключ ще върне грешния обект - Търсенето по ключ ще се забави - Търсенето по ключ няма да върне обект
Как да решите проблема с дълбокото копиране (мутация на самите елементи на списъка чрез AtomicInteger.incrementAndGet)?
Въпрос 2. Какво може да се обърка с HashMap, ако всички ключове имат еднакъв hashCode? - Търсенето по ключ няма да върне правилния обект - Търсенето по ключ ще се забави - Търсенето по ключ няма да върне никакъв обект
Как да се защитим от наследяване и презаписване на гетъра (за да не може колега да override-не гетъра и да премахне защитното копие)?
Какви са предимствата на монолитната архитектура?
Може ли да използвате масив като ключ в HashMap? Защо е лоша идея?
Какви инструменти за синхронизация има в Java?
Къде още е удобно да се използват неизменяеми обекти, освен в ключовете на HashMap?
Какво е JIT компилация? - Компилиране на кода в jar файл - Компилиране на байткода в машинен код директно по време на изпълнение на програмата - Компилиране на JavaScript в машинен код за оптимизация на производителността - Компилиране на проекта в git pipeline
SELECT fio, position, salary FROM users WHERE salary = (SELECT MAX(salary) FROM users WHERE position = users.position);
Какви са критериите за започване на разделянето на монолит на микросервизи?
Защо решихте да напуснете текущата си работа?