Java
Úloha bola formulovaná ako "zníženie latencie" a či ste riešenie hľadali sami?
Boli ste niekedy vedúcim tímu?
Ako funguje spojenie Kafka + Redis zoradený set + externý plánovač pre oneskorené oznámenia?
Ktorých zberačov odpadkov (Garbage Collectors) poznáte v Jave? Existujú odporúčania pre používanie rôznych typov?
Máš skúsenosti s produktmi AI/ML?
Čo je preferovanejšie z hľadiska zásobníka?
Povedz mi o procese vývoja (Agile/Scrum). Ako sa hodnotia úlohy?
7. Testujete formulár na pridávanie nových produktov v administrátorskom paneli. Vytvoríte nový produkt, kliknete na tlačidlo Uložiť a vidíte prázdnu bielu obrazovku. Opíšte svoje ďalšie kroky.
Aké sú dva hlavné typy operácií v Stream API?
Pracoval ste niekedy so Spring Data a Hibernate? Aké problémy s výkonom ste riešili?
Uveďte príklad, kedy nie je potrebné používať mikroservisnú architektúru, a uveďte niekoľko dôvodov.
Na aké úlohy by bol vhodný Istio?
Implementujte LRU cache s vyraďovaním starých hodnôt (základná implementácia)
Ktoré Kafka témy budú v systéme správy, kto ich produkuje a kto ich konzumuje?
Napíšte SQL dopyt: vyberte názvy všetkých kníh, ktoré majú viac ako troch autorov.
Je možné použiť volatile pre premennú long a v akých scenároch je to bezpečné?
/** * Rozhranie na interakciu s hardvérom bankomatu. */ interface Hardware { /** * Vráti pole s počtom bankoviek podľa nominálov 50, 100, 500, 1000, 5000. * Metóda funguje pomaly a vytvára hluk. * * @return pole, kde každý prvok zodpovedá počtu bankoviek určitého nominálu. * Napríklad, [10, 20, 30, 40, 50] znamená: * - 10 bankoviek od 50 rubľov * - 20 bankoviek od 100 rubľov * - 30 bankoviek od 500 rubľov * - 40 bankoviek od 1000 rubľov * - 50 bankoviek od 5000 rubľov */ int[] getBillsCounts(); /** * Nahráva do výstupného boxu uvedené bankovky. * * @param billsCounts pole s počtom bankoviek podľa nominálov [50, 100, 500, 1000, 5000]. * Napríklad, [0, 1, 0, 2, 0] znamená: * - 0 bankoviek 50 * - 1 bankovku 100 * - 0 bankoviek 500 * - 2 bankovky 1000 * - 0 bankoviek 5000 */ void giveBills(int[] billsCounts); } /** * Trieda na implementáciu logiky bankomatu. * Tu je potrebné napísať kód */ class MyATM { /** * Hardvér bankomatu. */ 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; } }
Kedy je potrebné uplatniť princíp Dependency Inversion a kedy nie (súvislosť s YAGNI)
Aké scope sú v Springu? Čo je singleton scope?
Povedz mi o CAP vete. Čo je to a na čo slúži?