Java
Aké počiatočné kroky je potrebné podniknúť pri zoznamovaní sa s už vyvinutým projektom?
Ako ste merili zložitosť a napredok pri vykonávaní úloh na vašom predchádzajúcom pracovisku?
Ako vypočítať priemerný čas odozvy systému?
Ako sa implementujú a fungujú atómové operácie s premennými v viacvláknovej prostredí?
Aká je hlavná funkcia JVM a prečo je dôležitá pre spustenie Java programov?
Ako sa pridáva prvok do HashMap pri kolízii kľúčov?
Aké typy projektov vás najviac zaujímajú a prečo?
Aké sú rozdiely v prístupoch k vyčisteniu zásobníka v jazykoch C# a Java?
Bol v Kafka dôležitý poradí udalostí? Ako sa zabezpečovalo?
Vieš riadiť a publikovať obsah na sociálnych sieťach?
Aké máte skúsenosti s nastavovaním vzdialeného ladenia aplikácií?
Aké nástroje alebo prístupy ste použili na zber a analýzu metrík vo vašom poslednom projekte?
Ako určiť, kedy trieda alebo modul vykonáva príliš veľa funkcií a porušuje princíp jednotnej zodpovednosti?
Aké máte skúsenosti s viacvláknovými programami a synchronizáciou vlákien?
Aká je hlavná funkcia ORM vo vývoji softvéru?
Ako určiť, ktorý index by mal byť vytvorený na optimalizáciu výkonu databázy?
/** * 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; } }
Vysvetlite, čo sa rozumie pod Query v kontexte Hibernate a ako sa používa na získanie údajov.
Akými metódami možno zabezpečiť stabilitu a nepretržitú prevádzku dvoch Consumerov prihlásených na jeden Topic?
Aký je rozdiel medzi používaním Aerospike a Redis v kontexte ukladania a spracovania dát?