Java
Եկեք փորձենք ավելի պարզ խնդիր՝ ինչպես հաշվել, թե քանի մարդ է զանգահարել որոշակի ծառայություն մեկ օրվա ընթացքում։
Ինչպես կառուցվեց պատասխանատվության վերտիկալը թիմում: Ով էր պատասխանատու ժամկետների համար?
Ի՞նչ է այս իրականացման հիմնական խնդիրն - կայուն թելային պուլը արդյունավետ չօգտագործելը - ընդհանուր ռեսուրսների փոխազդեցության խնդիրներ - սխալ փակման ներառումը կարող է հանգեցնել deadlock-ի: - սխալ սինխրոնիզացիայի մակարդակ - արդյունքի առաջ բոլոր թելերի ստուգումներ չկան - բացակայում է հստակ կոնստրուկտոր Կոդ: import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class RecyclingBinCounter { private int binCount; private final ReentrantLock lock = new ReentrantLock(); public void incrementBins() { lock.lock(); try { binCount++; } finally { lock.unlock(); } } public int getBinCount() { return binCount; } } class RecyclingManager { public static void main(String[] args) { RecyclingBinCounter counter = new RecyclingBinCounter(); ExecutorService service = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { service.submit(() -> { for (int j = 0; j < 1000; j++) { counter.incrementBins(); } }); } service.shutdown(); while(!service.isTerminated()) {} System.out.println("Total bins collected: " + counter.getBinCount()); } }
Դու լսել ես Service Discovery ձևի մասին?
Ի՞նչ տարբերություն կա ExecutorService-ի միջոցով և new Thread-ի միջոցով թել ստեղծելու միջև։
Կաֆկա սպառողը կարգավորե՞լ եք: Ի՞նչ կարգավորումներ եք գիտակցում։
Ի՞նչ ռազմավարություններ կան Kafka-ում հաղորդագրությունների առաքման համար (գոնե մեկ անգամ, առավելագույնը մեկ անգամ, հենց մեկ անգամ)։
Աշխատանքում եք արդյոք օգտագործում արհեստական բանականության գործիքներ? Որոնք են դրանք?
Դուք աշխատե՞լ եք ոչ ռելացիոնալ տվյալների բազաների հետ (Redis, Cassandra):
Ի՞նչ է Java-ում նշումը: Ինչպե՞ս կպատմեիք դա մյուս ծրագրավորողին:
Դուք ունե՞ք տվյալների բազայի ինքնուրույն նախագծման փորձ։
Կա՞նք auto-scaling ունեիք: Ինչպե՞ս էր այն կարգավորված։
Ի՞նչ է ներկայացնում Spring Boot Starter-ը: Ինչպե՞ս է աշխատում:
Ինչպե՞ս արգելափակել կամ սինխրոնիզացնել թելերը Java-ում։
ConcurrentHashMap-ը որ հիշողության տարածքում է պահվում: Ինչ կոնտեյներ օգտագործել մետրիկների պահպանում համար?
Սկեդյուլերը վերցնում է գրառումները աղյուսակից, երկու պոդ միաժամանակ վերցրին նույն գրառումը — ինչպես լուծել խնդիրը?
Ինչպես էին մշակվում այն իրավիճակները, երբ ծառայությունը մատչելի չէր?
Որ տրանսպորտային շերտի պրոտոկոլի վրա է աշխատում HTTP?
Կարճ պատմեք [կազմակերպություն] նախագծի մասին — ինչ եք արել այնտեղ?
Որ հավաքածուն ընտրել՝ ArrayList թե LinkedList և ինչու՞։