Your trial period has ended!
For full access to functionality, please pay for a premium subscription
CS
Библиотека собеса по C# | вопросы с собеседований
https://t.me/csharp_interview_lib
Channel age
Created
Category
Language
Russian
0.74%
ER (week)
11.18%
ERR (week)

Вопросы с собеседований по C# и ответы на них.

По рекламе: @proglib_adv

Messages Statistics
Reposts and citations
Publication networks
Satellites
Contacts
History
Top categories
Main categories of messages will appear here.
Top mentions
The most frequent mentions of people, organizations and places appear here.
Что такое процесс JIT-компилятора?

Компилятор Just-In-Time (JIT) является частью Common Language Runtime (CLR) в .NET, которая отвечает за управление выполнением программ .NET независимо от языка программирования .NET. Специфичный для языка компилятор преобразует исходный код в промежуточный язык. Затем этот промежуточный язык преобразуется в машинный код компилятором Just-In-Time (JIT). Этот машинный код специфичен для компьютерной среды, в которой работает компилятор JIT.
05/05/2025, 21:47
t.me/csharp_interview_lib/662 Permalink
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость

Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.

👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.

🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе

🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.

📅 Сроки: прием новостей до 11 мая включительно

Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8

Осталась неделя — ждем ваших новостей!
05/05/2025, 16:00
t.me/csharp_interview_lib/661 Permalink
Какова роль класса System.Exception?

.NET framework предоставляет класс System.Exception для обработки различных типов исключений, которые имеют место. Класс исключений является базовым классом среди других классов исключений.

🐸Библиотека собеса по С#
05/04/2025, 21:23
t.me/csharp_interview_lib/660 Permalink
В чем разница в ключевых словах ref и out?

Основное различие между ключевыми словами ref и out в C# заключается в том, что ref требует, чтобы переменная была инициализирована перед передачей в метод, тогда как ключевое слово out не требует инициализации переменной перед передачей в метод.

🐸Библиотека собеса по С#
05/03/2025, 21:09
t.me/csharp_interview_lib/659 Permalink
Как можно использовать шаблон проектирования Singleton в C#?

Шаблон проектирования Singleton используется в C# в ситуации, когда класс имеет один экземпляр и доступ предоставляется всем.

🐸Библиотека собеса по С#
05/02/2025, 21:53
t.me/csharp_interview_lib/658 Permalink
Почему C# не поддерживает множественное наследование?

C# не поддерживает множественное наследование из-за конфликта имен.

🐸Библиотека собеса по С#
05/01/2025, 21:52
t.me/csharp_interview_lib/657 Permalink
В чём разница между System.Array.CopyTo() и System.Array.Clone()?

Метод System.Array.CopyTo() выполняет глубокое копирование, копируя не только элементы самого массива, но и все объекты, на которые указывают ссылки в этих элементах. Это означает, что все связанные объекты также будут скопированы.

В отличие от этого, метод System.Array.Clone() выполняет поверхностное копирование. При этом копируются только сами элементы массива, независимо от их типа (значение или ссылка). При этом объекты, на которые указывают ссылки, не копируются, а копируются только сами ссылки, точно так же, как и в исходном массиве.

Ещё пара отличий между методами:

System.Array.CopyTo() требует наличия выходного массива, тогда как System.Array.Clone() создает новый массив.

System.Array.CopyTo() позволяет указывать индекс элемента, начиная с которого производить копирование.

🐸Библиотека собеса по С#
04/30/2025, 21:46
t.me/csharp_interview_lib/656 Permalink
сЧто такое сериализация в C#?

Процесс преобразования, который преобразует данные объекта класса в поток байтов. Затем его можно передать по сети или сохранить в памяти, файле или базе данных.

В первую очередь сериализация используется для сохранения состояния объекта, что позволяет нам восстановить его позже. Чтобы обратить процесс вспять, нам нужно использовать десериализацию. Нам доступны различные типы сериализации.

Двоичный: конвертируйте объект в двоичные байты, что полезно для передачи по сети или локального хранения.
SOAP: преобразование объекта в поток байтов для передачи по сети в различных архитектурах.
XML: преобразование объекта в формат XML, полезный для передачи по сети или локального хранения.
JSON: преобразование объекта в строку JSON, что полезно для обмена данными между приложениями.
04/29/2025, 19:56
t.me/csharp_interview_lib/655 Permalink
Можно ли запретить наследование от какого-то класса?

Да, можно. Для того, чтобы запретить наследоваться от класса необходимо объявить его с модификатором sealed.

Например, если мы не хотим чтобы от класса SomeClass можно было наследоваться, то объявляем его так:

sealed class SomeClass
{
// Объявление класса
}

В качестве альтернативы, можно запретить и создание экземпляров этого класса с помощью ключевого слова static (под капотом, будет использована пара модификаторов: abstract sealed).

static class Helper
{
// допустимы лишь статические методы
}

🐸Библиотека собеса по С#
04/29/2025, 19:56
t.me/csharp_interview_lib/654 Permalink
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость

Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!

👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.

🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе

Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».

Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».

📅 Сроки: с 29 апреля по 11 мая включительно

Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8

Ждем ваших новостей!
04/29/2025, 16:01
t.me/csharp_interview_lib/652 Permalink
В чем разница между «Break» и «Continue» в C#?

break: используется в циклах (for и т. д.) и операторах переключения, завершает итерацию/переключение и пропускает весь оставшийся код в цикле или блоке переключения.
continue: используется только в циклах, пропускает весь оставшийся код в цикле и начинает следующую итерацию с начала цикла.

🐸Библиотека собеса по С#
04/28/2025, 23:19
t.me/csharp_interview_lib/651 Permalink
Когда использовать StringBuilder предпочтительнее, чем string?

StringBuilder предпочтительнее использовать, если строка часто изменяется.

🐸Библиотека собеса по С#
04/27/2025, 21:54
t.me/csharp_interview_lib/650 Permalink
Объясните концепцию Raycasting в Unity и ее применения.

Raycasting предполагает проецирование линии (луча) из точки в определенном направлении для обнаружения столкновений с объектами на игровой сцене. Общие приложения включают в себя следующее:

⚡️ Механика стрельбы;
⚡️Проверка прямой видимости;
⚡️Взаимодействие объектов;
⚡️Обнаружение поверхностей для движения персонажа.

🐸Библиотека собеса по С#
04/26/2025, 21:22
t.me/csharp_interview_lib/649 Permalink
🧠⚡️👟 Странные, но эффективные лайфхаки для продуктивности

Иногда самые действенные способы повысить продуктивность звучат как полный бред. Но это работает! Пользователи Reddit делятся своими «тупо-звучащими-но-реально-помогающими» секретами, которые помогут тебе наконец-то перестать прокрастинировать и начать делать дела.

ТОП-советы от пользователей Reddit — в нашей статье.

🐸 Библиотека программиста
04/25/2025, 21:00
t.me/csharp_interview_lib/648 Permalink
Что такое Entity Framework в C#?

Как ответить: Опишите Entity Framework как Object-Relational Mapping (ORM) фреймворк, упрощающий доступ и манипуляцию базами данных. Объясните, что он даёт разработчикам возможность работать с базами данных, используя принципы ООП, и предоставляет такие функции, как автоматический маппинг, поддержка LINQ и отслеживание изменений.

Пример ответа: «Entity Framework — это ORM-фреймворк, созданный Microsoft. Он позволяет разработчикам работать с базами данных с помощью принципов ООП вместо написания необработанных SQL запросов. Entity Framework автоматически сопоставляет таблицы базы данных с классами и даёт такие функции, как поддержка LINQ, отслеживание изменений и CRUD операции. Он упрощает доступ и изменение баз данных в приложениях C#».

На что обращают внимание: на кандидатов, которые могут дать точное и полное объяснение Entity Framework, включая его назначение, главные особенности и преимущества доступа и управления базами данных.

🐸Библиотека собеса по С#
04/24/2025, 21:04
t.me/csharp_interview_lib/647 Permalink
👀 В чем разница между Eager loading и Lazy Loading в EF?

Eager loading позволяет заранее определить, какие связанные данные необходимо загрузить во время выполнения запроса. Entity Framework преобразует метод Include() в JOIN, что позволяет выполнить всего один запрос к базе данных.
С другой стороны, Lazy loading подразумевает автоматическую загрузку связанных данных при обращении к навигационному свойству, но это может привести к значительным задержкам в определенных ситуациях. Кроме того, Lazy loading может вызвать проблему n+1, когда требуется выполнить множество дополнительных запросов.

🐸Библиотека собеса по С#
04/23/2025, 21:04
t.me/csharp_interview_lib/646 Permalink
Что такое веб-служба .NET?

Веб-сервисы — это повторно используемые компоненты, которые позволяют разработчикам публиковать функцию приложения через Интернет, чтобы сделать его доступным и напрямую взаимодействовать с другими приложениями и объектами в нем. Веб-службы взаимодействуют с помощью стандартных веб-протоколов и форматов данных, включая HTTP, XML и SOAP, что позволяет им подключаться между различными платформами и языками программирования.

🐸Библиотека собеса по С#
04/23/2025, 19:11
t.me/csharp_interview_lib/645 Permalink
👀 В чем разница между Eager loading и Lazy Loading в EF?

Eager loading позволяет заранее определить, какие связанные данные необходимо загрузить во время выполнения запроса. Entity Framework преобразует метод Include() в JOIN, что позволяет выполнить всего один запрос к базе данных.
С другой стороны, Lazy loading подразумевает автоматическую загрузку связанных данных при обращении к навигационному свойству, но это может привести к значительным задержкам в определенных ситуациях. Кроме того, Lazy loading может вызвать проблему n+1, когда требуется выполнить множество дополнительных запросов.

🐸Библиотека собеса по С#
04/22/2025, 17:54
t.me/csharp_interview_lib/644 Permalink
👀 В чем разница между Eager loading и Lazy Loading в EF?

Eager loading позволяет заранее определить, какие связанные данные необходимо загрузить во время выполнения запроса. Entity Framework преобразует метод Include() в JOIN, что позволяет выполнить всего один запрос к базе данных.
С другой стороны, Lazy loading подразумевает автоматическую загрузку связанных данных при обращении к навигационному свойству, но это может привести к значительным задержкам в определенных ситуациях. Кроме того, Lazy loading может вызвать проблему n+1, когда требуется выполнить множество дополнительных запросов.

🐸Библиотека собеса по С#
04/22/2025, 17:51
t.me/csharp_interview_lib/643 Permalink
🎉🐙🐱 20 лет Git: все такой же необычный, все такой же великолепный

Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.

Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.

➡️ Читать статью

🐸 Библиотека программиста
04/21/2025, 22:57
t.me/csharp_interview_lib/642 Permalink
👀 Как работает командная логика в MVVM и что такое ICommand

В паттерне MVVM командная логика реализуется через интерфейс ICommand, который связывает действия пользователя (например, нажатие кнопки) с выполнением бизнес-логики в ViewModel.

ICommand имеет два метода:
• Execute — выполняет команду.
• CanExecute — проверяет, можно ли выполнить команду, например, активировать или деактивировать кнопку.

Когда пользователь выполняет действие, вызывается Execute, а CanExecute управляет доступностью команды. Это разделение логики между View и ViewModel улучшает тестируемость и поддерживаемость кода, поскольку UI не содержит бизнес-логики.

🐸Библиотека собеса по С#
04/20/2025, 21:05
t.me/csharp_interview_lib/641 Permalink
❓ Как ViewModel взаимодействует с Model в паттерне MVVM

ViewModel взаимодействует с Model, запрашивая и преобразуя данные для отображения в UI. Она использует привязку данных для обновления UI и обрабатывает действия пользователя, инициируя изменения в Model. ViewModel служит посредником между View и Model, обеспечивая логику преобразования данных, но не содержащую логику представления. Это позволяет разделить ответственность: Model управляет данными, View — отображением, а ViewModel — взаимодействием между ними.

🐸Библиотека собеса по С#
04/19/2025, 21:06
t.me/csharp_interview_lib/640 Permalink
🎮⛰ Дорожная карта Unity-разработчика 2025: с нуля до джуна

Если вы хотите создать свою игру с нуля или систематизировать знания, эта дорожная карта — идеальный старт.

Рассмотрели все важные этапы: от основ языка C# до работы с физикой, интерфейсом и сторонними SDK. Шаг за шагом объясняются ключевые темы, такие как ООП, паттерны проектирования, корутины и оптимизация.

В конце бонус — подборка полезных ресурсов.

➡️ Пройти путь по карте

🐸Библиотека шарписта
04/19/2025, 15:59
t.me/csharp_interview_lib/639 Permalink
❓ Можно ли в рамках lock и использовать await

Нет, в рамках оператора lock нельзя использовать await.

Когда вы используете lock, поток блокируется до тех пор, пока не завершится выполнение кода внутри блока. Операции с await требуют освобождения потока, чтобы он мог продолжить выполнение других задач, что несовместимо с блокировкой потока через lock.

Если вы хотите использовать асинхронные операции с ожиданием, следует использовать другие механизмы синхронизации, такие как SemaphoreSlim, которые поддерживают асинхронное ожидание.

🐸Библиотека собеса по С#
04/18/2025, 21:04
t.me/csharp_interview_lib/638 Permalink
❓ Где будет размещен значимый тип данных, если он объявлен внутри класса

Если у класса есть значимый тип данных (например, int, double, struct), то он будет храниться в области памяти, предназначенной для экземпляра этого класса, то есть в heap (если класс создается с помощью оператора new) или в stack (если класс создается локально). Однако важно отметить, что сам значимый тип данных будет храниться непосредственно внутри объекта, на который указывает ссылка.

Например:
Если класс является ссылочным типом (class), то сам объект класса будет размещен в куче (heap), но значимый тип данных будет храниться в этом объекте в том же месте.
Если класс является структурой (struct), то данные будут храниться в том месте, где создается экземпляр структуры (например, в стеке, если структура объявлена локально).

Таким образом, где именно будет храниться значимый тип данных, зависит от того, является ли класс ссылочным типом или значимым типом.

🐸Библиотека собеса по С#
04/17/2025, 21:04
t.me/csharp_interview_lib/637 Permalink
🤔📝 Псевдокод: когда преподы не шарят, а ты в тупике

Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.

Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.

➡️ Читать статью

🐸Библиотека шарписта
04/17/2025, 14:01
t.me/csharp_interview_lib/636 Permalink
👀 Какую проблему решает ThreadPool

ThreadPool решает проблему управления потоками в многозадачных приложениях. Он помогает оптимизировать производительность за счет повторного использования уже созданных потоков, чтобы избежать дорогих операций по созданию и уничтожению потоков при каждой задаче.
Основная цель ThreadPool — эффективно управлять количеством потоков, чтобы не перегружать систему и при этом поддерживать высокую производительность. Когда задача добавляется в пул потоков, ThreadPool выбирает свободный поток или создает новый, если их недостаточно. Это позволяет избежать утечек памяти и перегрузки, которые могут возникнуть при прямом управлении потоками вручную.

Это особенно полезно для приложений с большим количеством короткоживущих задач, таких как веб-сервисы или серверные приложения, где создание нового потока для каждой задачи может сильно снизить производительность.

🐸Библиотека собеса по С#
04/16/2025, 21:02
t.me/csharp_interview_lib/635 Permalink
❓ Что означает «D» в ACID?

Это свойство гарантирует, что как только транзакция завершена, её изменения будут сохранены, даже если система внезапно выйдет из строя.

Допустим, вы перевели деньги через интернет-банк, и транзакция завершилась успешно. Даже если сервер после этого упал, ваш перевод всё равно будет сохранён. Это означает, что данные, записанные в процессе транзакции, не потеряются и останутся целыми.

🐸Библиотека собеса по С#
04/15/2025, 21:04
t.me/csharp_interview_lib/634 Permalink
👀 Как оптимизировать ситуацию, когда к таблице много join`ов?

Для оптимизации запросов с множественными JOIN-ами важно использовать индексы на полях JOIN-ов, избегать избыточных соединений, заменять несколько JOIN-ов на подзапросы и разбивать запросы на этапы с меньшим количеством JOIN-ов. Агрегация и фильтрация данных перед JOIN-ами также помогут ускорить запрос.
Правильный выбор типа JOIN-а, например, INNER JOIN вместо LEFT JOIN, тоже важен для производительности.

🐸Библиотека собеса по С#
04/14/2025, 21:04
t.me/csharp_interview_lib/633 Permalink
❓ Что означает «I» в ACID?

Это свойство означает, что каждая транзакция выполняется независимо от других, даже если они происходят одновременно.

Например: два пользователя одновременно пытаются обновить информацию о товаре в магазине, то изменения одного пользователя не могут "перемешиваться" с действиями другого. Транзакции не видят промежуточные результаты других транзакций, пока они не будут завершены. Это гарантирует, что одна транзакция не повлияет на другую до её завершения.

🐸Библиотека собеса по С#
04/13/2025, 21:06
t.me/csharp_interview_lib/632 Permalink
✍🏼 Расскажите про конкурентные коллекции в C#?

Конкурентные коллекции в C# предназначены для безопасного доступа к данным в многозадачных приложениях. Они позволяют нескольким потокам одновременно читать и изменять данные, исключая необходимость ручной синхронизации и минимизируя блокировки.

ConcurrentQueue — потокобезопасная очередь (FIFO), отлично подходит для сценариев с последовательной обработкой;
ConcurrentStack — потокобезопасный стек (LIFO), полезен, когда важен обратный порядок обработки;
ConcurrentBag — коллекция без определённого порядка, оптимальна для хранения данных в локальном кэше потоков;
ConcurrentDictionarу — потокобезопасный словарь, замена обычному Dictionary в многопоточном окружении; и наконец,
BlockingCollection — высокоуровневая обёртка над другими коллекциями, поддерживающая блокировки и ограничение размера, идеально подходит для реализации паттерна "продюсер-потребитель"

🐸Библиотека собеса по С#
04/12/2025, 21:03
t.me/csharp_interview_lib/631 Permalink
🎮🔌 4 cамых популярных фреймворка для разработки онлайн-игр на Unity

Сетевое взаимодействие — это сердце многопользовательской игры, и правильный выбор фреймворка это решающий фактор для проекта.

Посмотрите обзор самых популярных фреймворков для разработки онлайн-игр на Unity и выберите тот, который подходит для вашего проекта.

➡️ Читать обзор

🐸Библиотека шарписта
04/12/2025, 09:59
t.me/csharp_interview_lib/630 Permalink
❓ Что означает «C» в ACID?

Это свойство гарантирует, что транзакция всегда переводит систему из одного валидного состояния в другое.

Например: перевод денег с одного счета на другой, система остаётся в корректном состоянии: сумма на одном счете уменьшилась, а на другом увеличилась. Если транзакция не завершится, изменения не будут внесены, и система останется в исходном валидном состоянии.

🐸Библиотека собеса по С#
04/11/2025, 21:03
t.me/csharp_interview_lib/629 Permalink
❓ Что такое мультикаст-делегат

Мультикаст-делегат — это делегат, который может ссылаться на несколько методов одновременно. При вызове такого делегата все методы в его списке вызовов выполняются последовательно.

🐸Библиотека собеса по С#
04/10/2025, 20:59
t.me/csharp_interview_lib/628 Permalink
🕸 Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1

​HTTP/2 — это как переход с однополосной дороги HTTP/1.1 на скоростное шоссе: быстрее, эффективнее и без пробок.

Узнайте, как новые технологии ускоряют загрузку веб-страниц и улучшают работу приложений.

➡️ Читать статью

🐸Библиотека шарписта
04/10/2025, 13:38
t.me/csharp_interview_lib/627 Permalink
❓ Что означает «A» в ACID?

Это свойство означает, что транзакция — неделимая единица работы: либо выполняется полностью, либо не выполняется вообще.

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

🐸Библиотека собеса по С#
04/09/2025, 21:20
t.me/csharp_interview_lib/626 Permalink
✔️ Как в C# поля и свойства отличаются друг от друга?

В C# поля и свойства имеют различия друг от друга. Поле — это член класса или объекта, предназначенный для хранения данных, в то время как свойство — это член класса, который предоставляет методы для чтения, записи и вычисления значения соответствующего поля.

Библиотека собеса по С#
04/06/2025, 21:15
t.me/csharp_interview_lib/625 Permalink
Search results are limited to 100 messages.
Some features are available to premium users only.
You need to buy subscription to use them.
Filter
Message type
Similar message chronology:
Newest first
Similar messages not found
Messages
Find similar avatars
Channels 0
High
Title
Subscribers
No results match your search criteria