Sobes.tech

Java

/* 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 }

Senior
Яндекс
124

Haben Sie Erfahrung in der Optimierung von SQL-Abfragen? Können Sie den Abfrageplan analysieren?

Senior
Heads and Hands
124

Was ist der Zweck der objektorientierten Programmierung bei der Entwicklung von Softwaresystemen?

Junior — Middle
Ifellow
124

Welche Entscheidungen mussten Sie bezüglich des Austauschs oder der Implementierung eines Technologie-Stacks treffen? Geben Sie ein Beispiel.

Senior
ИП Ганус Александр Андреевич
124

Welche Art von HTTP-Anfrage sollte verwendet werden, um Kundendaten anhand der Kartennummer über die API abzurufen?

Junior — Middle
ОТП БанкОТП Банк
124

Bist du bereit für praktische Vorstellungsgespräche und kannst du typische Fragen beantworten, die in einem echten Einstellungssystem auftreten?

Junior — Middle
124

Was sind die Vor- und Nachteile der Verwendung des Prototype Scope bei der Systemgestaltung?

Junior — Middle
124

Wie kann man die Rückabwicklung einer Transaktion oder Operation in einem verteilten System mit Microservices organisieren?

Middle — Middle+
124

Was sind die Vor- und Nachteile der Verwendung von Codeaufteilung in Funktionen?

Junior — Middle
СБЕРСБЕР
124

Erzählen Sie mir vom Mentoring der Juniors — wie sah das aus?

Senior
Росгосстрах
124

In welchen Fällen sollte die @Service-Annotation in der entwickelten Anwendung verwendet werden?

Junior — Middle
СБЕРСБЕР
124

Warum wurden zwei Messaging-Broker, Kafka und RabbitMQ, gleichzeitig verwendet?

Senior
СБЕРСБЕР
124

Welche Arten von Indizes kennst du in PostgreSQL? Erkläre den B-tree Index, wie er aufgebaut ist. Was ist ein GIN-Index?

Senior
Сбер Право
124

Integer i = 300, j = 300; System.out.println(i == j);

Senior
Velenes.Tech
124

Wie haben Sie Änderungen an der Datenbank in der Produktion durchgeführt? Haben Sie Liquibase verwendet?

Senior
Ecom.tech
124

Was ist der Unterschied zwischen map und flatMap in der Stream API?

Senior
SSP Soft
124

Welche Sichtbarkeitsstufe sollte für den Controller angegeben werden, damit er die Ausführung der Anfragen verfolgen kann?

Junior — Middle
ГазпромбанкГазпромбанк
124

Was ist REST und wie unterscheidet es sich von einer herkömmlichen HTTP-API?

Senior
kode.ru
124

Was kann die Einfügegeschwindigkeit von Daten in die Datenbank nach der Erstellung von Indizes verschlechtern?

Junior — Middle
Т-БанкТ-Банк
124

Wann wird empfohlen, den Befehl install während der Arbeit mit dem System zu verwenden?

Junior — Middle
124
/726