თქვენი პროექტი განახორციელებს DevOps პრაქტიკებს თუ არსებობს გუნდი, რომელიც ავტომატიზაციისა და ინტეგრაციის პროცესებზე მუშაობს?
Java
რა ცვლილებებს შეიტანდით ბოლო განხორციელებულ პროექტში, იცოდეთ ახლა რაც იცით?
როგორ არის სტრუქტურირებული და განაწილებული თქვენი პროექტის გუნდი?
დაწერეთ ტესტები შეტყობინებების ფილტრაციის სისტემისთვის, გამოიყენეთ JUnit 5 და Mockito, მოიცავს ძირითად სცენარებს: null/ცარიელი შეტანა, ვალიდური შეტყობინება, გამგზავნის ბლოკირება, არხის მიხედვით ფილტრაცია, დუპლიკატების ამოღება.
რა მიმდინარე პროექტებს ან დავალებებს ახორციელებთ ბოლო დროს?
რა არის ოპერაციის დამატება ელემენტის სტეკში დროითი სირთულე?
როგორ განსაზღვრავს მიკროწესვისი, როგორ დაუკავშირდეს სხვა სერვისს პირდაპირი ზარის მიდგომაში?
როგორ განისაზღვრება HashMap მონაცემთა სტრუქტურის get მეთოდის დროითი სირთულე?
შეგიძლიათ ახსნათ, რა არის სისტემაში თრედების ურთიერთშეზღუდვის სიტუაცია?
როგორ შეიძლება ოპტიმიზაცია გაუკეთდეს შეტყობინებების ფილტრაციის სისტემის განხორციელებას?
/* კომპანია სხვა ბიზნესებისთვის მასობრივი შეტყობინებების სერვისს უზრუნველყოფს. პროდუქტის მფლობელმა დაგეგმა შეტყობინებების სორტირების სისტემა, რომელიც მომხმარებლის პრეფერენციებს ითვალისწინებს. ## განმარტებები შეტყობინება: - შეტყობინების ID - შეტყობინების ტიპი (EMAIL, SMS, PUSH) - მიმღები (მომხმარებლის ID) - შეტყობინების ტექსტი მიღებელი შეიძლება ჰქონდეს პრეფერენციების პარამეტრები: - დაშვებული შეტყობინების არხები (ტიპების სია) - დაბლოკილი გამგზავნები (გამგზავნის ID-ების სია) გაგზავნილი შეტყობინებების ისტორია: - მომხმარებელზე გაგზავნილი შეტყობინებების სია ## მნიშვნელოვანი მომხმარებლის პარამეტრები და გაგზავნილი შეტყობინებების ისტორია სხვა სისტემის კომპონენტების მიერ არის მიწოდებული. ამ მონაცემების მისაღებად უნდა შეიმუშაოთ კონტრაქტები. საწყობი განხორციელება არ არის საჭირო. ## დავალება წერეთ შეტყობინებების სორტირების სისტემა, რომელიც: - იღებს სიის შეტყობინებებს და გამგზავნის ID-ს - გამორიცხავს მომხმარებლის პრეფერენციებს არ შესაბამის შეტყობინებებს - ახორციელებს დუბლიკატების დაცვას, მათ შორის, ბოლო 24 საათში გაგზავნილებს: დუბლიკატები ითვლება ერთიდაიგივე ID-ით და ერთსა და იმავე მომხმარებელზე მიმართული შეტყობინებები - აბრუნებს სორტირებულ სიის შეტყობინებებს, მზად არის გაგზავნისთვის. გაგზავნა თქვენი დავალება არ არის; სხვა გუნდი უზრუნველყოფს გაგზავნას. თქვენი დავალებაა მხოლოდ სორტირება. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }