Replikatsiya xizmati o'tkazuvchanligini taxminan 300 dan 700 xabar/sekundga oshirishga nima imkon berdi? ConcurrentDictionary va SemaphoreSlim qanday ishlatilgan?
C#
int i = 1; object obj = i; ++i; Console.WriteLine(i); Console.WriteLine(obj); Console.WriteLine((short)obj);
Vazifa: Foydalanuvchilardan voqealar kelib tushadi, har biri tashqi manbada tekshirilishi kerak, ammo u darhol javob bermaydi. VerificationService ni amalga oshiring: - Foydalanuvchilardan voqealarni qabul qiladi - Har birini tashqi xizmat bilan bog'lanib tekshiradi - Agar javob PENDING bo'lsa, bu voqeani 5 soniyadan oldin qayta yubormaydi - Maksimal 3 urinish, so'ngra voqea IDsi stdout ga FAILED holati bilan chiqariladi - Muvaffaqiyatli ishlov berilgan voqealar stdout ga VERIFIED holati bilan chiqariladi Tashqi bog'liqliklarning shablonlari va stub'lari allaqachon amalga oshirilgan: 1. VerificationStatus 2. Event 3. VerificationResult 4. IExternalSource public enum VerificationStatus { OK, Pending, Error } public record Event(string Id, string Payload); public record VerificationResult(VerificationStatus Status, string? Message = null); public interface IExternalSource { VerificationResult Verify(string eventId); } public class VerificationService { private readonly IExternalSource _externalSource; private const int MaxAttempts = 3; private static readonly TimeSpan RetryDelay = TimeSpan.FromSeconds(5); public VerificationService(IExternalSource externalSource) { _externalSource = externalSource; } // TODO: implement }
Actionlar ro'yxati = new List<Action>(); for (var count = 0; count < 10; count++) { actions.Add(() => System.Console.WriteLine(count)); } foreach (var action in actions) { action(); } stdoutda nima bo'ladi?
Sum va Count ning qiymatlari nima?
Boshqa vazifalar hali ham bajarilayotgan paytda Task.WhenAny yordamida birinchi bajarilgan vazifani kutish paytida nima bo'ladi?
Asinxron vazifalar to'plamini ishlashda parallelizm darajasini qanday cheklash mumkin?
public class A { public virtual void Print1() { System.Console.Write("A"); } public void Print2() { System.Console.Write("A"); } } public class B : A { public override void Print1() { System.Console.Write("B"); } } public class C : B { public new void Print2() { System.Console.Write("C"); } } static void Main(string[] args) { var c = new C(); A a = c; a.Print1(); a.Print2(); c.Print2(); } What will be in stdout?
Yangi voqealarni kutishni qanday tashkil qilish mumkin, agar navbat bo'sh bo'lsa, va Channel va ConcurrentQueue o'rtasidagi farq nima?
public struct S : IDisposable { private bool dispose; public void Dispose() { dispose = true; } public bool GetDispose() { return dispose; } } stdout-da nima bo'ladi?
[ism] hozirgi yoki oldingi ish joyingizda bo'lgan qiziqarli vazifa yoki yechim haqida bizga aytib bering.