Sobes.tech

Java

Sind in Ihrem Projekt DevOps-Praktiken implementiert oder gibt es ein Team, das sich mit Automatisierung und Integration von Entwicklungs- und Betriebsprozessen beschäftigt?

Junior — Middle
172

Welche Änderungen am Ansatz oder an den Lösungen würden Sie im letzten abgeschlossenen Projekt vornehmen, wenn Sie jetzt wissen, was Sie wissen?

Junior — Middle
170

Schreiben Sie Tests für das Benachrichtigungsfilterungssystem mit JUnit 5 und Mockito, die die wichtigsten Szenarien abdecken: null/leere Eingabe, gültige Benachrichtigung, Absenderblockierung, Filterung nach Kanal, Duplikatentfernung.

166

Wie ist das Team in Ihrem Projekt strukturiert und verteilt?

Junior — Middle
165

Welche aktuellen Projekte oder Aufgaben setzen Sie derzeit um?

Junior — Middle
162

Wie ist die zeitliche Komplexität der Operation zum Hinzufügen eines Elements zum Stack?

Junior — Middle
162

Wie bestimmt ein Microservice, wie er mit einem anderen Dienst im Direct Call-Ansatz kommuniziert?

Junior — Middle
161

Wie wird die zeitliche Komplexität der Methode get in der Datenstruktur HashMap bestimmt?

Junior — Middle
157

Könnten Sie erklären, was eine Deadlock-Situation von Threads in einem System ist?

Junior — Middle
153

Wie kann die Implementierung des Benachrichtigungsfiltersystems optimiert werden?

135

/* Das Unternehmen bietet einen Massensendungsservice für Benachrichtigungen an andere Unternehmen an. Ein Product Owner hat die Aufgabe gestellt, ein Benachrichtigungsfiltersystem zu erstellen, das die Präferenzen der Nutzer berücksichtigt. ## Definitionen Benachrichtigung: - Benachrichtigungs-ID - Benachrichtigungstyp (EMAIL, SMS, PUSH) - Empfänger (Benutzer-ID) - Nachrichtentext Der Empfänger kann Präferenz-Einstellungen haben: - erlaubte Benachrichtigungskanäle (Liste von Typen) - blockierte Absender (Liste von Absender-IDs) Versandhistorie: - Liste der an den Nutzer gesendeten Benachrichtigungen ## Wichtig Die Nutzereinstellungen und die Versandhistorie werden von anderen Systemkomponenten bereitgestellt. Sie müssen Verträge entwerfen, um diese Daten zu erhalten. Speicherimplementierung ist nicht erforderlich. ## Aufgabe Schreiben Sie ein Benachrichtigungsfiltersystem, das: - eine Liste von Benachrichtigungen zum Filtern und eine Absender-ID erhält - Benachrichtigungen ausschließt, die nicht den Nutzerpräferenzen entsprechen - Schutz vor Duplikaten implementiert, einschließlich der in den letzten 24 Stunden gesendeten Nachrichten. Duplikate sind Nachrichten mit derselben ID, die an denselben Nutzer gerichtet sind - gibt die gefilterte Liste der Benachrichtigungen zurück, die versandbereit sind. Der Versand der Benachrichtigungen ist nicht Teil Ihrer Aufgabe; ein anderes Team kümmert sich um den Versand der gefilterten Liste. Ihre Aufgabe ist nur das Filtern. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }

133
/2