Sobes.tech

Какво бихте направили, ако предадете своя код на друг екип за тестване и не получите отговор?

Junior — Middle
292

Как правилно да реализирате методите hashCode и equals в клас?

278

В последния ви проект използвахте ли технологии и решения, характерни за системи с високо натоварване?

Middle — Middle+
275

Беше ли изключен или затворен сайтът на Ашан?

Junior — Middle
261

Кой отговаряше за съпровождането и поддръжката на системата за разпределено съхранение на данни?

Junior — Middle
258

В кои ситуации е възможна загуба на данни в Kafka?

Junior — Middle
256

Как да реализираме обработката на изключения в приложения, използващи Spring Framework?

Junior — Middle
256

Къде се разпределят партициите

255

Какво бихте направили в ситуация, когато вашето съобщение за задача в корпоративния чат остане без отговор?

Junior — Middle
255

public class MoneyTransferService { /** * @param fromAccountId уникален идентификатор на потребителя, който прехвърля средства * @param toAccountId уникален идентификатор на потребителя, на когото се прехвърлят средствата * @param amount сума на превода. Положително число */ @Transactional public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Сумата трябва да е положителна"); } 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); } } @Entity @Data public class Account { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private BigDecimal balance; }

253

Как се различават HashMap и ConcurrentHashMap в Java по функционалност и използване в многопоточни сегменти?

253

Коя формула се използва за определяне на броя на брокерите (възлите) при проектирането на отказоустойчив Kafka клъстер?

Middle — Middle+
250

Кои елементи или характеристики на вътрешната структура на HashMap не могат да бъдат променяни след създаването й?

Junior — Middle
247

Как правилно да промените обект, за да може да се използва в колекцията HashMap?

Junior — Middle
243

Можеш ли да дадеш пример за идеята за обръщане на зависимостите в проектирането на софтуерни системи?

Junior — Middle
239

Какви са основните принципи на дизайна на услуги за минимизиране на загубата на данни или ресурси?

Junior — Middle
239

Как механизмите за събиране на отпадъци определят обектите, които трябва да бъдат унищожени?

238

Как е организирана съвместната работа във вашия екип и какви процеси се използват за изпълнение на задачите?

Junior — Middle
233
/11