Подготовка к интервью

Вопросы на собеседовании по SemaphoreSlim

7 вопросов по SemaphoreSlim с технических собеседований

7 вопросов 1634 компании 353 технологии

Что проверяют на интервью

Как устроена подборка

На странице собраны вопросы по SemaphoreSlim — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: semaphoreslim, semaphore, async.

Каталог

Результаты поиска

Найдено: 7
Теория

Что такое `lock`, как сделать инкремент атомарным, почему `lock` нельзя сочетать с `await`, чем `SemaphoreSlim` отличается от `Semaphore` и что будет при использовании value type как объекта синхронизации?

lock обеспечивает взаимное исключение, для простого счётчика подходит Interlocked.Increment. Await внутри lock запрещён; для асинхронного ожидания обычно используют SemaphoreSlim.WaitAsync.

Читать ответ
Поведенческий

За счёт чего удалось увеличить пропускную способность сервиса репликации примерно с 300 до 700 сообщений в секунду? Как применялись ConcurrentDictionary и SemaphoreSlim?

Рост с 300 до 700 сообщений в секунду нужно объяснять измеренными изменениями, а не самими названиями ConcurrentDictionary и SemaphoreSlim. Без данных проекта нельзя установить причину ускорения.

Читать ответ
System Design

Почему SemaphoreSlim не решает задачу защиты от cache stampede в распределённой системе и что использовать вместо него?

SemaphoreSlim координирует только потоки одного процесса. При нескольких экземплярах приложения каждый может одновременно пересчитать один и тот же отсутствующий ключ кеша.

Читать ответ
Теория

Что такое многопоточность, какие задачи она решает и какие примитивы синхронизации вы знаете? Чем SemaphoreSlim отличается от Semaphore и что такое Mutex?

Многопоточность позволяет нескольким потокам выполнять работу конкурентно, а на нескольких ядрах — параллельно. Общие изменяемые данные требуют синхронизации и продуманного владения.

Читать ответ
Теория

Какие примитивы синхронизации вы знаете и чем Semaphore отличается от SemaphoreSlim?

В контексте асинхронного программирования в C# классы Semaphore и SemaphoreSlim используются для ограничения количества потоков, которые могут одновременно получить доступ к ресурсу, но между ними есть важные отличия:

Читать ответ
Теория

В чём разница между Semaphore и SemaphoreSlim в .NET?

Semaphore и SemaphoreSlim синхронизация потоков в .NET Semaphore — системный объект ядра ОС для межпроцессной синхронизации SemaphoreSlim — облегчённый механизм, работающий внутри одного процесса Semaphore потребляет…

Читать ответ