Sobes.tech

Java

Zijn er in uw project DevOps-praktijken geïmplementeerd of is er een team dat zich bezighoudt met automatisering en integratie van ontwikkelings- en operationele processen?

Junior — Middle
172

Welke veranderingen in aanpak of oplossingen zou je aanbrengen in het laatste voltooide project, wetende wat je nu weet?

Junior — Middle
169

Hoe is het team in uw project gestructureerd en verdeeld?

Junior — Middle
162

Schrijf tests voor het notificatiefilteringssysteem met behulp van JUnit 5 en Mockito, die de belangrijkste scenario's dekken: null/leeg invoer, geldige notificatie, afzenderblokkering, filtering op kanaal, deduplicatie.

161

Wat is de tijdcomplexiteit van de operatie om een element aan de stack toe te voegen?

Junior — Middle
159

Welke huidige projecten of taken voert u momenteel uit?

Junior — Middle
159

Hoe wordt de tijdcomplexiteit van de methode get in de datastructuur HashMap bepaald?

Junior — Middle
157

Hoe bepaalt een microservice hoe hij contact opneemt met een andere service in de Direct Call-aanpak?

Junior — Middle
155

Kunt u uitleggen wat een deadlock-situatie tussen threads in het systeem is?

Junior — Middle
149

Hoe kunt u de implementatie van het notificatiefilteringssysteem optimaliseren?

132

/* Het bedrijf biedt een massale notificatieservice voor andere bedrijven. Een product owner heeft de taak gekregen om een notificatiefilteringssysteem te maken dat rekening houdt met de voorkeuren van gebruikers. ## Definities Notificatie: - notificatie-ID - type notificatie (EMAIL, SMS, PUSH) - ontvanger (gebruikers-ID) - berichttekst De ontvanger kan voorkeurinstellingen hebben: - toegestane notificatiekanalen (lijst van types) - geblokkeerde afzenders (lijst van afzender-ID's) Verzonden notificatiegeschiedenis: - lijst van notificaties die aan de gebruiker zijn verzonden ## Belangrijk Gebruikersinstellingen en verzonden geschiedenis worden geleverd door andere systeemcomponenten. U moet contracten ontwerpen om deze gegevens op te halen. Opslagimplementatie is niet nodig. ## Taak Schrijf een notificatiefiltersysteem dat: - ontvangt een lijst van notificaties om te filteren en de afzender-ID - sluit notificaties uit die niet overeenkomen met de voorkeuren van de gebruiker - implementeert bescherming tegen duplicaten, inclusief berichten die in de laatste 24 uur zijn verzonden. Duplicaten worden beschouwd als berichten met dezelfde ID gericht aan dezelfde gebruiker - retourneert de gefilterde lijst van notificaties die klaar zijn voor verzending. Het verzenden van notificaties is niet jouw taak; een ander team zal de verzending afhandelen. Jouw taak is alleen filtering. */ 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