Ar jūsų projekte įgyvendintos DevOps praktikos arba yra komanda, kuri užsiima automatizavimu ir integracija procesų plėtojimo ir eksploatacijos?
Java
Kokius pokyčius požiūryje ar sprendimuose įvestumėte paskutiniame įgyvendintame projekte, žinodami tai, ką dabar žinote?
Kaip yra sukurta ir paskirstyta jūsų projekto komanda?
Rašykite testus pranešimų filtravimo sistemai naudodami JUnit 5 ir Mockito, apimant pagrindinius scenarijus: null/tuščias įvestis, galiojantis pranešimas, siuntėjo blokavimas, filtravimas pagal kanalą, dubliavimų pašalinimas.
Kokia yra elemento pridėjimo į staką operacijos laiko sudėtingumas?
Kokius dabartinius projektus ar užduotis įgyvendinate pastaruoju metu?
Kaip nustatoma laiko sudėtingumas get metodo HashMap duomenų struktūroje?
Kaip mikroservisas nustato, kaip susisiekti su kitu servisu tiesioginio skambučio požiūriu?
Ar galėtumėte paaiškinti, kas yra tarpusavio blokavimo situacija sistemoje?
Kaip galima optimizuoti pranešimų filtravimo sistemos įgyvendinimą?
/* Įmonė teikia masinio pranešimų siuntimo paslaugą kitiems verslams. Jums kreipėsi produktų savininkas su užduotimi sukurti filtravimo sistemą, atsižvelgiant į naudotojų pageidavimus. ## Apibrėžimai Pranešimas: - pranešimo ID - pranešimo tipas (EL. PAŠTAS, SMS, PUSH) - gavėjas (vartotojo ID) - žinutės tekstas Gavėjas gali turėti pageidavimų nustatymus: - leidžiami pranešimų kanalai (sąrašas tipų) - užblokuoti siuntėjai (sąrašas siuntėjų ID) Siuntimo istorija: - sąrašas pranešimų, išsiųstų vartotojui ## Svarbu Vartotojų nustatymai ir siuntimo istorija yra teikiami kitų sistemos komponentų. Jums reikia sukurti šių duomenų gavimo sutartis. Saugojimo įgyvendinimo nereikia. ## Užduotis Parašyti pranešimų filtravimo sistemą, kuri: - priima įvestį – sąrašą pranešimų filtravimui ir siuntėjo ID - išskiria pranešimus, nesutinkančius su naudotojo pageidavimais - įgyvendina apsaugą nuo dubliuojamų žinučių, įskaitant tas, kurios buvo išsiųstos per pastarąsias 24 valandas. Dubliavimais laikomos žinutės su tais pačiais ID, adresuotos vienam vartotojui - grąžina filtruotą pranešimų sąrašą, paruoštą siuntimui. Pranešimų siuntimas nėra jūsų užduotis – kita komanda pasirūpins filtruoto sąrašo siuntimu. Jūsų užduotis – tik filtravimas. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }