Sobes.tech

Java

Váš projekt implementuje praktiky DevOps alebo máte tím, ktorý sa zaoberá automatizáciou a integráciou procesov vývoja a prevádzky?

Junior — Middle
174

Aké zmeny v prístupe alebo riešeniach by ste urobili v poslednom dokončenom projekte, vedomí si toho, čo viete teraz?

Junior — Middle
173

Napíšte testy pre systému filtrovania oznámení pomocou JUnit 5 a Mockito, pokrývajúce hlavné scenáre: null/prázdny vstup, platné oznámenie, blokovanie odosielateľa, filtrovanie podľa kanála, deduplikácia.

170

Ako je tím štruktúrovaný a rozdelený vo vašom projekte?

Junior — Middle
166

Aké aktuálne projekty alebo úlohy realizujete v poslednej dobe?

Junior — Middle
164

Ako určuje mikroservis, ako kontaktovať iný servis v prístupe Priamy Hovor?

Junior — Middle
164

Aká je časová zložitosť operácie pridania prvku do zásobníka?

Junior — Middle
163

Ako sa určuje časová zložitosť metódy get v dátovej štruktúre HashMap?

Junior — Middle
158

Môžete vysvetliť, čo je situácia vzájomného blokovania vlákien v systéme?

Junior — Middle
154

Ako optimalizovať implementáciu systému filtrovania upozornení?

137

/* Spoločnosť poskytuje službu masového odosielania oznámení pre iné podniky. Vlastník produktu sa obrátil s úlohou vytvoriť systém filtrovania oznámení s prihliadnutím na preferencie používateľov. ## Definície Oznámenie: - ID oznámenia - typ oznámenia (EMAIL, SMS, PUSH) - príjemca (ID používateľa) - text správy Príjemca môže mať nastavenia preferencií: - povolené kanály oznámení (zoznam typov) - blokovaní odosielatelia (zoznam ID odosielateľov) História odoslaných oznámení: - zoznam oznámení odoslaných používateľovi ## Dôležité Nastavenia používateľov a história odoslaných oznámení sú poskytované inými komponentmi systému. Musíte navrhnúť zmluvy na získanie týchto údajov. Implementácia ukladania nie je potrebná. ## Úloha Napíšte systém filtrovania oznámení, ktorý: - prijíma zoznam oznámení na filtrovanie a ID odosielateľa - vylučuje oznámenia, ktoré nevyhovujú preferenciám používateľa - implementuje ochranu proti duplicitám správ, vrátane tých odoslaných za posledných 24 hodín. Duplicitami sú správy s rovnakým ID, adresované rovnakému používateľovi - vracia filtrovaný zoznam oznámení pripravených na odoslanie. Odosielanie oznámení nie je súčasťou vašej úlohy; iný tím sa postará o odoslanie filtrovaného zoznamu. Vašou úlohou je iba filtrovanie. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }

134
/2