Sobes.tech

Ակտիվ կոդը սինխրոնային գործարքների հետ լավ համատեղելի՞ է։

162

Ինչպես լուծել տվյալների անհամապատասխանության խնդիրը՝ արտաքին զանգը հաջող էր, բայց տվյալների բազայում պահպանումը ձախողվեց։

157

Որ դեպքերում արժե օգտագործել նատիվ SQL հարցումները և որ դեպքերում՝ Hibernate?

156

select name from employee group by name having COUNT(DISTINCT lang) >= 2;

156

/** * Ինտերֆեյս՝ ավտոմատ դրամապանակի հարդվերի հետ փոխազդեցության համար։ */ interface Hardware { /** * Վերադարձնում է զանգված, որը պարունակում է տպավորությունների քանակը ըստ անվանական արժեքների 50, 100, 500, 1000, 5000: * մեթոդը աշխատում է դանդաղ և ստեղծում աղմուկ: * * @return զանգված, որտեղ յուրաքանչյուր տարր համապատասխանում է որոշակի անվանական արժեքի տպավորությունների քանակին: * Օրինակ, [10, 20, 30, 40, 50] նշանակում է՝ * - 50 ռուբլի արժեքով 10 տպավորություն * - 100 ռուբլի արժեքով 20 տպավորություն * - 500 ռուբլի արժեքով 30 տպավորություն * - 1000 ռուբլի արժեքով 40 տպավորություն * - 5000 ռուբլի արժեքով 50 տպավորություն */ int[] getBillsCounts(); /** * Լիցքավորում է նշված տպավորությունները ելքային տուփում: * * @param billsCounts զանգված, որը պարունակում է տպավորությունների քանակը ըստ անվանական արժեքների [50, 100, 500, 1000, 5000]: * Օրինակ, [0, 1, 0, 2, 0] նշանակում է՝ * - 0 տպավորություն 50 ռուբլի * - 1 տպավորություն 100 ռուբլի * - 0 տպավորություն 500 ռուբլի * - 2 տպավորություն 1000 ռուբլի * - 0 տպավորություն 5000 ռուբլի */ void giveBills(int[] billsCounts); } /** * Կլաս՝ ավտոմատ դրամապանակի աշխատանքային լոգիկայի իրականացման համար: * Այստեղ պետք է գրել կոդ: */ class MyATM { /** * Հարդվերի մաս: */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }

154

Իմացեք ձեր վերջին նախագծի մասին՝ ինչ եք արել, ինչ խնդիրներ ունեիք, ինչ տեխնոլոգիա եք օգտագործել։

152

Ինչպե՞ս եք գնահատում VK-ի նախաձեռնությունը սեփական տվյալների բազա ստեղծելու վերաբերյալ և ինչպես կգնահատեիք նրա որակը և արդյունավետությունը։

Junior — Middle
152

Ի՞նչ հետևանքներ ունի ObjectMapper- ի ստեղծումը որպես դասի դաշտ (չէին օգտագործում Spring):

145

Ի՞նչ հետաքրքիր առաջադրանքներ էին նախագծում։

135

/** * Մեթոդը հաշվում է, թե թեկնածուն քանի միավոր է վաստակել, * պահպանում է արդյունքը տվյալների բազայում և կանչում է callback արտաքին ծառայությունում */ public void process(Candidate c) { transactionTemplate.executeWithoutResult(status -> { Score s = interviewScoreMLService.compute(c); String body = objectMapper.writeValueAsString(Map.of(c.getName(), s)); Mono<ResponseEntity<Void>> request = WebClient.create() .post() .body(BodyInserters.fromValue(body)) .retrieve() .toBodilessEntity(); scoreRepository.saveScore(s); }); }

134

Ի՞նչ թերություններ ունեն բանկոմատին համար իրականացված լուծումը։

123
/2