Sobes.tech

Java

Vai jūsu projektā ir ieviestas DevOps prakses vai ir komanda, kas nodarbojas ar automatizāciju un procesu integrāciju izstrādes un ekspluatācijas jomā?

Junior — Middle
172

Kādus izmaiņas pieejā vai risinājumos jūs ieviestu pēdējā īstenotajā projektā, zinot to, ko tagad zināt?

Junior — Middle
169

Kā ir strukturēta un sadalīta jūsu projekta komanda?

Junior — Middle
163

Rakstiet testus paziņojumu filtrēšanas sistēmai, izmantojot JUnit 5 un Mockito, aptverot galvenos scenārijus: null/tukša ievade, derīga paziņojums, sūtītāja bloķēšana, filtrēšana pēc kanāla, dublēšanu novēršana.

162

Kādus pašreizējos projektus vai uzdevumus jūs īstenojat pēdējā laikā?

Junior — Middle
160

Kāda ir elementa pievienošanas operācijas laika sarežģītība stakā?

Junior — Middle
159

Kā tiek noteikta laika sarežģītība metodei get HashMap datu struktūrā?

Junior — Middle
157

Kā mikroserviss nosaka, kā sazināties ar citu pakalpojumu tiešās zvana pieejā?

Junior — Middle
156

Vai jūs varētu izskaidrot, kas ir savstarpējās bloķēšanas situācija sistēmā?

Junior — Middle
150

/* Uzņēmums nodrošina masu paziņojumu sūtīšanas pakalpojumu citiem uzņēmumiem. Jums vērsās produkta īpašnieks ar uzdevumu izveidot filtrēšanas sistēmu, ņemot vērā lietotāju preferences. ## Definīcijas Paziņojums: - paziņojuma ID - paziņojuma tips (EPASTS, SMS, PUSH) - saņēmējs (lietotāja ID) - ziņojuma teksts Saņēmējs var būt iestatījis preferences: - atļautie paziņojumu kanāli (saraksts ar tipiem) - bloķētie sūtītāji (saraksts ar sūtītāju ID) Sūtījumu vēsture: - saraksts ar sūtītajiem paziņojumiem lietotājam ## Svarīgi Lietotāju iestatījumi un sūtījumu vēsture tiek nodrošināta ar citu sistēmas komponentu palīdzību. Jums jāizstrādā šo datu saņemšanas līgumi. Glabāšanas īstenošana nav nepieciešama. ## Uzdevums Izstrādāt paziņojumu filtrēšanas sistēmu, kas: - pieņem ievadē sarakstu ar paziņojumiem filtrēšanai un sūtītāja ID - izslēdz paziņojumus, kas neatbilst lietotāja preferencēm - īsteno aizsardzību pret dublikātu ziņojumiem, ieskaitot tos, kas nosūtīti pēdējās 24 stundās. Dublikāti tiek uzskatīti par ziņojumiem ar vienādu ID, adresēti vienam lietotājam - atgriež filtrētu paziņojumu sarakstu, kas ir gatavs nosūtīšanai. Paziņojumu sūtīšana nav jūsu uzdevums – to veiks cita komanda. Jūsu uzdevums ir tikai filtrēšana. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }

132

Kā optimizēt paziņojumu filtru sistēmas īstenošanu?

132
/2