Библиотека собеса по C# | вопросы с собеседований
Открыть в Telegram
Вопросы с собеседований по C# и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/4c2f1c3b Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
Больше5 657
Подписчики
-224 часа
Нет данных7 дней
+6630 день
Загрузка данных...
Похожие каналы
Облако тегов
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
июнь '26
июнь '26
+4
в 0 каналах
май '26
+129
в 3 каналах
Get PRO
апрель '26
+89
в 3 каналах
Get PRO
март '26
+162
в 1 каналах
Get PRO
февраль '26
+172
в 4 каналах
Get PRO
январь '26
+162
в 4 каналах
Get PRO
декабрь '25
+67
в 1 каналах
Get PRO
ноябрь '25
+50
в 0 каналах
Get PRO
октябрь '25
+81
в 1 каналах
Get PRO
сентябрь '25
+75
в 0 каналах
Get PRO
август '25
+100
в 2 каналах
Get PRO
июль '25
+82
в 3 каналах
Get PRO
июнь '25
+77
в 1 каналах
Get PRO
май '25
+65
в 0 каналах
Get PRO
апрель '25
+130
в 1 каналах
Get PRO
март '25
+217
в 52 каналах
Get PRO
февраль '25
+146
в 31 каналах
Get PRO
январь '25
+201
в 35 каналах
Get PRO
декабрь '24
+264
в 35 каналах
Get PRO
ноябрь '24
+233
в 37 каналах
Get PRO
октябрь '24
+218
в 35 каналах
Get PRO
сентябрь '24
+182
в 35 каналах
Get PRO
август '24
+148
в 35 каналах
Get PRO
июль '24
+183
в 35 каналах
Get PRO
июнь '24
+192
в 29 каналах
Get PRO
май '24
+125
в 35 каналах
Get PRO
апрель '24
+33 606
в 58 каналах
Get PRO
март '24
+354
в 31 каналах
Get PRO
февраль '24
+2 603
в 30 каналах
| Дата | Привлечение подписчиков | Упоминания | Каналы | |
| 03 июня | +1 | |||
| 02 июня | +2 | |||
| 01 июня | +1 |
Посты канала
Кратко опишите разницу между веб-сайтом и веб-приложением.
Веб-приложение — это часть программного обеспечения, к которому может получить доступ браузер. Веб-приложению требуется аутентификация. Оно использует комбинацию серверных и клиентских скриптов для представления информации, а также ему требуется сервер для управления запросами от пользователей.
Веб-сайт — это набор связанных веб-страниц, содержащий изображения, текст, аудио, видео и т. д. Он может состоять из любого количества страниц. Веб-сайт предоставляет визуальный и текстовый контент, который пользователи могут просматривать и читать. Для просмотра веб-сайта требуется браузер.
Библиотека собеса по С#
| 2 | ❓ Каковы наиболее распространенные вопросы на собеседованиях по ASP.NET?
— Что такое ASP.NET?
— Каковы преимущества ASP.NET?
— Каковы различные типы приложений ASP.NET?
— Что такое шаблон MVC?
— Как создать веб-приложение в ASP.NET?
— Как обрабатывать ввод данных пользователем в ASP.NET?
— Как защитить веб-приложение в ASP.NET?
— Как подготовиться к собеседованию по ASP.NET?
Библиотека собеса по С# | 730 |
| 3 | Как корректно освобождать ресурсы в DI, если требуется асинхронный dispose?
Используйте IAsyncDisposable и асинхронные скоупы (await using var scope = provider.CreateAsyncScope()), не блокируйте DisposeAsync() синхронно. Порядок освобождения — обратный порядку регистрации; следите, чтобы зависимые сервисы не переживали свои провайдеры, и не смешивайте Dispose/DisposeAsync без нужды.
Библиотека собеса по С# | 857 |
| 4 | Как можно запустить бесконечный цикл с помощью оператора for()?
Используя for(;;).
Библиотека собеса по С# | 1 098 |
| 5 | В .NET Core сервисе под высокой нагрузкой время отклика начало расти. Профилирование показывает частые паузы GC и большое количество объектов в Large Object Heap (LOH). Как вы будете разбираться с этой проблемой и что можно сделать для оптимизации?
Нужно проанализировать профилировщиком (dotTrace, PerfView, ETW), какие именно объекты попадают в LOH. Оптимизировать работу с большими массивами и строками: использовать пулы (ArrayPool<T>), Span<T>, Memory<T>, разбивать большие структуры на меньшие. Проверить аллокации, убрать избыточные, а GC — настроить (Server/Background GC).
Библиотека собеса по С# | 1 173 |
| 6 | До 31 мая можно забрать любой курс Proglib Academy со скидкой 40%
Если давно хотели прокачаться в Python, ML, алгоритмах или AI-агентах, сейчас самое время выбрать программу и начать обучение по сниженной цене.
🎁 Разработка AI-агентов — от 49.000 ₽ (вместо 69.000 ₽)
Практический курс по разработке AI-агентов для автоматизации задач, работы и собственных проектов
🎁 Курс AgentOps — 129.000 ₽ (вместо 149.000 ₽)
Для разработчиков и LLM-инженеров, которые хотят внедрять AI-логику в бэкенд и сохранять стабильность сервиса.
🎁 Математика для разработки AI-моделей — 23.990 ₽ (вместо 31.990 ₽)
Практическая база по математике для анализа данных, ML и дальнейшего развития в AI.
🎁 Математика для Data Science — от 29.990 ₽ (вместо 39.990 ₽)
Курс для тех, кто хочет решать задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе.
🎁 ML для старта в Data Science — 28.990 ₽ (вместо 38.990 ₽)
Разберётесь в машинном обучении: от базовых понятий и линейных моделей до ансамблей, бустинга и рекомендательных систем.
🎁 Основы IT для непрограммистов — 16.990 ₽ (вместо 28.990 ₽)
Курс для IT-рекрутеров, маркетологов, проджектов, продактов и всех, кто работает с IT, но не пишет код.
🎁 Архитектуры и шаблоны проектирования — 27.990 ₽ (вместо 37.900 ₽)
Освоите основные паттерны проектирования и прокачаете навыки архитектора программного обеспечения.
🎁 Специалист по ИИ — 89.000 ₽ (вместо 113.900 ₽)
Курс для тех, кто хочет получить профессию в сфере ИИ, собрать портфолио из 5 проектов и научиться разрабатывать сложных AI-агентов.
🎁 Алгоритмы и структуры данных — 33.990 ₽ (вместо 57.990 ₽)
Подготовитесь к алгоритмическим собеседованиям, разберёте структуры данных и научитесь писать более эффективный код.
🎁 Программирование на языке Python — 27.990 ₽ (вместо 47.390 ₽)
Освоите Python на практике: без сухой теории, с пошаговой прокачкой навыков и итоговым проектом в портфолио.
🙌 Выбирайте курс по ссылке, оставляйте заявку, и менеджер поможет подобрать программу под ваши цели — https://clc.to/SALE40 | 923 |
| 7 | Что означают следующие аббревиатуры в .NET: IL, CIL, MSIL, CLI и JIT?
IL (Intermediate Language) – это независимый от процессора частично скомпилированный код. Код IL будет скомпилирован в родной машинный код с использованием текущих свойств среды компилятором Just-In-Time (JIT). JIT-компилятор переводит IL-код в код сборки и использует архитектуру процессора целевой машины для выполнения приложения .NET.
В .NET язык IL называется Common Intermediate Language (CIL), а на первых этапах .NET он назывался Microsoft Intermediate Language (MSIL).
CLI (Common Language Infrastructure) – это открытая спецификация, разработанная компанией Microsoft. Это библиотека скомпилированного кода, используемая для развертывания, создания версий и обеспечения безопасности.
В .NET существует два типа CLI: сборки процессов (EXE) и сборки библиотек (DLL). Сборки CLI содержат код на языке CIL, и, как уже упоминалось, при компиляции языков программирования CLI исходный код транслируется в код CIL, а не в объектный код, специфичный для платформы или процессора.
Подведем итоги:
1. При компиляции исходный код сначала транслируется в IL (в .NET это CIL, а ранее назывался MSIL).
2. Затем CIL собирается в байткод и создается сборка CLI.
3. Перед выполнением кода CLI-код проходит через JIT-компилятор среды выполнения для генерации родного машинного кода.
4. Процессор компьютера выполняет родной машинный код.
Библиотека собеса по С# | 968 |
| 8 | Какие гарантии и ограничения даёт lock в C# при работе с многопоточностью?
Короткий ответ: обеспечивает взаимное исключение по одному и тому же объекту и полные барьеры памяти (acquire на входе, release на выходе; «happens-before» между секциями по тому же объекту), но не гарантирует справедливость/очередность, не предотвращает дедлоки и не синхронизирует потоки, использующие разные объекты.
Библиотека собеса по С# | 955 |
| 9 | Как диагностировать в проде thread pool starvation и «sync-over-async» без перезапуска?
Снимайте EventPipe-метрики (dotnet-counters): ThreadPool Queue Length/Completed/Active, aspnetcore-критерии; берите короткий dotnet-trace CPU-сэмплинг, при необходимости дамп. Признаки — длинная очередь, мало воркеров, блокирующие стеки. Лечение: end-to-end async, убрать .Result/.Wait(), вынести долгие блокировки, при пиках поднять MinThread, но не маскировать корень.
Библиотека собеса по С# | 1 071 |
| 10 | В чем суть полиморфизма?
Полиморфизм — способность функции обрабатывать данные разных типов.
Ad-hoc полифорфизм (перегрузка функций, приведение типа) — можно создать несколько методов с одним именем и разными аргументами, примитивные типы могут неявно приводиться.
Параметрический полиморфизм (обобщённое программирование) — можно создать полиморфные (обобщённые) типы.
Полиморфизм включения (наследование) — интерфейсы, наследование классов, виртуальные функции.
Библиотека собеса по С# | 1 242 |
| 11 | Как используется property?
Свойство — это обёртка вокруг поля. Свойство используется как для присвоения, так и для чтения значения из поля с помощью методов set и get. Свойство можно создать для различных полей, таких как закрытые, открытые, защищённые и внутренние.
Библиотека собеса по С# | 1 328 |
| 12 | Какова разница между IEnumerable и IQueryable при работе с удаленной базой данных?
IEnumerable представляет собой коллекцию данных, находящуюся в памяти, и позволяет перемещаться по этим данным только в одном направлении — вперед. В отличие от него, IQueryable находится в пространстве имен System.Linq и предоставляет возможность удаленного доступа к базе данных. Он позволяет перемещаться по данным как в прямом, так и в обратном порядке. При выполнении запроса происходит его оптимизация, что делает работу с данными более эффективной.
IEnumerable phoneIEnum = db.Phones;
var phones1 = phoneIEnum.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES, фильтрация на стороне клиента
IQueryable phoneIQuer = db.Phones;
int id = 3;
var phones2 = phoneIQuer.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES WHERE ID > 3
Библиотека собеса по С# | 1 339 |
| 13 | Где вы читаете полезный IT-контент?
Интересуют источники, где не только новости, но и практика, разборы и реальные кейсы. Поделитесь в комментариях, можно 1-2 канала/автора, где читаете (TG / Habr / блог / X / GitHub) и какая тематика? | 1 210 |
| 14 | В чем разница между кастомным контролем и пользовательским контролем?
Кастомные элементы управления — это элементы управления скомпилированного кода (DLL), которые проще использовать и которые можно добавлять в набор инструментов. Разработчики могут добавлять элементы управления в свои веб-формы, перетаскивая их. Атрибуты можно добавлять в процессе проектирования. Кастомные элементы управления можно легко добавлять в несколько приложений (если это общие Dll). Поэтому, если они являются частными, мы можем скопировать dll в каталог bin веб-приложения, добавить ссылку и использовать их.
Пользовательские элементы управления похожи на ASP, включая файлы, в том, что их просто создавать. Пользовательские элементы управления нельзя перетаскивать в набор инструментов. У них есть собственный дизайн и код. Ascx — это расширение файла для пользовательских элементов управления.
Библиотека собеса по С# | 1 421 |
| 15 | Какими способами можно перегрузить метод?
Методы могут быть перегружены с помощью различных типов данных для параметра, нескольких порядков параметров и различного количества параметров.
Библиотека собеса по С# | 1 320 |
| 16 | Как работает async/await и роль SynchronizationContext?
async/await преобразует метод в машину состояний. При await выполнение приостанавливается, а продолжение может быть запланировано на исходном SynchronizationContext (например, UI-поток). В ASP.NET Core его нет, и продолжение выполняется в ThreadPool. ConfigureAwait(false) отключает возврат в контекст.
Библиотека собеса по С# | 1 509 |
| 17 | Что такое Span<T> и Memory<T> в C# и в чём между ними разница?
Span<T> — это ref-структура, представляющая непрерывный участок памяти (массив, стек, неуправляемая память) без аллокаций в куче. Позволяет работать с подмассивами, строками и буферами без копирования. Так как это ref struct, Span<T> живёт только на стеке: его нельзя сохранять в полях класса, использовать в async-методах, итераторах или захватывать в лямбдах.
Memory<T> — обычная структура с теми же возможностями по представлению участка памяти, но без ограничений ref-структуры. Её можно хранить в полях, передавать через await, использовать в асинхронном коде. Получить Span<T> из Memory<T> можно через свойство .Span.
Правило выбора: Span<T> — для синхронного, горячего кода с максимальной производительностью; Memory<T> — когда нужно пересечь границы async/await или сохранить ссылку на буфер.
Библиотека собеса по С# | 1 596 |
| 18 | Что делает ключевое слово var в C#?
Компилятор выводит статический тип переменной по правой части выражения. Это не dynamic: тип фиксируется на этапе компиляции. Нельзя использовать без инициализации и менять тип этой переменной позже.
Библиотека собеса по С# | 1 432 |
| 19 | Как можно использовать шаблон проектирования Singleton в C#?
Шаблон проектирования Singleton используется в C# в ситуации, когда класс имеет один экземпляр и доступ предоставляется всем.
🐸Библиотека собеса по С# | 1 654 |
| 20 | Напишите программу для сложения всех чётных чисел в массиве
Ответ:
static long TotalAllNum(int[] intArray) {
return intArray.Where(i => i % 2 == 0).Sum(i => (long)i);
}
Библиотека собеса по С# | 1 703 |
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
