ru
Feedback
Библиотека собеса по C# | вопросы с собеседований

Библиотека собеса по 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, алгоритмах или
До 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