Встречается на 12% собеседований по C#
Есть ли опыт работы с многопоточностью
Да, есть. Работал с Task, async/await, Thread, ThreadPool, Parallel, lock, Monitor, Mutex, Semaphore, ConcurrentCollections и другими механизмами.
Пример асинхронного кода:
csharp
public async Task<string> FetchDataAsync(string url)
{
using var client = new HttpClient();
var response = await client.GetAsync(url);
return await response.Content.ReadAsStringAsync();
}Пример потокобезопасного кода с lock:
csharp
private readonly object _lockObj = new();
private int _counter = 0;
public void IncrementCounter()
{
lock (_lockObj)
{
_counter++;
}
}Использовал Parallel.For для CPU-bound операций и async/await для I/O-bound задач. Знаю про deadlocks, race conditions и способы их избежать.
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы