Библиотека собеса по C# | вопросы с собеседований
5.49K subscribers
256 photos
5 videos
1 file
435 links
Вопросы с собеседований по C# и ответы на них.

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
🔎 Собес сам себя не пройдет

Ты готов к собеседованию? А если проверю?

Залетай к нам и забирай курсы со скидкой 40%. Только до конца октября можно узнать много нового и отточить навыки.

🎯 Забирай курсы:

🐍 python для разработчиков;
🧮 алгоритмы и структуры данных;
📝 архитектуры и шаблоны проектирования;
🧩 основы IT для новичков.

Не упусти скидку и получи долгожданный оффер!
Что делает ключевое слово var в C#?

Компилятор выводит статический тип переменной по правой части выражения. Это не dynamic: тип фиксируется на этапе компиляции. Нельзя использовать без инициализации и менять тип этой переменной позже. Кстати, у нас есть курс по основам IT для непрограммистов со скидкой 40%: https://proglib.academy/non-programmers

Библиотека собеса по С#
Как реализовать «single-flight» асинхронный кэш в C#, чтобы при наплыве запросов по одному ключу выполнялась ровно одна загрузка?

Держите ConcurrentDictionary<TKey, Lazy<Task<T>>>: через GetOrAdd публикуйте один общий Lazy<Task<T>> на ключ (режим ExecutionAndPublication) и await его. При отмене/ошибке — удаляйте запись, чтобы следующая попытка перезапустила загрузку. Добавьте TTL/лимиты (например, IMemoryCache), фоновые обновления, per-request CancellationToken, не кэшируйте исключения и следите за размерами/метриками промахов. Альтернатива — пер-ключевой SemaphoreSlim/lock для объединения запросов.

Библиотека собеса по С#
😢1
🎲 Знаешь, что хуже всего на собесе?

Когда задают простой вопрос, а ты не можешь ответить.

🤔 Это ощущение, когда понимаешь:
«Блин, я это знаю... вроде... сейчас...»


От «я знаю...» до «сейчас объясню!» всего один курс.

Алгоритмы и структуры данных — от Big O до задач криптографии.

Python для разработчиков — пиши чистый и эффективный код.

Архитектуры и шаблоны — строй системы, которые масштабируются.

Основы IT — всё необходимое для входа в профессию.

Выбирай любой и забирай со скидкой 40% только до конца октября.

🔗 Выбрать курс
Что вы подразумеваете под объектом в C#?

Реальная сущность, имеющая поведение и атрибуты, объект в C# представляет класс, к которому он принадлежит. Для своих функций-членов он выполняет распределение памяти.

Библиотека собеса по С#
Почему алгоритм Дейкстры не работает с отрицательными рёбрами и что использовать вместо него?

Короткий ответ: жадный выбор «замораживает» вершины, предполагая, что найденные расстояния минимальны; с отрицательными рёбрами это нарушается. Используйте Беллмана–Форда (O(VE)) для отрицательных рёбер и детекции отрицательных циклов или Джонсона для всех пар на разреженных графах. Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных.

Библиотека собеса по С#
🤔 Как ускорить браузер

Закрой все вкладки со словами «MacBook», «купить ноутбук», «ноут в рассрочку». Потому что у нас есть решение лучше.

🔥 Proglib разыгрывает MacBook Pro 14. Формула простая: покупаешь любой курс до 15 ноября → учишься 2 недели → пишешь куратору #розыгрыш

Пока у тебя открыто 147 вкладок с ценами, кто-то уже прокачивает скилы и может забрать приз.

👉🏻 Выбрать курс для участия
🥱2
Перечислите различные методы трассировки, представленные в ASP.NET?

Assert() проверяет условие и выводит сообщение, если условие ложно.
Close() очищает выходной буфер, а затем закрывает прослушиватели, чтобы они больше не получали отладочные выходные данные.
Fail() — этот метод выдает сообщение об ошибке.
GetType() используется для получения типа объекта.
ToString() возвращает строку, представляющую текущий объект.
GetHashCode() — метод работает как хэш-функция для определенного типа. Он подходит для использования в алгоритмах хэширования и структурах данных, таких как хэш-таблица.
Equals() определяет, является ли указанный объект тем же экземпляром, что и текущий объект.
Warn() имеет две формы. Первая форма записывает информацию трассировки в журнал трассировки, включая любые определенные пользователем категории.
Write() имеет две формы. Первая форма записывает информацию в журнал трассировки, включая любые определенные пользователем категории и сообщения.


Библиотека собеса по С#
🤔1