Sobes.tech

Action-дардың тізімі = new List<Action>(); for (var count = 0; count < 10; count++) { actions.Add(() => System.Console.WriteLine(count)); } foreach (var action in actions) { action(); } stdout-да не болады?

39

Репликация қызметінің өткізу қабілетін шамамен 300-ден 700 хабар/секундуға арттыруға не мүмкіндік берді? ConcurrentDictionary және SemaphoreSlim қалай қолданылды?

33

Жаңа оқиғалар үшін күтуді қалай ұйымдастыру керек, егер кезек бос болса, және Channel мен ConcurrentQueue арасындағы айырмашылық неде?

31

Жауапкершілік: Қолданушылардан оқиғалар қабылданады, олардың әрқайсысы сыртқы көзде тексерілуі керек, бірақ ол дереу жауап бермейді. VerificationService-ті жүзеге асырыңыз: - Қолданушылардан оқиғаларды қабылдайды - Әрқайсысын сыртқы қызметпен байланыс орнатып тексереді - Егер жауап PENDING болса, бұл оқиғаны 5 секундтан бұрын қайта жібермейді - Максимум 3 әрекет, содан кейін оқиға идентификаторы stdout-қа FAILED күйімен шығарылады - Сәтті өңделген оқиғалар stdout-қа VERIFIED күйімен шығарылады Сыртқы тәуелділіктердің үлгілері мен штамптары already жүзеге асырылған: 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 }

29

Басқа тапсырмалар әлі де орындалып жатқанда, Task.WhenAny көмегімен бірінші аяқталған тапсырманы күтсеңіз, не болады?

27

public struct S : IDisposable { private bool dispose; public void Dispose() { dispose = true; } public bool GetDispose() { return dispose; } } stdout-да эмне болот?

23

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(); } stdout-да эмне болот?

22

Асинхрон тапсырмалар жиынтығын өңдеу кезінде параллелизм дәрежесін қалай шектеуге болады?

21

[аты] қазіргі немесе бұрынғы жұмыс орныңызда бөлісуді қалаған қызықты тапсырма немесе шешім туралы айтыңыз.

14