C# | Вопросы собесов (@easy_c_sharp) — Telegram-канал | Telegram Dialogs
Все каналы
C# | Вопросы собесов

C# | Вопросы собесов

@easy_c_sharp

5K подписчиков технологии

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv

Последние публикации

C# | Вопросы собесов
17.07.2026 18:14 · 👁 168
Онлайн-магистратура для IT: ИТМО, МИФИ + Яндекс Программы онлайн-магистратуры ИТМО и МИФИ в партнёрстве с Яндексом. Актуальные знания, практическое обучение и гибкий график. Учитесь, совмещая с работой. Доступна господдержка оплаты, отсрочка от армии Перейти на сайт #реклама 16+ practicum.yandex.ru О рекламодателе
C# | Вопросы собесов
17.07.2026 16:10 · 👁 263
🤔 Является ли POST идемпотентным? Нет, метод POST не является идемпотентным. Каждый повторный вызов POST может создавать новые ресурсы или изменять состояние системы, что приводит к разным результатам. Это типичный метод для операций создания или изменения, и его повторение может вызвать дублирование или непредсказуемый эффект. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
17.07.2026 09:05 · 👁 341
🤔 Что такое контекст синхронизации? "контекст синхронизации" (SynchronizationContext) — это класс, который предоставляет возможность управлять способом, которым операции переключаются обратно в основной поток или контекст для продолжения выполнения после асинхронной операции. Это важно для приложений с графическим пользовательским интерфейсом, таких как Windows Forms и WPF, где доступ к элементам пользовательского интерфейса разрешён только из основного потока. 🚩Как он работает Абстрагирует модель синхронизации для различных сред выполнения. Например, в приложениях Windows Forms и WPF управление элементами UI должно происходить в главном потоке. SynchronizationContext предоставляет методы для отправки (Send) и постановки (Post) задач, которые должны выполняться в правильном контексте. 🟠Send синхронно отправляет делегат на выполнение в контекст синхронизации. 🟠Post асинхронно отправляет делегат на выполнение в контекст синхронизации. 🚩Применение SynchronizationContext Используется для того, чтобы после асинхронной операции вернуться в правильный поток и безопасно обновить UI или выполнить код, который требует выполнения в определённом потоке. public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); LoadDataAsync(); } private async void LoadDataAsync() { string data = await GetDataAsync(); // Асинхронно получаем данные и обновляем UI Dispatcher.Invoke(() => DisplayData(data)); } private Task<string> GetDataAsync() { return Task.Run(() => { // Имитация долгой операции Thread.Sleep(5000); return "Data loaded"; }); } private void DisplayData(string data) { MyTextBox.Text = data; } } 🚩Зачем он нужен 🟠Безопасность потоков Позволяет безопасно обращаться к элементам UI из асинхронных или вторичных потоков. 🟠Правильное управление потоками Обеспечивает выполнение кода в контексте, для которого он предназначен, что особенно важно в многопоточных и сетевых приложениях. Ставь 👍 и забирай 📚 Базу знаний
C# | Вопросы собесов
16.07.2026 16:10 · 👁 395
🤔 Что такое примитив синхронизации semaphore? Семафор — это ограничитель доступа, который позволяет нескольким потокам одновременно использовать ресурс, но только в пределах установленного количества. Например, если доступно 3 слота — максимум 3 потока могут работать параллельно, остальные ждут. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
16.07.2026 10:18 · 👁 408
Освой многопоточность в Java: вебинар с от Otus! Хочешь писать быстрый Java код? Приходи на открытый урок: разберём основы многопоточности - узнаешь, как ускорить приложения! Узнать больше #реклама 16+ otus.ru О рекламодателе
C# | Вопросы собесов
16.07.2026 09:05 · 👁 372
🤔 Какие есть виды привязок данных и когда применяются? Привязка данных (Data Binding) — это механизм, который позволяет автоматически синхронизировать данные между источником (например, моделью) и интерфейсом (например, элементами UI). 🚩Односторонняя привязка (One-Way Binding) Данные идут только в одном направлении: из модели в UI. - Для вывода данных, которые не должны изменяться пользователем - Например, для отображения текущего времени Пример в WPF <TextBlock Text="{Binding UserName}" /> 🚩Двусторонняя привязка (Two-Way Binding) Данные синхронизируются в обе стороны: UI ↔️ Модель - В формах ввода (например, TextBox), чтобы обновлять данные в модели - Используется в MVVM Пример в WPF <TextBox Text="{Binding UserName, Mode=TwoWay}" /> 🚩Привязка к событиям (Event Binding) Позволяет связывать UI с методами обработки событий. - Для обработки кнопок (Button.Click) - В реактивных фреймворках (Blazor, WinForms) Пример в Blazor <button @onclick="IncrementCount">Добавить</button> @code { private int count = 0; private void IncrementCount() => count++; } 🚩Привязка к командам (Command Binding) Используется в паттерне MVVM вместо событий - В WPF и Xamarin - Позволяет отделить логику от UI Пример в WPF <Button Content="Сохранить" Command="{Binding SaveCommand}" /> 🚩Привязка к коллекциям (ItemsSource Binding) Позволяет привязывать списки к элементам UI (ListBox, DataGrid) - В списках, таблицах, дропдаунах Пример в WPF <ListBox ItemsSource="{Binding Users}" DisplayMemberPath="Name" /> Ставь 👍 и забирай 📚 Базу знаний
C# | Вопросы собесов
15.07.2026 16:10 · 👁 396
🤔 Что такое индексы, какие типы бывают, использовал ли их на практике? Индексы в контексте баз данных — это структуры, которые помогают ускорить операции выборки данных, предоставляя быстрые пути к данным в таблицах. Виды индексов включают кластерные, некластерные, полнотекстовые и другие. Кластерные индексы определяют физический порядок хранения данных в таблице, в то время как некластерные индексы хранят только указатели на данные. Я использовал индексы на практике для улучшения производительности запросов в базах данных. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
15.07.2026 09:05 · 👁 347
🤔 Какие методы есть в Action фильтре? Используются для выполнения логики до и после выполнения метода действия контроллера. Они предоставляют механизм для выполнения кросс-секционных задач, таких как логирование, обработка исключений, валидация и т.д. Action фильтры реализуют интерфейс IActionFilter или IAsyncActionFilter. 🚩Методы в Action фильтре 🟠OnActionExecuting Этот метод вызывается перед выполнением метода действия. Здесь можно добавить логику, которая будет выполняться до вызова действия, например, логирование или проверка условий. public void OnActionExecuting(ActionExecutingContext context) { // Логика до выполнения действия } 🟠OnActionExecuted Этот метод вызывается после выполнения метода действия. Здесь можно добавить логику, которая будет выполняться после вызова действия, например, логирование результатов или модификация ответа. public void OnActionExecuted(ActionExecutedContext context) { // Логика после выполнения действия } 🟠OnActionExecutionAsync Этот метод объединяет функциональность OnActionExecuting и OnActionExecuted в одном асинхронном методе. Здесь можно определить логику, которая будет выполняться как до, так и после выполнения метода действия. public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { // Логика до выполнения действия var resultContext = await next(); // Логика после выполнения действия } 🚩Реализации Action фильтра Синхронный Action фильтр: public class SampleActionFilter : IActionFilter { public void OnActionExecuting(ActionExecutingContext context) { // Логика до выполнения действия Console.WriteLine("Before executing action"); } public void OnActionExecuted(ActionExecutedContext context) { // Логика после выполнения действия Console.WriteLine("After executing action"); } } Асинхронный Action фильтр: public class SampleAsyncActionFilter : IAsyncActionFilter { public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { // Логика до выполнения действия Console.WriteLine("Before executing action"); var resultContext = await next(); // Логика после выполнения действия Console.WriteLine("After executing action"); } } 🚩Применение Action фильтра Action фильтр можно применять к контроллерам или действиям контроллера с помощью атрибута [ServiceFilter] или [TypeFilter]. Также его можно зарегистрировать глобально в Startup.cs. Применение к контроллеру или действию: [ServiceFilter(typeof(SampleActionFilter))] public class HomeController : Controller { public IActionResult Index() { return View(); } } Глобальная регистрация: public void ConfigureServices(IServiceCollection services) { services.AddControllers(config => { config.Filters.Add(typeof(SampleActionFilter)); }); } Ставь 👍 и забирай 📚 Базу знаний
C# | Вопросы собесов
15.07.2026 01:18 · 👁 407
Директ возвращает 10% бюджета за рекламу в мессенджерах Запускайте кампании в Telegram и МАКС с 1 июня по 31 августа — получайте кешбэк 10%. Его можно потратить на новые кампании. 💰 Как получить кешбэк: — Заполните форму: укажите логин в Директе и что продвигаете (сайт или канал); — Запустите рекламу в МАКС, Telegram или сразу на двух площадках с оплатой за клики; — В сентябре начислим кешбэк. Получить предложение #реклама yandex.ru О рекламодателе
C# | Вопросы собесов
14.07.2026 16:10 · 👁 433
🤔 Почему требуется API между базой данных и клиентским приложением? API (например, REST или GraphQL) обеспечивает прослойку между клиентом и базой данных, потому что: 1. Безопасность — база данных не должна быть напрямую доступна клиенту. 2. Инкапсуляция логики — в API можно реализовать бизнес-логику и валидации. 3. Гибкость — можно изменять структуру базы, не затрагивая клиента. 4. Масштабируемость — API может обрабатывать нагрузку, кешировать данные и распределять запросы. 5. Контроль доступа — через API проще реализовать авторизацию и аутентификацию. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.