Sobes.tech

Java

Expliquez le principe de fonctionnement de la méthode de double vérification dans le contexte de la programmation multithread.

Middle — Middle+
124

/* L'entreprise fournit un service d'envoi massif de notifications à d'autres entreprises. Un propriétaire de produit a demandé de créer un système de filtrage des notifications en tenant compte des préférences des utilisateurs. ## Définitions Notification: - id de la notification - type de notification (EMAIL, SMS, PUSH) - destinataire (id de l'utilisateur) - texte du message Le destinataire peut avoir des paramètres de préférences: - canaux de notification autorisés (liste de types) - expéditeurs bloqués (liste d'ids d'expéditeurs) Historique des notifications envoyées: - liste des notifications envoyées à l'utilisateur ## Important Les paramètres des utilisateurs et l'historique des notifications sont fournis par d'autres composants du système. Vous devez concevoir des contrats pour obtenir ces données. Il n'est pas nécessaire de faire de stockage. ## Tâche Écrire un système de filtrage des notifications qui: - reçoit une liste de notifications à filtrer et l'id de l'expéditeur - exclut les notifications qui ne correspondent pas aux préférences de l'utilisateur - met en œuvre une protection contre les messages en double, y compris ceux envoyés dans les dernières 24 heures. Les doublons sont considérés comme des messages avec le même id destinés à un même utilisateur - retourne la liste filtrée de notifications prêtes à être envoyées. L'envoi des notifications ne fait pas partie de votre tâche; une autre équipe s'en chargera. Votre tâche est uniquement le filtrage. */ 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

Avez-vous de l'expérience dans l'optimisation des requêtes SQL ? Savez-vous analyser le plan de la requête ?

Senior
Heads and Hands
124

Quelle est la finalité de la programmation orientée objet dans le développement de systèmes logiciels?

Junior — Middle
Ifellow
124

Quelles décisions avez-vous dû prendre concernant le remplacement ou l'implémentation d'une pile technologique ? Donnez un exemple.

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

Quel type de requête HTTP doit être utilisé pour obtenir les données du client par numéro de carte via l'API?

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

Êtes-vous prêt à passer des entretiens pratiques et savez-vous répondre aux questions typiques rencontrées dans un système de recrutement réel?

Junior — Middle
124

Quels sont les avantages et inconvénients de l'utilisation du scope prototype dans la conception de systèmes?

Junior — Middle
124

Comment organiser l'annulation d'une transaction ou d'une opération dans un système distribué utilisant des microservices?

Middle — Middle+
124

Quels sont les avantages et inconvénients de l'utilisation de la division du code en fonctions?

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

Parlez-moi du mentorat des débutants — à quoi cela ressemblait-il?

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

Dans quels cas faut-il utiliser l'annotation @Service dans l'application en cours de développement?

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

Pourquoi utiliser deux brokers de messages, Kafka et RabbitMQ, en même temps?

Senior
СБЕРСБЕР
124

Quels types d'index connais-tu dans PostgreSQL ? Parle de l'index B-tree, comment il fonctionne. Qu'est-ce qu'un index GIN ?

Senior
Сбер Право
124

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

Senior
Velenes.Tech
124

Comment avez-vous déployé les modifications de la base de données en production ? Avez-vous utilisé Liquibase ?

Senior
Ecom.tech
124

Quelle est la différence entre map et flatMap dans l'API Stream?

Senior
SSP Soft
124

Quel niveau de portée doit être spécifié pour le contrôleur afin qu'il puisse suivre l'exécution des requêtes?

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

Qu'est-ce que REST et en quoi diffère-t-il d'une API HTTP classique?

Senior
kode.ru
124

Qu'est-ce qui peut entraîner une baisse de la vitesse d'insertion des données dans la base de données après la création d'index ?

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