Java
Ինչ քայլեր պետք է ձեռնարկվեն արդեն մշակված նախագծի ծանոթացման ժամանակ:
Ինչպե՞ս եք չափել առաջադրանքների բարդությունը և առաջընթացը ձեր նախորդ աշխատանքի վայրում։
Ինչպե՞ս կարելի է հաշվարկել համակարգի միջին պատասխան ժամանակը։
Ինչպես են իրականացվում և աշխատում ագրեգատային գործողությունները փոփոխականների հետ բազմատողային միջավայրում?
Ի՞նչ է JVM-ի հիմնական գործառույթը և ինչու է դա կարևոր Java ծրագրերի կատարման համար։
Ինչպե՞ս է ավելացվում տարրն HashMap-ին կլիենտների բախման դեպքում:
Որ տեսակի նախագծեր եք առավել հետաքրքիր համարում և ինչու՞։
Ինչպես են տարբեր լինում C# և Java լեզուներում ստեկը մաքուրելու մոտեցումները?
Կաֆկայում իրադարձությունների հերթականությունը կարեւոր էր: Ինչպե՞ս էր ապահովվում:
Դու կարող եք կառավարել և հրապարակել բովանդակություն սոցիալական ցանցերում?
Ի՞նչ փորձ ունեք ծրագրերի հեռակա դեբագերության կարգավորումը։
Ի՞նչ գործիքներ կամ մոտեցումներ եք կիրառել ձեր վերջին նախագծում մետրիկների հավաքագրման և վերլուծության համար։
Ինչպե՞ս որոշել, երբ դասը կամ մոդուլը կատարում է շատ գործառույթներ և խախտում է միակ պատասխանատվության սկզբունքը։
Ի՞նչ փորձառություն ունեք բազմապատկված ծրագրերի և թելերի սինխրոնիզացիայի հետ:
Ի՞նչ է ORM-ի հիմնական գործառույթը ծրագրային ապահովման զարգացման մեջ:
Ինչպե՞ս որոշել, թե որ ինդեքսը պետք է ստեղծել տվյալների բազայի աշխատանքը օպտիմալացնելու համար։
/** * Ինտերֆեյս՝ ավտոմատ դրամապանակի հարդվերի հետ փոխազդեցության համար։ */ 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; } }
Ներկայացրեք, թե ինչ է նշանակում Query Hibernate-ի կոնտեքստում և ինչպես է այն օգտագործվում տվյալներ ստանալու համար։
Ինչ մեթոդներով կարելի է ապահովել երկու Consumer-ների կայունությունը և անընդհատ աշխատանքը, որոնք գրանցված են նույն Topic-ին:
Ի՞նչն է տարբերությունը Aerospike-ի և Redis-ի օգտագործման միջև տվյալների պահպանում և մշակման համատեքստում։