Sobes.tech

Java

Kas teie projektis on rakendatud DevOps praktika või on olemas meeskond, kes tegeleb arendus- ja tegevusprotsesside automatiseerimise ja integreerimisega?

Junior — Middle
172

Milliseid muudatusi või lahendusi te viimases ellu viidud projektis teeksite, teades seda, mida te nüüd tead?

Junior — Middle
169

Kuidas on teie projekti meeskond struktureeritud ja jaotatud?

Junior — Middle
163

Kirjutage testeid teavituste filtreerimissüsteemile, kasutades JUnit 5 ja Mockito, katvades peamised stsenaariumid: null/tühi sisend, kehtiv teavitus, saatja blokeerimine, kanali järgi filtreerimine, duplikaatide eemaldamine.

161

Milliseid praeguseid projekte või ülesandeid te viimastel aegadel ellu olete viinud?

Junior — Middle
159

Mis on elemendi lisamise operatsiooni ajakulude keerukus virnastikus?

Junior — Middle
159

Kuidas määratleda HashMap andmestruktuuri meetodi get ajakulude keerukus?

Junior — Middle
157

Kuidas määrab mikroteenus, kuidas suhelda teise teenusega otse kõne lähenemisviisis?

Junior — Middle
155

Kas võiks selgitada, mis on süsteemis vastastikune lukustussituatsioon?

Junior — Middle
149

Kuidas optimeerida teavituste filtreerimissüsteemi rakendamist?

132

/* Ettevõte pakub masspostitavate teavitusteenust teistele ettevõtetele. Teid on pöördunud tooteomanik ülesandega luua teavituste filtreerimissüsteem, võttes arvesse kasutajate eelistusi. ## Määratlused Teavitus: - teavituse ID - teavituse tüüp (EMAIL, SMS, PUSH) - saaja (kasutaja ID) - sõnumi tekst Saaja võib omada eelistuste seadeid: - lubatud teavituste kanalid (loend tüüpide kohta) - blokeeritud saatjad (loend saatjate ID-d) Saatmise ajalugu: - nimekiri saatjatest, kellele teavitusi on saadetud ## Oluline Kasutaja seaded ja saatmise ajalugu on teised süsteemi komponendid. Teil tuleb koostada nende andmete saamise lepingud. Salvestamise teostamine ei ole vajalik. ## Ülesanne Kirjutada teavituste filtreerimissüsteem, mis: - võtab sisendina teavituste nimekirja ja saatja ID - välistab kasutaja eelistustega mitte sobivad teavitused - rakendab kaitset duplikaatsete sõnumite vastu, kaasa arvatud viimase 24 tunni jooksul saadetud sõnumid. Duplikaadid on samade ID-dega sõnumid, mis on adresseeritud ühele kasutajale - tagastab filtreeritud teavituste nimekirja, mis on valmis saatmiseks. Teavituste saatmine ei kuulu teie ülesandesse – selle teostab teine meeskond. Teie ülesandeks on ainult filtratsioon. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }

131
/2