Sobes.tech

В проекта ви внедрявате практики на DevOps или има екип, който се занимава с автоматизация и интеграция на процесите на разработка и експлоатация?

Junior — Middle
172

Какви промени в подхода или решенията бихте направили в последния изпълнен проект, знаейки това, което знаете сега?

Junior — Middle
169

Как е структурирана и разпределена екипът във вашия проект?

Junior — Middle
163

Напишете тестове за системата за филтриране на известия, използвайки JUnit 5 и Mockito, обхващащи основните сценарии: null/празен вход, валидно известие, блокиране на изпращача, филтриране по канал, дедупликация.

161

Какви текущи проекти или задачи реализирате в последно време?

Junior — Middle
159

Каква е времевата сложност на операцията по добавяне на елемент към стека?

Junior — Middle
159

Как се определя времевата сложност на метода get в структурата данни HashMap?

Junior — Middle
157

Как определя един микросервиз как да се свърже с друг сервис в подхода Директен Обаждане?

Junior — Middle
155

Можете ли да обясните каква е ситуацията на взаимна блокировка между нишки в системата?

Junior — Middle
149

Как да оптимизираме реализирането на системата за филтриране на известията?

132

/* Фирмата предоставя услуга за масово изпращане на известия за други бизнеси. Собственик на продукт се обърна с задачата да създаде система за филтриране на известия, вземайки предвид предпочитанията на потребителите. ## Определения Известие: - 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 }

131
/2