Каква е времевата сложност при вмъкване на елемент в средата на свързан списък, ако вече имате запълнен масив?
Java
В кои случаи и при какви условия могат да се случат загуби на данни в Kafka?
Какви потенциални трудности и ограничения могат да възникнат при използването на Kafka в системи?
Можеш ли да назовеш два вида методи, използвани в Stream API?
Какво ви мотивира да обмислите възможността за смяна на текущия проект?
Какво влияе върху времевите разходи при добавяне на елемент в края на свързан списък?
Имали ли сте опит с фреймуърка Spring за разработка на приложения?
Каква е ролята и предназначението на функционалните интерфейси в програмирането?
Реализирайте прехвърляне на средства между две сметки. Имайте предвид, че това е решение за производство Входни параметри: @param fromAccountId уникален идентификатор на потребителя, който прехвърля средства @param toAccountId уникален идентификатор на потребителя, на когото се прехвърлят средствата @param amount сума на прехвърлянето. Положително число public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Сумата трябва да е > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Сметката не може да е същата"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Сметка не е намерена")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Сметка не е намерена")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Недостатъчен баланс"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }
Можете ли да обясните какво е пул потокове ForkJoin и как работи?
Как е организирано съхранението и разпределението на данни в Kafka?
Кои методи позволяват да се осигури отказоустойчивост на услугата и нейното бързо възстановяване без нарушаване на работата на цялата система?
Какви компоненти включва архитектурата на Kafka и как взаимодействат помежду си?
Имали ли сте някога опит на несъгласие с техническо или архитектурно решение на екипа? Как постъпихте?
Обяснете какво означава използването на декларативния подход в програмирането и неговите ключови характеристики.
В кои случаи е препоръчително да използвате структурата от данни LinkedList вместо други колекции?
Можете ли да обясните какво означава терминът 'непроменим обект' и какви са неговите ключови характеристики?
Как да измерим ефективността на работата с данни и върху какво влияе?
Какви са предимствата и недостатъците на системата за опашки Kafka?
Разкажете за себе си, опита си и ключовите си постижения.