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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
🎁 256-й день года: 15 подарков, которые оценит каждый программист

Мы собрали 15 идей подарков — от практичных гаджетов до инструментов для профессионального роста. Эти подарки не только упростят рабочий процесс, но и вдохновят на новые достижения. Независимо от того, junior вы или senior, в нашем списке каждый найдёт что-то для себя.

👉 Смотреть список
September 17, 2024
В Unity объясните различия между FixedUpdate, Update и LateUpdate. Как вы решите, когда использовать каждый из этих методов обновления для различных компонентов игрового движка, таких как обработка физики, общая логика игры, и анимации?

Краткий ответ: В Unity, методы FixedUpdate, Update и LateUpdate используются для различных целей в игровом цикле:
FixedUpdate вызывается с фиксированным интервалом времени и является идеальным для обработки всего, что связано с физикой, так как физический движок Unity обновляется в фиксированные моменты времени. Это обеспечивает стабильность физических вычислений независимо от частоты кадров.

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

LateUpdate вызывается после всех Update вызовов в кадре. Этот метод часто используется для действий, которые должны происходить после всех основных обновлений игры, например, для камеры, следящей за персонажем, чтобы убедиться, что персонаж уже переместился, прежде чем обновлять положение камеры.
September 18, 2024
🌎 Интенсив «Архитектуры и шаблоны проектирования» для middle и senior-разработчиков

Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/82c22c5a

🧐 Кому подойдет?

Разработчикам, которые знают любой объектно-ориентированный язык программирования.

🧐 Как проходит обучение?

В течение всего интенсива вы будете создавать игру «Звездные войны». У вас будет собственный корабль, который научится летать по полю битвы, стрелять основным оружием и применять секретное оружие.

👉 Подробная программа обучения

👉 Купить со скидкой 30% 👉

Промокод MIDDLE действует до 25 сентября
Please open Telegram to view this post
VIEW IN TELEGRAM
September 19, 2024
Какова цель функции Awake в скриптах Unity?

Функция Awake — это специальный метод в Unity, который вызывается при загрузке экземпляра скрипта. Он используется для инициализации переменных или состояния игры перед началом игры. Кандидаты должны упомянуть, что Awake вызывается только один раз в течение жизненного цикла экземпляра скрипта и вызывается даже если компонент скрипта отключен. Ищите ответы, которые противопоставляют Awake и Start. Сильные кандидаты могут объяснить, что Awake используется для инициализаций, которые должны произойти до вызова методов Start любых других скриптов, обеспечивая правильную настройку ссылок на объекты и начального состояния.
September 19, 2024
Какой оператор for() является правильным для запуска бесконечного цикла?
Anonymous Quiz
39%
for(;;)
37%
for(;;);
12%
for(;;)
12%
for(1;1;1)
September 20, 2024
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏗 3 основных шаблона событийно-ориентированной архитектуры

Знание данных шаблонов позволяет:

✔️ Создавать слабосвязанные системы, в которых сбой одного компонента не приводит к полному отказу всей системы, а составные части приложения легче масштабировать и модифицировать.
✔️ Эффективно управлять асинхронными операциями и обрабатывать непредсказуемые события в системе.
✔️ Разрабатывать отзывчивые и эффективные приложения, обрабатывающие данные в реальном времени.
✔️ Создавать высоконагруженные системы, в которых требуется быстрая реакция на события.
✔️ Эффективно использовать современные технологии, например потоковую обработку данных и бессерверные вычисления.

1️⃣ Шаблон конкурирующих потребителей используется для эффективного распределения большого количества асинхронных сообщений между несколькими потребителями. Ключевой момент в этом шаблоне — необходимость обработки каждого сообщения только одним потребителем. Разные инструменты и платформы решают эту задачу по-своему:
2️⃣ Шаблон повторных попыток сообщений используется для обработки ошибок при работе с очередями сообщений. Этот шаблон позволяет создать надежную систему обработки транзакций, способную справляться с временными сбоями и обеспечивающую контролируемый процесс для работы с проблемными транзакциями, например, при обработке платежей.
3️⃣ Шаблон асинхронного запроса-ответа позволяет создавать масштабируемые и устойчивые к сбоям системы, где сервисы могут взаимодействовать асинхронно, не блокируя друг друга и сохраняя способность корректно обрабатывать ответы даже при изменении состояния системы между запросом и ответом.

👉 Подробнее читайте в нашей статье
👉 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
September 21, 2024
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
September 22, 2024
Какова цель Unity Profiler?

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

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

Сильные кандидаты могут обсудить конкретные методы оптимизации, которые они применили на основе данных Profiler, или упомянуть, как использовать Profiler для диагностики проблем производительности на разных платформах.
September 23, 2024
Что такое система NavMesh в Unity и как она используется?

Система NavMesh (навигационная сетка) в Unity — это встроенное решение для поиска пути для разработчиков игр. Она генерирует упрощенное представление игрового мира, которое управляемые ИИ персонажи могут использовать для навигации.

На собеседовании стоит объяснить, что NavMesh работает путем запекания проходимых поверхностей игрового уровня в сетку, которую агенты затем могут использовать для расчета путей. Можно упомянуть такие компоненты, как NavMeshAgent и NavMeshObstacle.
September 24, 2024
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста

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

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

🔗 Читать статью
🔗 Зеркало
September 25, 2024
September 26, 2024
September 27, 2024
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки

Готов узнать, как решать задачки, от которых плавятся мозги?


В этой статье раскрываем тайну происхождения термина «динамическое программирование» и показываем основные подходы к решению задач, которые часто встречаются на собеседованиях и соревнованиях.

Также у нас есть курс как для начинающих программистов, так и для тех, кто уже шарит:
🔵 Алгоритмы и структуры данных

🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
September 28, 2024
September 29, 2024
Что из перечисленного нельзя использовать для объявления интерфейса в C#?
Anonymous Quiz
6%
Методы
12%
Свойства
28%
События
55%
Структуры
September 30, 2024
Каково назначение функции Awake в скриптах Unity?

Функция Awake — это специальный метод в Unity, который вызывается при загрузке экземпляра скрипта. Он используется для инициализации переменных или состояния игры перед ее запуском. Awake вызывается только один раз за время существования экземпляра скрипта и вызывается даже если компонент отключен.

Awake используется для инициализаций, которые должны быть выполнены до вызова методов Start любых других скриптов, обеспечивая правильную настройку ссылок на объекты и начального состояния.
October 1, 2024
Какова важность физики в Unity и как ее применять?

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

Ожидайте, что кандидаты обсудят такие компоненты, как Rigidbody, Colliders и Physics Materials. Они должны предоставить примеры применения физики в своих проектах, обеспечивающие реалистичное поведение и взаимодействия в своих играх.
October 2, 2024
В чем разница между MonoBehaviour и ScriptableObject в Unity?

MonoBehaviour — это базовый класс для компонентов, которые прикрепляются к GameObjects, позволяя им получать события жизненного цикла Unity и взаимодействовать с игровым миром. ScriptableObject, с другой стороны, — это класс контейнера данных, используемый для хранения и обмена данными между различными объектами и сценами.

MonoBehaviours являются специфичными для экземпляров и привязаны к GameObjects, в то время как ScriptableObjects основаны на ассетах и могут существовать независимо от объектов сцены.

Можно обсудить использование MonoBehaviours для игровой логики и ScriptableObjects для данных конфигурации или общих ресурсов.
October 3, 2024
Forwarded from Библиотека программиста | программирование, кодинг, разработка
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных

Долгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу. Рекурсивные CTE состоят из двух частей:

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

Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Энтузиасты уже сделали:

Визуализацию множества Мандельброта с помощью ASCII-графики.
3D-движок для рисования объемных фигур.
GPT на 500 строках SQL-кода. Подробная статья о реализации этого проекта опубликована здесь.
Трассировку лучей (это метод создания реалистичных изображений).

На прошлой неделе коллекция крутых SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».

Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:

• игровой цикл;
• вывод игры;
• пользовательский ввод;
• решение проблемы изоляции данных;
• предотвращение кэширования.

Для управления состоянием игры и обработки игровых событий используются подзапросы и агрегатные функции.

🔗 Подробнее читайте в статье
🔗 Зеркало
October 4, 2024
Можете ли вы описать, как бы вы реализовали регистрацию ошибок в приложении .NET?

Реализация регистрации ошибок в приложении .NET обычно включает использование библиотек регистрации, таких как log4net, NLog или встроенной Microsoft.Extensions.Logging. Эти библиотеки предоставляют настраиваемые механизмы, которые могут регистрировать ошибки в различных местах назначения, таких как файлы, базы данных или внешние службы.

Разработчики должны настроить библиотеку регистрации в коде запуска приложения и использовать различные уровни регистрации (например, Debug, Info, Warn, Error, Fatal) для сбора и классификации логов соответствующим образом.
October 5, 2024