Projenizde DevOps uygulamaları mı var yoksa geliştirme ve işletme süreçlerini otomatikleştirme ve entegre etme ile ilgilenen bir ekip mi var?
Java
Şimdi bildiklerinizle, son tamamlanan projede yaklaşımınızda veya çözümlerinizde ne değişiklikler yapardınız?
JUnit 5 ve Mockito kullanarak bildirim filtreleme sistemine yönelik temel senaryoları kapsayan testler yazın: null/boş giriş, geçerli bildirim, gönderen engelleme, kanal bazlı filtreleme, tekrar önleme.
Projenizdeki ekip nasıl yapılandırılmış ve dağıtılmıştır?
Son zamanlarda hangi projeleri veya görevleri gerçekleştiriyorsunuz?
Yığaca bir öğe ekleme işleminin zaman karmaşıklığı nedir?
Bir mikroservis, Doğrudan Çağrı yaklaşımında başka bir hizmetle nasıl iletişim kuracağını nasıl belirler?
HashMap veri yapısında get metodunun zaman karmaşıklığı nasıl belirlenir?
Bir sistemdeki iş parçacıkları arasındaki karşılıklı kilitlenme durumunu açıklayabilir misiniz?
Bildirim filtreleme sisteminin uygulanmasını nasıl optimize edebilirsiniz?
/* Şirket, diğer işletmelere yönelik toplu bildirim gönderim hizmeti sağlar. Bir ürün sahibi, kullanıcı tercihlerini dikkate alan bir bildirim filtreleme sistemi oluşturma göreviyle size başvurdu. ## Tanımlar Bildirim: - bildirim kimliği - bildirim türü (EMAIL, SMS, PUSH) - alıcı (kullanıcı kimliği) - mesaj metni Alıcı, tercihler ayarlarına sahip olabilir: - izin verilen bildirim kanalları (türler listesi) - engellenen gönderenler (gönderen kimlikleri listesi) Gönderilen bildirimler geçmişi: - kullanıcıya gönderilen bildirimlerin listesi ## Önemli Kullanıcı ayarları ve gönderim geçmişi, sistemin diğer bileşenleri tarafından sağlanır. Bu verileri almak için sözleşmeler tasarlamalısınız. Depolama uygulaması gerekmez. ## Görev Bir bildirim filtreleme sistemi yazın, ki: - filtrelenecek bildirimler listesi ve gönderen kimliği alınır - kullanıcının tercihlerine uymayan bildirimleri hariç tutar - aynı mesaj kimliği ve aynı kullanıcıya gönderilen mesajlar dikkate alınarak, son 24 saat içinde gönderilenler de dahil olmak üzere, tekrar eden mesajlara karşı koruma uygular - gönderilmeye hazır, filtrelenmiş bildirimler listesini döner. Bildirim gönderimi sizin göreviniz değildir; başka bir ekip gönderimi yapacaktır. Sizin göreviniz sadece filtrelemektir. */ class NotificationFilter { UserSettingsService userSettingsService; NotificationHistoryService notificationHistoryService; public ??? filter(??? senderId, List<???> msgs) { // TODO implement } } interface UserSettingsService { // TODO any functions } interface NotificationHistoryService { // TODO any functions }