Sobes.tech

Java

Vai jūsu projektā visi risinājumi un procesi ir dokumentēti un standartizēti?

Junior — Middle
200

Kāda ir jūsu pieredze ar MongoDB izmantošanu projektos?

Junior — Middle
200

Kādās situācijās un kādos apstākļos var notikt datu zudumi Kafka?

199

Kāda ir laika sarežģītība elementa ievietošanai saistītajā sarakstā vidū, ja jums jau ir pilns masīvs?

Junior — Middle
197

Vai jūs varat izskaidrot, kas ir Gson un kā tas darbojas ar laukiem serializācijas un deserializācijas laikā?

Junior — Middle
197

Kādā serverī vai platformā tika veikta lietojumprogrammas izvietošana?

Junior — Middle
197

Kādi problēmas var rasties, ja maināt kolekciju tās pārvietošanas laikā?

Junior — Middle
197

Vai Java valodā jau aizvērtiem datu plūsmām (Streams) ir iespējams vēlreiz izmantot?

Junior — Middle
197

Kādas potenciālas grūtības un ierobežojumi var rasties, izmantojot Kafka sistēmās?

Middle — Middle+
197

Cik grūti ir palielināt ArrayList izmēru, pievienojot katru 1000 elementu?

Junior — Middle
197

Kādas komponentes ietver Kafka arhitektūra un kā tās savstarpēji sadarbojas?

Junior — Middle
196

Kā mērīt datu darba efektivitāti un uz ko tas ietekmē?

Junior — Middle
196

Kādās situācijās ir vēlams izmantot datu struktūru LinkedList, nevis citas kolekcijas?

Junior — Middle
195

Kas jūs motivē apsvērt iespēju mainīt pašreizējo projektu?

Junior — Middle
195

Vai vari nosaukt divus metožu veidus, kas tiek izmantoti Stream API?

Junior — Middle
195

Veiciet līdzekļu pārskaitījumu starp divām kontiem. Ņemiet vērā, ka šis ir ražošanas risinājums Ievades parametri: @param fromAccountId unikāls lietotāja identifikators, kurš veic līdzekļu pārskaitījumu @param toAccountId unikāls lietotāja identifikators, kuram tiek pārskaitīti līdzekļi @param amount pārskaitījuma summa. Pozitīvs skaitlis public void transferMoney(Long fromAccountId, Long toAccountId, BigDecimal amount) { if (amount.compareTo(BigDecimal.ZERO) <= 0) { throw new RuntimeException("Summa jābūt > 0"); } if (fromAccountId.equals(toAccountId)) { throw new RuntimeException("Konts nevar būt tas pats"); } Long firstId = Math.min(fromAccountId, toAccountId); Long secondId = Math.max(fromAccountId, toAccountId); Account first = accountRepository.findByIdForUpdate(firstId) .orElseThrow(() -> new RuntimeException("Konts nav atrasts")); Account second = accountRepository.findByIdForUpdate(secondId) .orElseThrow(() -> new RuntimeException("Konts nav atrasts")); Account from = fromAccountId.equals(firstId) ? first : second; Account to = fromAccountId.equals(firstId) ? second : first; if (from.getBalance().compareTo(amount) < 0) { throw new RuntimeException("Nepietiekams bilance"); } from.setBalance(from.getBalance().subtract(amount)); to.setBalance(to.getBalance().add(amount)); accountRepository.save(to); accountRepository.save(from); }

194
/11