Java
[име] попита: разкажете за себе си и последния си проект, свързан с финанси
Разкажи за CAP теоремата. Какво е и за какво служи?
Разкажи за някаква суперсложна задача, която си решавал дълго време и накрая си решил.
Кой индекс да използвате за търсене в масив varchar в PostgreSQL? Какво представляват BRIN и Bloom индексите?
Какво трябва да се промени в този код, за да бъде реализиран правилно и безопасно за нишки патърнът Singleton? public class Singleton { private static final Singleton instance; public Singleton() { } public Singleton getInstance() { if (instance != null) { synchronized (instance) { if (instance == null) { instance = new Singleton(); } } } return instance; } }
Каква е разликата между rebase и merge в Git?
Какъв е основният проблем на тази реализация - Неефективна употреба на фиксирания пул от нишки - Проблеми с взаимодействието на споделените ресурси - Неправилното включване на блокиране може да доведе до deadlock. - Неправилно ниво на синхронизация - Няма проверки на всички нишки преди резултата - Няма явен конструктор Код: import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class RecyclingBinCounter { private int binCount; private final ReentrantLock lock = new ReentrantLock(); public void incrementBins() { lock.lock(); try { binCount++; } finally { lock.unlock(); } } public int getBinCount() { return binCount; } } class RecyclingManager { public static void main(String[] args) { RecyclingBinCounter counter = new RecyclingBinCounter(); ExecutorService service = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { service.submit(() -> { for (int j = 0; j < 1000; j++) { counter.incrementBins(); } }); } service.shutdown(); while(!service.isTerminated()) {} System.out.println("Total bins collected: " + counter.getBinCount()); } }
Какво е средната алгоритмична сложност? Можеш ли да обясниш и да дадеш примери за алгоритми с различна сложност?
Какво е принципът на Барбара Лисков (LSP)? Можете ли да дадете пример за нарушение?
Какво е PECS и кога да използвате extends/super?
Как да приемете POST заявка с JSON от страната на Spring? Кога се случва преобразуването на JSON в DTO?
Каква е разликата между publishOn и subscribeOn в Reactor?
Какви са readiness и liveness пробите в Kubernetes?
Как да блокираме запис в базата данни, за да не могат други да правят конфликтни промени?
Разкажи ми за видовете гаранции за доставка в Kafka, как се различават и в кои случаи е по-добре да използваш кой.
Колко записа ще бъдат върнати, ако в A има 10 записа, а в B 100 записа при RIGHT JOIN?
Защо решихте да напуснете текущата си работа?
На кои микросервизи да разделим онлайн магазина?
Защо е по-добре да използвате инжектиране чрез конструктор вместо чрез поле (@Autowired)?
Опит с gRPC и REST?