В высоконагруженном .NET-сервисе вы замечаете частые паузы из-за сборки мусора (GC). Как вы будете диагностировать и оптимизировать проблему?
Сначала профилировать память (dotMemory, PerfView, ETW), чтобы найти “тяжёлые” аллокации. Проверить Generation 2 объекты и Large Object Heap. Для оптимизации — уменьшить количество аллокаций с помощью Span<T>, Memory<T>, пулов объектов (ArrayPool<T>), использовать ValueTask, а также при необходимости настроить режим GC (Server vs Workstation, Background GC).
Библиотека собеса по С#
Библиотека собеса по С#
Почему struct в C# может быть быстрее, чем class?
Потому что struct хранится на стеке (или inline в объекте), не требует аллокации в куче и не создаёт нагрузку на GC.
Библиотека собеса по С#
Библиотека собеса по С#
👍5
Как проектировать высокопроизводительные API без копий с Span<T>/ReadOnlySpan<T>?
Принимайте вход как ReadOnlySpan<T>/Span<T>, возвращайте данные через ReadOnlyMemory<T>/Memory<T> для async-границ, избегайте удержания Span вне стека, используйте ref readonly/scoped где уместно, не создавать лишних строк/массивов, использовать пулы буферов и инкрементальный парсинг/запись.
Библиотека собеса по С#
Библиотека собеса по С#
😁2
Можно ли реализовать несколько блоков catch?
Невозможно реализовать несколько блоков catch. После выполнения правильного кода catch управление переходит к блоку final. После этого реализуется код, следующий за final блоком.
Библиотека собеса по С#
Библиотека собеса по С#
😁9🤔7👍3🌚2
Что подразумевается под свойствами в C#?
В C# существуют специальные методы доступа, которые и именуются свойствами. Они обеспечивают простой доступ к полям класса для получения или установки их значения. Определение свойства содержит блоки get и set. В блоке get возвращается значение поля, а в блоке set устанавливается с помощью параметра value, которое представляет передаваемое значение.
Библиотека собеса по С#
Библиотека собеса по С#
🌚2
Опишите этапы компиляции кода на C#.
Процесс включает четыре основных шага: предварительная обработка, компиляция, сборка и связывание.
Библиотека собеса по С#
Библиотека собеса по С#
🌚5🤔1
WANTED: .NET-ИНКВИЗИТОР
Обвиняется в знании всех тонкостей
Приметы:
— в совершенстве владеет
— может объяснить разницу между
— имеет личный опыт проведения технических интервью;
— готов развивать личный бренд на большую аудиторию Proglib.
Суть сделки:
— участие в создании обучающего контента и разборов;
— медийная поддержка и охваты;
— достойный гонорар за твою экспертизу.
Сдаться добровольно
P.S. Твой лид — ходячая энциклопедия по .NET? Пора его сдать.
Обвиняется в знании всех тонкостей
CLR и умении завалить любого джуна вопросом про yield return. Мы ищем того, кто готов выйти на свет и научить других проходить собеседования без валидола.Приметы:
— в совершенстве владеет
C# (понимает архитектуру Java или Go);— может объяснить разницу между
struct и class даже в три часа ночи;— имеет личный опыт проведения технических интервью;
— готов развивать личный бренд на большую аудиторию Proglib.
Суть сделки:
— участие в создании обучающего контента и разборов;
— медийная поддержка и охваты;
— достойный гонорар за твою экспертизу.
Сдаться добровольно
P.S. Твой лид — ходячая энциклопедия по .NET? Пора его сдать.
😁3
Что такое Round Trip в ASP.NET?
В момент включения обработки на стороне сервера, тогда включаются четыре этапа:
1. Пользователь запрашивает веб-форму с веб-сервера.
2. Веб-сервер отвечает указанной веб-формой.
3. Пользователь вводит информацию и отправляет веб-форму на сервер.
4. Затем веб-сервер обрабатывает структуру формы и отправляет результаты обратно конкретному пользователю.
Теперь этап 3 известен как постбэк страницы, в то время как этапы 3 и 4 в совокупности известны как «Round Trip». Можно сказать, что обратный путь включает в себя выполнение полного обхода по сети к веб-браузеру и получение ответа. Веб-приложения используют HTTP для создания соответствия между веб-программой и сервером.
Библиотека собеса по С#
1. Пользователь запрашивает веб-форму с веб-сервера.
2. Веб-сервер отвечает указанной веб-формой.
3. Пользователь вводит информацию и отправляет веб-форму на сервер.
4. Затем веб-сервер обрабатывает структуру формы и отправляет результаты обратно конкретному пользователю.
Теперь этап 3 известен как постбэк страницы, в то время как этапы 3 и 4 в совокупности известны как «Round Trip». Можно сказать, что обратный путь включает в себя выполнение полного обхода по сети к веб-браузеру и получение ответа. Веб-приложения используют HTTP для создания соответствия между веб-программой и сервером.
Библиотека собеса по С#
В чем разница между public, static и void?
Публично объявленные переменные или методы доступны в любом месте приложения. Статически объявленные переменные или методы доступны глобально без создания экземпляра класса. Статический член по умолчанию не доступен глобально, это зависит от используемого типа измененного доступа. Компилятор сохраняет адрес метода в качестве точки входа и использует эту информацию, чтобы начать выполнение до создания каких-либо объектов. А Void — это модификатор типа, который указывает, что метод или переменная не возвращает никакого значения.
Библиотека собеса по С#
Библиотека собеса по С#
🥱6👏2
Почему для методов внутри интерфейса нельзя указать модификатор доступа?
Виртуальные методы в интерфейсе не имеют определения метода. Методы здесь написаны для переопределения в производном классе и, следовательно, они общедоступны.
Библиотека собеса по С#
Библиотека собеса по С#
😁2👍1
Назовите различные способы передачи параметров методу в C#.
Существует три способа передачи параметров:
📌 Параметры значений
📌 Ссылочные параметры
📌 Выходные параметры
Библиотека собеса по С#
Существует три способа передачи параметров:
📌 Параметры значений
📌 Ссылочные параметры
📌 Выходные параметры
Библиотека собеса по С#
👍1
Как бы вы подошли к отладке сложной проблемы в проекте Unity?
Пример ответа: «При отладке сложной проблемы в Unity я начинаю с изоляции проблемы с помощью Unity Profiler и Debug.Log для сбора подробной информации. Затем я систематически тестирую потенциальные решения, такие как оптимизация скриптов, лучшее управление ассетами или корректировка настроек, чтобы эффективно определить и устранить первопричину.»
Библиотека собеса по С#
Библиотека собеса по С#
😁6👍1
Друзья, с наступающим Новым годом! 🎄 ✨
Пусть в 2026 собеседования проходят спокойнее и предсказуемее: вопросы — по делу, задачи — решаемые, а фидбек — быстрый и честный. Пусть будет больше приятных разговоров, больше «да» по итогам встреч и больше поводов гордиться собой.
Тепла, здоровья и карьерных побед — с праздником! 🚀
Пусть в 2026 собеседования проходят спокойнее и предсказуемее: вопросы — по делу, задачи — решаемые, а фидбек — быстрый и честный. Пусть будет больше приятных разговоров, больше «да» по итогам встреч и больше поводов гордиться собой.
Тепла, здоровья и карьерных побед — с праздником! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉8🥰2
Объясните, что такое Prefabs в Unity 3D?
Prefab в Unity 3D представляет собой готовый шаблон объекта, который объединяет в себе как элементы, так и скрипты. В процессе разработки вы можете перетаскивать префабы из окна проекта в окно сцены, добавляя их в иерархию игровых объектов.
Если потребуется, вы можете редактировать объект после его добавления. Во время выполнения игры скрипт может создавать новые экземпляры объекта в определённом месте или с заданными свойствами трансформации.
Библиотека собеса по С#
Если потребуется, вы можете редактировать объект после его добавления. Во время выполнения игры скрипт может создавать новые экземпляры объекта в определённом месте или с заданными свойствами трансформации.
Библиотека собеса по С#
👍3
Что такое частичные классы в C#?
Частично реализованные классы распределяют функциональность одного класса по нескольким файлам. В процессе компиляции эти несколько файлов объединяются в один. Ключевое слово parts используется для создания разделяемого класса.
public partial Class_name{
// code
}
Методы, интерфейсы и функциональные возможности структур можно легко разделить на несколько файлов. Вы также можете включить вложенные частичные классы.
Библиотека собеса по С#
public partial Class_name{
// code
}
Методы, интерфейсы и функциональные возможности структур можно легко разделить на несколько файлов. Вы также можете включить вложенные частичные классы.
Библиотека собеса по С#
😁5❤1
Можете ли вы вкратце объяснить, что такое пул потоков в C#?
Пул потоков в C# — это, по сути, набор потоков. Эти потоки используются для выполнения задач, не влияя на реализацию основного потока. После завершения реализации поток из пула потоков возвращается в пул потоков.
Библиотека собеса по С#
Библиотека собеса по С#
😁10🤔2
Какие коды ответа HTTP существуют?
1xx — информационный
2xx — успех
3xx — перенаправление
4xx — ошибка, сбой клиента
5xx — ошибка, сбой сервера
Библиотека собеса по С#
2xx — успех
3xx — перенаправление
4xx — ошибка, сбой клиента
5xx — ошибка, сбой сервера
Библиотека собеса по С#
🔥3
Можете ли вы объяснить важность правильной обработки ошибок и кодов состояния в RESTful API, и как их реализовать с помощью C#?
Правильная обработка ошибок и коды состояния обеспечивают четкую связь между API и клиентами. Например, использование соответствующих кодов состояния HTTP, таких как 400, для плохих запросов обеспечивает согласованность и понимание.
Библиотека собеса по С#
Библиотека собеса по С#
🥱4😁1
Что такое веб-служба .NET?
Веб-сервисы — это повторно используемые компоненты, которые позволяют разработчикам публиковать функцию приложения через Интернет, чтобы сделать его доступным и напрямую взаимодействовать с другими приложениями и объектами в нем. Веб-службы взаимодействуют с помощью стандартных веб-протоколов и форматов данных, включая HTTP, XML и SOAP, что позволяет им подключаться между различными платформами и языками программирования.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
✍🏻 Опишите модификатор «protected internal»
Члены с таким модификатором доступны классам, находящимся в той же сборке и унаследованным от данного класса.
Библиотека собеса по С#
Библиотека собеса по С#
❤1🤔1
Назовите все базовые типы данных, присутствующие в C#.
Существует четыре основных типа данных.
Char
Int
Float
Double
Библиотека собеса по С#
Библиотека собеса по С#
🤔8🌚4👾4