Java
Առաջադրանքը ձևակերպվել է որպես «կրճատել լատենցիան», և արդյոք դուք ինքներդ եք փնտրել լուծումը?
Դու երբևէ հանդես եք եկել ֆունկցիայի առաջնորդի դերում?
Ինչպես է աշխատում Kafka + Redis sorted set + արտաքին պլանավորիչը ուշացված ծանուցումների համար?
Ի՞նչ աղբահանման հավաքողներ (Garbage Collectors) եք գիտեք Java-ում: Կա՞ն առաջարկություններ տարբեր տեսակների օգտագործման համար։
Դու ունե՞ս փորձ AI/ML արտադրանքների հետ աշխատելու։
Ի՞նչն է նախընտրելի շտեկում։
Պատմիր զարգացման գործընթացի մասին (Agile/Scrum): Ինչպե՞ս են գնահատվում առաջադրանքները։
7. Դուք փորձարկում եք նոր ապրանքների ավելացման ձևը ադմինիստրատորական պանելում: Ստեղծում եք նոր ապրանք, սեղմում եք Պահպանել կոճակը և տեսնում եք սպիտակ դատարկ էկրան: Նշեք ձեր հետագա գործողությունները։
Ի՞նչ են Stream API-ում երկու հիմնական գործառույթների տեսակները։
Դու երբևէ աշխատե՞լ ես Spring Data և Hibernate-ով: Որոնք են եղել կատարողական խնդիրները, որոնք լուծել ես?
Ներկայացրեք օրինակ, երբ միկրոսերվիսային ճարտարապետությունը օգտագործելու կարիք չկա և նշեք մի քանի պատճառներ։
Իստիոն ի՞նչ գործառույթների համար է հարմար:
Կատարեք LRU կեշ՝ հնացած արժեքների արտաքսմամբ (հիմնական իրականացում)
Ի՞նչ Kafka թեմաներ կլինեն հաշվետվության համակարգում, ով արտադրում է և ով սպառում է:
Գրեք SQL հարցում՝ ընտրեք բոլոր գրքերի վերնագրերը, որոնցում ավելի քան երեք հեղինակ կա։
Կարո՞ղ է օգտագործել volatile երկար փոփոխականի համար և որ դեպքերում դա անվտանգ է։
/** * Ինտերֆեյս՝ ավտոմատ դրամապանակի հարդվերի հետ փոխազդեցության համար։ */ 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; } }
Երբ պետք է կիրառել Dependency Inversion սկզբունքը և երբ ոչ (կապ YAGNI-ի հետ)
Ի՞նչ scope-ներ կան Spring-ում: Ի՞նչ է singleton scope-ը։
Պատմիր CAP տեսության մասին: Ի՞նչ է դա և ինչու է դա անհրաժեշտ: