Различия между интерфейсом и абстрактным классом в .NET
Интерфейс определяет набор поведения, которым должны обладать классы, его реализующие. Он включает только объявления свойств, методов и событий, без указания модификаторов доступа. Все члены интерфейса обязательно должны быть реализованы в классах, которые его используют.
Абстрактный класс, в свою очередь, предлагает частичную реализацию функциональности и может содержать как абстрактные, так и виртуальные члены, которые должны быть реализованы наследующими его классами. Кроме того, абстрактный класс может содержать поля.
Важно отметить, что ни интерфейс, ни абстрактный класс не могут быть инстанцированы.
Библиотека собеса по С#
Абстрактный класс, в свою очередь, предлагает частичную реализацию функциональности и может содержать как абстрактные, так и виртуальные члены, которые должны быть реализованы наследующими его классами. Кроме того, абстрактный класс может содержать поля.
Важно отметить, что ни интерфейс, ни абстрактный класс не могут быть инстанцированы.
Библиотека собеса по С#
🥱6😁1
Как спроектировать архитектуру мобильной игры в Unity, чтобы удерживать стабильные 60 FPS при тысячах активных сущностей и уметь выкатывать контент без обновления клиента (через CDN), при этом минимизируя аллокации и времена загрузок?
Симуляцию вынести в ECS/DOTS с Jobs+Burst и фиксированным тиками, рендер отделить через Hybrid Renderer; для остального — агрегировать поведение в небольшое число систем вместо тысяч Update(). Память держать под контролем: NativeArray/пулы, адресная загрузка через Addressables с remote catalog, хэшами и версионированием на CDN, всё асинхронно с бюджетами времени кадра и пределами concurrent загрузки. Мир стримить аддитивно через Subscenes и пред-бейк, ассеты ужимать (ASTC/ETC2, LOD/mesh compression), шейдер-варианты резать. На сборке — IL2CPP, managed/code stripping, отключённые подробные исключения. Профилировать и регрессии ловить в CI (Profiler, Memory Profiler, Frame Debugger), целититься в бюджеты: CPU ≤ 6–8 мс, render ≤ 6–8 мс, загрузка — мелкими батчами без спайков GC.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁1
Что такое readonly struct в C# и в чём его отличие от обычной структуры? В каких случаях стоит использовать readonly struct?
readonly struct в C# — это структура, у которой запрещено изменение состояния после создания. Все поля такой структуры должны быть помечены как readonly, и любые методы не имеют права изменять содержимое полей. Это создаёт гарантию, что экземпляр структуры остаётся неизменным. Главное отличие от обычной структуры заключается в том, что обычная структура может быть изменена после создания, а readonly struct — нет. Использовать readonly struct имеет смысл в ситуациях, когда структура представляет собой логически неизменяемый объект (например, координата, цвет, диапазон), и нужно обеспечить как защиту от случайных изменений, так и избежать лишнего копирования при передаче в методы или возвращении из них.
Библиотека собеса по С#
Библиотека собеса по С#
👍6
Является ли тип List потокобезопасной коллекцией?
Тип List может быть безопасным для потоков в случае операций чтения. Однако пользовательский код должен самостоятельно обеспечивать синхронизацию при параллельном добавлении или удалении элементов из коллекции в нескольких потоках.
Библиотека собеса по С#
Библиотека собеса по С#
😁4❤1
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
В программе:
— практика с первого занятия:
— оркестрация в
— продвинутый
— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
👉 Присоединиться к четвёртому потоку и вывести агентов в прод
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
AgentOps и сместили фокус с базовых концепций на суровый инжиниринг. Ответить на вопросы про сборку мусора и асинхронность в C на собеседовании легко, а вот интегрировать ИИ-агента в корпоративный контур, чтобы он не галлюцинировал в проде — задача со звёздочкой.В программе:
— практика с первого занятия:
Jupyter-ноутбуки с автопроверкой;— оркестрация в
LangGraph: human-in-the-loop и механизм time-travel;— продвинутый
RAG для продакшена и парсинг сложных документов;— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
Agent забирайте скидку 10 000 ₽ (89 000 ₽ вместо 99 000 ₽). Успейте занять место до 28 февраля!👉 Присоединиться к четвёртому потоку и вывести агентов в прод
Что такое .Net Framework?
.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.
Библиотека собеса по С#
Библиотека собеса по С#
🙏1
Сколько типов серверных элементов управления поддерживает ASP.NET?
В ASP.NET в основном существует четыре различных типа элементов управления на стороне сервера:
✍️ Элементы управления сервером HTML;
✍️ Элементы управления веб-сервером;
✍️ Элементы управления пользователем;
✍️ Элементы управления проверкой.
Библиотека собеса по С#
✍️ Элементы управления сервером HTML;
✍️ Элементы управления веб-сервером;
✍️ Элементы управления пользователем;
✍️ Элементы управления проверкой.
Библиотека собеса по С#
🌚4😁2😢1
Последний шанс: 3 курса по цене 1 и запуск AI-агентов в продакшн
На собеседованиях по
Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
На собеседованиях по
.NET всё чаще спрашивают про интеграцию с LLM. Но бизнесу нужны не просто запросы к API, а предсказуемость. Как контролировать затраты, маршрутизировать мультиагентные системы и не нарушить 152-ФЗ?Обновлённая программа делает упор на жёсткий инжиниринг и вывод в прод. Вы научитесь строить ReAct-циклы, работать с
LangGraph и AutoGen, внедрять продвинутый RAG, протоколы MCP и AgentOps. Все ключевые навыки в одном месте: измеримость систем, time-travel дебаггинг, управление браузером, human-in-the-loop и развёртывание в закрытых контурах.Почему нельзя откладывать:
— масштабная акция «3 курса по цене 1» сгорает уже сегодня;
— промокод
Agent на скидку 10 000 рублей действует последние часы;— сразу после оформления открываются материалы для подготовки — начать учиться можно прямо сейчас.
Забронировать место на курсе и забрать бонусы до конца дня
Как ключевое слово volatile работает в C#? Когда и как его следует использовать?
Ключевое слово volatile используется для того, чтобы значение переменной всегда считывалось и записывалось в основную память, а не из кэша. Используйте его, если у вас есть переменная, совместно используемая несколькими потоками, и вы хотите избежать потенциальных проблем с видимостью или устаревших значений.
Библиотека собеса по С#
Библиотека собеса по С#
🤔2👍1😁1
Как вы подходите к оптимизации производительности в Unity для мобильных устройств, учитывая ограничения аппаратного обеспечения и разнообразие экосистемы устройств?
Для оптимизации производительности в Unity для мобильных устройств, важно сосредоточиться на следующих аспектах:
Оптимизация ресурсов: Сжатие текстур и мешей, использование LOD (Level of Detail) для уменьшения детализации объектов на расстоянии и оптимизация ассетов для уменьшения загрузки на GPU.
Эффективное использование освещения: Использование статического и запекаемого освещения вместо динамического, что снижает нагрузку на процессор.
Оптимизация скриптов: Минимизация использования операций Update() и FixedUpdate(), оптимизация алгоритмов и структур данных.
Пакетная обработка и куллинг: Использование пакетной обработки для уменьшения количества draw calls и эффективный куллинг для исключения не видимых объектов из рендеринга.
Тестирование и профилирование: Регулярное использование профилировщика Unity для выявления и устранения узких мест производительности.
Адаптация к различным устройствам: Создание различных профилей графических настроек для адаптации к разным классам устройств, учитывая их аппаратные возможности.
Библиотека собеса по С#
Оптимизация ресурсов: Сжатие текстур и мешей, использование LOD (Level of Detail) для уменьшения детализации объектов на расстоянии и оптимизация ассетов для уменьшения загрузки на GPU.
Эффективное использование освещения: Использование статического и запекаемого освещения вместо динамического, что снижает нагрузку на процессор.
Оптимизация скриптов: Минимизация использования операций Update() и FixedUpdate(), оптимизация алгоритмов и структур данных.
Пакетная обработка и куллинг: Использование пакетной обработки для уменьшения количества draw calls и эффективный куллинг для исключения не видимых объектов из рендеринга.
Тестирование и профилирование: Регулярное использование профилировщика Unity для выявления и устранения узких мест производительности.
Адаптация к различным устройствам: Создание различных профилей графических настроек для адаптации к разным классам устройств, учитывая их аппаратные возможности.
Библиотека собеса по С#
😁1
Почему мы используем коллекции в C#?
Классы коллекций используются для динамического выделения памяти элементам и доступа к списку элементов на основе индекса.
Библиотека собеса по С#
Библиотека собеса по С#
😁5
Что делает оператор throw?
Оператор throw позволяет вручную выдать исключение во время выполнения программы.
Библиотека собеса по С#
Библиотека собеса по С#
😁5😢2
Что такое префабы в Unity?
Префабы — это настраиваемые объекты игры, которые вы можете повторно использовать в своем проекте, чтобы создавать сложные сцены без необходимости вручную создавать каждый объект.
Библиотека собеса по С#
Библиотека собеса по С#
😁4❤1
Как в C# поля и свойства отличаются друг от друга?
В C# поля и свойства имеют различия друг от друга. Поле — это член класса или объекта, предназначенный для хранения данных, в то время как свойство — это член класса, который предоставляет методы для чтения, записи и вычисления значения соответствующего поля.
Библиотека собеса по С#
Библиотека собеса по С#
😁1