Sobes.tech

Εξηγήστε την αρχή λειτουργίας της μεθόδου διπλού ελέγχου στο πλαίσιο του πολυνηματικού προγραμματισμού.

Middle — Middle+
124

/* Η εταιρεία παρέχει υπηρεσία μαζικής αποστολής ειδοποιήσεων σε άλλες επιχειρήσεις. Ένας ιδιοκτήτης προϊόντος ανέθεσε τη δημιουργία ενός συστήματος φιλτραρίσματος ειδοποιήσεων λαμβάνοντας υπόψη τις προτιμήσεις των χρηστών. ## Ορισμοί Ειδοποίηση: - id ειδοποίησης - τύπος ειδοποίησης (EMAIL, SMS, PUSH) - παραλήπτης (id χρήστη) - κείμενο μηνύματος Ο παραλήπτης μπορεί να έχει ρυθμίσεις προτιμήσεων: - επιτρεπτά κανάλια ειδοποιήσεων (λίστα τύπων) - αποκλεισμένοι αποστολείς (λίστα id αποστολέων) Ιστορικό αποστολής ειδοποιήσεων: - λίστα ειδοποιήσεων που έχουν σταλεί στον χρήστη ## Σημαντικό Οι ρυθμίσεις χρηστών και το ιστορικό αποστολής παρέχονται από άλλα συστατικά του συστήματος. Πρέπει να σχεδιάσετε συμβάσεις για την απόκτησή τους. Δεν απαιτείται υλοποίηση αποθήκευσης. ## Εργασία Γράψτε ένα σύστημα φιλτραρίσματος ειδοποιήσεων που: - λαμβάνει μια λίστα ειδοποιήσεων για φιλτράρισμα και το id αποστολέα - αποκλείει ειδοποιήσεις που δεν ταιριάζουν με τις προτιμήσεις του χρήστη - υλοποιεί προστασία από διπλότυπα μηνύματα, συμπεριλαμβανομένων αυτών που έχουν σταλεί τις τελευταίες 24 ώρες. Τα διπλότυπα θεωρούνται μηνύματα με το ίδιο id, που απευθύνονται στον ίδιο χρήστη - επιστρέφει τη φιλτραρισμένη λίστα ειδοποιήσεων, έτοιμη για αποστολή. Η αποστολή ειδοποιήσεων δεν αποτελεί μέρος της εργασίας σας - μια άλλη ομάδα θα αναλάβει την αποστολή της φιλτραρισμένης λίστας. Η εργασία σας είναι μόνο η φιλτράρισμα. */ 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

Έχετε εμπειρία στη βελτιστοποίηση ερωτημάτων SQL; Μπορείτε να αναλύσετε το σχέδιο του ερωτήματος;

Senior
Heads and Hands
124

Ποιος είναι ο σκοπός του αντικειμενοστραφούς προγραμματισμού στην ανάπτυξη λογισμικού;

Junior — Middle
Ifellow
124

Ποιες αποφάσεις έπρεπε να πάρετε σχετικά με την αντικατάσταση ή την υλοποίηση μιας τεχνολογικής στοίβας; Δώστε ένα παράδειγμα.

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

Ποιος τύπος αιτήματος HTTP πρέπει να χρησιμοποιηθεί για την λήψη δεδομένων πελάτη μέσω API με βάση τον αριθμό κάρτας;

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

Έχετε προετοιμαστεί για πρακτικές συνεντεύξεις και ξέρετε πώς να απαντάτε στις τυπικές ερωτήσεις που συναντώνται σε ένα πραγματικό σύστημα πρόσληψης;

Junior — Middle
124

Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα της χρήσης του Prototype Scope στο σχεδιασμό συστημάτων;

Junior — Middle
124

Πώς οργανώνεται η εκτέλεση μιας ανάκλησης μιας συναλλαγής ή λειτουργίας σε ένα κατανεμημένο σύστημα με μικροϋπηρεσίες;

Middle — Middle+
124

Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα της διαίρεσης του κώδικα σε λειτουργίες;

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

Μίλησε για την καθοδήγηση των νέων — πώς ήταν;

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

Σε ποιες περιπτώσεις πρέπει να χρησιμοποιείται η σημείωση @Service στην αναπτυσσόμενη εφαρμογή;

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

Γιατί χρησιμοποιήθηκαν δύο διαμεσολαβητές μηνυμάτων — Kafka και RabbitMQ — ταυτόχρονα;

Senior
СБЕРСБЕР
124

Ποιοι τύποι ευρετηρίων γνωρίζετε στο PostgreSQL; Μιλήστε για το ευρετήριο B-tree, πώς είναι δομημένο. Τι είναι ένα ευρετήριο GIN;

Senior
Сбер Право
124

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

Senior
Velenes.Tech
124

Πώς κάνατε τις αλλαγές στη βάση δεδομένων σε παραγωγή; Χρησιμοποιήσατε το Liquibase;

Senior
Ecom.tech
124

Ποια είναι η διαφορά μεταξύ map και flatMap στο API Stream;

Senior
SSP Soft
124

Ποιο επίπεδο ορατότητας πρέπει να οριστεί για τον ελεγκτή ώστε να μπορεί να παρακολουθεί την εκτέλεση των αιτημάτων;

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

Τι είναι το REST και πώς διαφέρει από ένα συνηθισμένο HTTP API;

Senior
kode.ru
124

Τι μπορεί να οδηγήσει σε επιδείνωση της ταχύτητας εισαγωγής δεδομένων στη βάση δεδομένων μετά τη δημιουργία ευρετηρίων;

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