Библиотека собеса по C# | вопросы с собеседований
5.55K subscribers
234 photos
2 videos
1 file
337 links
Вопросы с собеседований по C# и ответы на них.

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

Учиться у нас: https://proglib.io/w/4c2f1c3b

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.iss.one/proglibrary/9197
Download Telegram
Можно ли реализовать несколько блоков catch?

Невозможно реализовать несколько блоков catch. После выполнения правильного кода catch управление переходит к блоку final. После этого реализуется код, следующий за final блоком.

Библиотека собеса по С#
🌚10😁5😢4👍3
Что такое Round Trip в ASP.NET?

В момент включения обработки на стороне сервера, тогда включаются четыре этапа:

1. Пользователь запрашивает веб-форму с веб-сервера.
2. Веб-сервер отвечает указанной веб-формой.
3. Пользователь вводит информацию и отправляет веб-форму на сервер.
4. Затем веб-сервер обрабатывает структуру формы и отправляет результаты обратно конкретному пользователю.

Теперь этап 3 известен как постбэк страницы, в то время как этапы 3 и 4 в совокупности известны как «Round Trip». Можно сказать, что обратный путь включает в себя выполнение полного обхода по сети к веб-браузеру и получение ответа. Веб-приложения используют HTTP для создания соответствия между веб-программой и сервером.


Библиотека собеса по С#
В чём разница в поведении между lock, Monitor.Enter/Exit и ReaderWriterLockSlim в C#, и когда каждый из них предпочтительнее использовать?

lock — синтаксический сахар над Monitor.Enter/Exit с автоматическим вызовом Exit в случае исключений. Monitor даёт больше контроля: можно использовать TryEnter с таймаутом, Pulse/Wait для координации потоков. ReaderWriterLockSlim позволяет нескольким потокам читать одновременно, но блокирует запись эксклюзивно, что повышает производительность при преобладании чтений. lock — для простых критических секций, Monitor — для сложной синхронизации с сигналами и таймингом, ReaderWriterLockSlim — при частых конкурентных чтениях и редких записях.

Библиотека собеса по С#
👍2
В чем разница между dispose и finalize в C#?

Основное различие между Dispose() и Finalize() заключается в том, что Dispose() должен быть явно вызван пользователем, а метод Finalize() вызывается сборщиком мусора при уничтожении объекта.

Библиотека собеса по С#
👍2
🦾 Что такое абстракция и как она связана с ООП?

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

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


Библиотека собеса по С#
🤔5
В чем разница между Update и FixedUpdate в Unity, и какие сценарии лучше всего подходят для каждого из них?

В Unity, Update вызывается один раз за кадр и идеально подходит для большинства обновлений игровой логики, таких как получение ввода пользователя и перемещение персонажей. FixedUpdate, с другой стороны, вызывается с фиксированным интервалом времени и лучше всего подходит для обновлений, связанных с физикой, таких как применение сил, поскольку это обеспечивает более стабильное и предсказуемое поведение физической системы.

Библиотека собеса по С#
👍2
Объясните, что такое Prefabs в Unity 3D?

Prefab в Unity 3D представляет собой готовый шаблон объекта, который объединяет в себе как элементы, так и скрипты. В процессе разработки вы можете перетаскивать префабы из окна проекта в окно сцены, добавляя их в иерархию игровых объектов.

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


Библиотека собеса по С#
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
Является ли тип List потокобезопасной коллекцией?

Тип List может быть безопасным для потоков в случае операций чтения. Однако пользовательский код должен самостоятельно обеспечивать синхронизацию при параллельном добавлении или удалении элементов из коллекции в нескольких потоках.

Библиотека собеса по С#
😁4🤔1
🧠 Выбор первого ML-проекта: чеклист против выгорания

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

Мини-чеклист первого проекта:

1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».

2. Измеримая метрика — «точность 92%», а не «ну вроде работает».

3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.

Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.

👉 Начать свой путь в Data Science

Оплатите курс по ML до 17 августа — курс по Python в подарок.

📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.

💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
Различия между интерфейсом и абстрактным классом в .NET

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

Абстрактный класс, в свою очередь, предлагает частичную реализацию функциональности и может содержать как абстрактные, так и виртуальные члены, которые должны быть реализованы наследующими его классами. Кроме того, абстрактный класс может содержать поля.
Важно отметить, что ни интерфейс, ни абстрактный класс не могут быть инстанцированы.


Библиотека собеса по С#
👍3
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!

Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!

На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.

📆 Старт потока — 15 сентября.

💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.

👉 Занять место
😁1
Назовите все базовые типы данных, присутствующие в C#.

Существует четыре основных типа данных.

Char
Int
Float
Double

Библиотека собеса по С#
🌚5😢2😁1🤔1