Sobes.tech

Java

Vysvetlite princíp fungovania metódy dvojitého overenia v kontexte viacvláknového programovania.

Middle — Middle+
124

/* 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 }

Senior
Яндекс
124

Máte skúsenosti s optimalizáciou SQL dopytov? Viete analyzovať plán dopytu?

Senior
Heads and Hands
124

Aký je účel objektovo orientovaného programovania pri vývoji softvérových systémov?

Junior — Middle
Ifellow
124

Aké rozhodnutia ste museli urobiť v súvislosti s výmenou alebo zavedením technologického zásobníka? Uveďte príklad.

Senior
ИП Ганус Александр Андреевич
124

Aký typ HTTP požiadavky by sa mal použiť na získanie údajov o zákazníkovi podľa čísla karty cez API?

Junior — Middle
ОТП БанкОТП Банк
124

Ste pripravení na praktické pohovory a viete odpovedať na typické otázky, ktoré sa v reálnom systéme náboru vyskytujú?

Junior — Middle
124

Aké sú výhody a nevýhody používania Scope Prototype pri navrhovaní systémov?

Junior — Middle
124

Ako zorganizovať vykonanie rollbacku transakcie alebo operácie v distribuovanom systéme s mikroservismi?

Middle — Middle+
124

Aké sú výhody a nevýhody rozdeľovania kódu na funkcie?

Junior — Middle
СБЕРСБЕР
124

Porozprávaj o mentorstve juniorov — ako to vyzeralo?

Senior
Росгосстрах
124

V akých prípadoch by sa mala použiť anotácia @Service v vyvíjanej aplikácii?

Junior — Middle
СБЕРСБЕР
124

Prečo boli súčasne použité dvaja sprostredkovatelia správ — Kafka a RabbitMQ?

Senior
СБЕРСБЕР
124

Aké typy indexov poznáte v PostgreSQL? Porozprávajte o B-tree indexe, ako je štruktúrovaný. Čo je GIN index?

Senior
Сбер Право
124

Integer i = 300, j = 300; System.out.println(i == j);

Senior
Velenes.Tech
124

Ako ste vykonali zmeny v databáze na produkcii? Použili ste Liquibase?

Senior
Ecom.tech
124

Aký je rozdiel medzi map a flatMap v Stream API?

Senior
SSP Soft
124

Akú úroveň viditeľnosti by mal kontrolér uvádzať, aby mohol sledovať vykonávanie požiadaviek?

Junior — Middle
ГазпромбанкГазпромбанк
124

Čo je REST a ako sa líši od bežného HTTP API?

Senior
kode.ru
124

Čo môže spôsobiť zhoršenie rýchlosti vkladania údajov do databázy po vytvorení indexov?

Junior — Middle
Т-БанкТ-Банк
124
/726