Что такое RedirectPermanent в ASP.Net?
Перегрузка метода RedirectPermanent(String) дает код статуса HTTP 301 в реакции и включает URL для перенаправления запроса. Код статуса HTTP 301 — это стандартный код в реакции HTTP. Он показывает, что существует длительное перенаправление, и дает область перенаправления.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
«Этот манёвр будет стоить нам 51 год...»
— или один заваленный оффер в BigTech из-за плавающих знаний в базе. На собеседованиях по
Если вы хотите уверенно отвечать на каверзные вопросы или проектировать сложные системы, сейчас — лучшая точка входа.
Актуальные программы:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Забирайте обучение по старой цене, чтобы через год не смотреть на свой оффер со слезами из-за книжного шкафа.
Подготовиться к офферу выгодно
⚠️ Цены вырастут уже 19 января
— или один заваленный оффер в BigTech из-за плавающих знаний в базе. На собеседованиях по
.NET всё чаще спрашивают не только синтаксис, но и фундаментальные алгоритмы с архитектурой. Пока рынок несётся вперёд, старые цены в Proglib Academy скоро останутся в прошлом.Если вы хотите уверенно отвечать на каверзные вопросы или проектировать сложные системы, сейчас — лучшая точка входа.
Актуальные программы:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Забирайте обучение по старой цене, чтобы через год не смотреть на свой оффер со слезами из-за книжного шкафа.
Подготовиться к офферу выгодно
⚠️ Цены вырастут уже 19 января
Можно ли изменить значение переменной во время отладки приложения?
Да, значения переменных можно изменять во время отладки.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
Как бы вы настроили систему диалогов для NPC в Unity?
Для настройки диалоговой системы для NPC в Unity можно следовать следующим шагам:
1. Определение структуры диалога: Создайте структуру данных для хранения диалогов. Это может быть класс или структура, содержащая текст диалога, варианты ответов и ссылки на следующие реплики.
2. Создание интерфейса: Разработайте пользовательский интерфейс для отображения диалогов. Используйте UI элементы, такие как текстовые поля для отображения реплик и кнопки для выбора ответов.
3. Скрипт NPC: Напишите скрипт для NPC, который будет инициировать диалог при взаимодействии с игроком. Этот скрипт должен загружать соответствующий диалог из вашей структуры данных.
4. Система управления диалогом: Создайте класс, который будет управлять логикой диалога. Он должен обрабатывать выбор игрока, обновлять текст на экране и переходить к следующей реплике.
5. Сохранение и загрузка диалогов: Если диалоги сложные, можно использовать JSON или Scriptable Objects для хранения и загрузки данных диалога.
6. Тестирование и доработка: Протестируйте систему, чтобы убедиться, что все работает корректно, и внесите необходимые изменения для улучшения взаимодействия.
Эти шаги помогут вам создать базовую диалоговую систему для NPC в Unity.
🐸 Библиотека собеса по С#
1. Определение структуры диалога: Создайте структуру данных для хранения диалогов. Это может быть класс или структура, содержащая текст диалога, варианты ответов и ссылки на следующие реплики.
2. Создание интерфейса: Разработайте пользовательский интерфейс для отображения диалогов. Используйте UI элементы, такие как текстовые поля для отображения реплик и кнопки для выбора ответов.
3. Скрипт NPC: Напишите скрипт для NPC, который будет инициировать диалог при взаимодействии с игроком. Этот скрипт должен загружать соответствующий диалог из вашей структуры данных.
4. Система управления диалогом: Создайте класс, который будет управлять логикой диалога. Он должен обрабатывать выбор игрока, обновлять текст на экране и переходить к следующей реплике.
5. Сохранение и загрузка диалогов: Если диалоги сложные, можно использовать JSON или Scriptable Objects для хранения и загрузки данных диалога.
6. Тестирование и доработка: Протестируйте систему, чтобы убедиться, что все работает корректно, и внесите необходимые изменения для улучшения взаимодействия.
Эти шаги помогут вам создать базовую диалоговую систему для NPC в Unity.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🌚1
Можете ли вы объяснить, что означает LOD (уровень детализации) в Unity?
LOD (Level of Detail) в Unity — это метод, используемый для оптимизации производительности рендеринга путем снижения сложности 3D-моделей по мере их удаления от камеры. Это помогает поддерживать баланс между визуальным качеством и производительностью. Система LOD Unity позволяет разработчикам создавать несколько версий модели с разным уровнем детализации.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
Можете ли вы описать, как бы вы реализовали регистрацию ошибок в приложении .NET?
Реализация регистрации ошибок в приложении .NET обычно включает использование библиотек регистрации, таких как log4net, NLog или встроенной Microsoft.Extensions.Logging. Эти библиотеки предоставляют настраиваемые механизмы, которые могут регистрировать ошибки в различных местах назначения, таких как файлы, базы данных или внешние службы.
Разработчики должны настроить библиотеку регистрации в коде запуска приложения и использовать различные уровни регистрации (например, Debug, Info, Warn, Error, Fatal) для сбора и классификации логов соответствующим образом.
🐸 Библиотека собеса по С#
Разработчики должны настроить библиотеку регистрации в коде запуска приложения и использовать различные уровни регистрации (например, Debug, Info, Warn, Error, Fatal) для сбора и классификации логов соответствующим образом.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Пятница, 19:00. Худшее время для деплоя, но идеальное, чтобы подтянуть архитектуру ИИ-систем и не поплыть на вопросе про RAG на интервью.
Подтяните свои знания перед следующим интервью.
Разберём на открытом уроке:
— механизмы
— как хранить и искать данные в векторных хранилищах;
— пример кода для «чтения» PDF-файлов нейронкой.
Один из спикеров — Алексей Яндутов, ML-инженер в поиске Яндекса.
Это вводный урок курса «Разработка AI-агентов». Ориентируемся на практику.
Записаться на урок
Подтяните свои знания перед следующим интервью.
Разберём на открытом уроке:
— механизмы
RAG против Fine-tuning;— как хранить и искать данные в векторных хранилищах;
— пример кода для «чтения» PDF-файлов нейронкой.
Один из спикеров — Алексей Яндутов, ML-инженер в поиске Яндекса.
Это вводный урок курса «Разработка AI-агентов». Ориентируемся на практику.
Записаться на урок
proglib.academy
Курс| Разработка AI-агентов
Курс про контролируемую разработку AI-агентов: качество, стоимость, наблюдаемость и тестирование. С первого занятия — практическая работа.
Вы планируете вернуть из публичного API ValueTask<T> ради снижения аллокаций. Какие риски это несёт для потребителей и как правильно поступить?
ValueTask<T> допускает только одно ожидание и плохо сочетается с повторным await/композицией (WhenAll, кеширование результата). Его нельзя хранить в полях и возвращать повторно. В публичных API обычно оставляют Task<T>, а ValueTask<T> используют только на горячих путях, где >90% завершений синхронные; при необходимости многократно ждать/комбинировать — сразу делать .AsTask().
Библиотека собеса по С#
Библиотека собеса по С#
👍8
В продакшене .NET-сервис со временем начинает замедляться, при этом CPU загружен не полностью, но видно рост задержек при обработке запросов. Как вы будете искать и устранять проблему?
Провести профилирование (PerfView, dotTrace) для анализа блокировок и асинхронных операций, проверить работу async/await на предмет deadlock’ов, посмотреть contention в lock/Monitor. Оптимизировать использование асинхронных I/O, ограничить параллелизм (например, SemaphoreSlim), снизить аллокации и при необходимости перепроектировать горячие участки кода.
Библиотека собеса по С#
Библиотека собеса по С#
❤6
Что такое enum и когда его следует использовать?
Enum — это тип значения, который используется для хранения перечислений, представляющих собой список именованных констант. Enum можно использовать для определения статических констант и константных флагов.
Библиотека собеса по С#
Библиотека собеса по С#
Можете ли вы кратко объяснить, что такое пул потоков в C#?
Thread Pool в C# — это, по сути, коллекция потоков. Эти потоки используются для выполнения задач, не внося помех в реализацию основного потока. После того, как поток из пула потоков завершает реализацию, он возвращается в пул потоков.
Библиотека собеса по С#
Библиотека собеса по С#
😁3
В паттерне MVVM командная логика реализуется через интерфейс ICommand, который связывает действия пользователя (например, нажатие кнопки) с выполнением бизнес-логики в ViewModel.
ICommand имеет два метода:
• Execute — выполняет команду.
• CanExecute — проверяет, можно ли выполнить команду, например, активировать или деактивировать кнопку.
Когда пользователь выполняет действие, вызывается Execute, а CanExecute управляет доступностью команды. Это разделение логики между View и ViewModel улучшает тестируемость и поддерживаемость кода, поскольку UI не содержит бизнес-логики.
Please open Telegram to view this post
VIEW IN TELEGRAM
В ASP.NET Core у вас кэш над БД. Когда TTL истекает, сотни запросов одновременно пробивают кэш и штурмуют БД (cache stampede). Как спроектировать дедупликацию «получения значения» per-key без дедлоков и утечек, учитывая отмену/таймауты?
Сделать single-flight per key: ConcurrentDictionary<TKey, Lazy<Task<T>>> (или AsyncLazy) + GetOrAdd. Первый запрос запускает загрузку, остальные await той же Task. Важно: на ошибке/отмене удалять ключ из словаря, чтобы не закрепить failed-task; прокидывать CancellationToken; ставить таймаут и stale-while-revalidate для мягкого обновления. Для изоляции горячих ключей — пер-key SemaphoreSlim или Channel; результаты хранить в IMemoryCache с policy (TTL, size, eviction).
Библиотека собеса по С#
Библиотека собеса по С#
👍9
Что такое ViewState?
ViewState — это функция ASP.NET для сохранения значений страницы перед ее отправкой на сервер. После публикации страницы данные из ViewState восстанавливаются.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли разрешить наследование класса, но запретить переопределение его метода?
Да, это возможно для второго класса в иерархии наследования. Для этого нужно использовать модификатор sealed в сочетании с ключевым словом override при переопределении виртуального метода. Таким образом, дальнейшее переопределение этого метода в последующих классах будет запрещено.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Объясните, что такое локальная переменная в C#.
Локальными переменными называются переменные, которые определены в блоке кода. Они видны только в блоке кода, в котором они объявлены.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3
В Unity объясните различия между FixedUpdate, Update и LateUpdate. Как вы решите, когда использовать каждый из этих методов обновления для различных компонентов игрового движка, таких как обработка физики, общая логика игры, и анимации?
Краткий ответ: В Unity, методы FixedUpdate, Update и LateUpdate используются для различных целей в игровом цикле:
FixedUpdate вызывается с фиксированным интервалом времени и является идеальным для обработки всего, что связано с физикой, так как физический движок Unity обновляется в фиксированные моменты времени. Это обеспечивает стабильность физических вычислений независимо от частоты кадров.
Update вызывается один раз за кадр и используется для общей игровой логики, такой как получение ввода от пользователя, перемещение персонажей, обновление таймеров и т.д. Так как частота вызовов Update зависит от частоты кадров, это не подходит для обработки физики.
LateUpdate вызывается после всех Update вызовов в кадре. Этот метод часто используется для действий, которые должны происходить после всех основных обновлений игры, например, для камеры, следящей за персонажем, чтобы убедиться, что персонаж уже переместился, прежде чем обновлять положение камеры.
🐸 Библиотека собеса по С#
FixedUpdate вызывается с фиксированным интервалом времени и является идеальным для обработки всего, что связано с физикой, так как физический движок Unity обновляется в фиксированные моменты времени. Это обеспечивает стабильность физических вычислений независимо от частоты кадров.
Update вызывается один раз за кадр и используется для общей игровой логики, такой как получение ввода от пользователя, перемещение персонажей, обновление таймеров и т.д. Так как частота вызовов Update зависит от частоты кадров, это не подходит для обработки физики.
LateUpdate вызывается после всех Update вызовов в кадре. Этот метод часто используется для действий, которые должны происходить после всех основных обновлений игры, например, для камеры, следящей за персонажем, чтобы убедиться, что персонаж уже переместился, прежде чем обновлять положение камеры.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Каково назначение функции Awake в скриптах Unity?
Функция Awake — это специальный метод в Unity, который вызывается при загрузке экземпляра скрипта. Он используется для инициализации переменных или состояния игры перед ее запуском. Awake вызывается только один раз за время существования экземпляра скрипта и вызывается даже если компонент отключен.
Awake используется для инициализаций, которые должны быть выполнены до вызова методов Start любых других скриптов, обеспечивая правильную настройку ссылок на объекты и начального состояния.
🐸 Библиотека собеса по С#
Awake используется для инициализаций, которые должны быть выполнены до вызова методов Start любых других скриптов, обеспечивая правильную настройку ссылок на объекты и начального состояния.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🦾 Что такое абстракция и как она связана с ООП?
Под абстракцией понимается модель реальной жизни, упрощенная для решения конкретной задачи, которая выражена в объекте, то есть любой объект — это абстракция, так как она только частично описывает реальную сущность. Поэтому любой объект можно считать абстракцией и он только частично описывает реальную сущность. Во время преобразования реальных сущностей в объект, он лишается тех характеристик, которые являются несущественными деталями.
Например можно составить упрощенный класс человека, который умеет двигаться, а от всего остального мы абстрагируемся (в данным случае несущественно то, что он умеет дышать, кушать, видеть, слышать и так далее).
Библиотека собеса по С#
Например можно составить упрощенный класс человека, который умеет двигаться, а от всего остального мы абстрагируемся (в данным случае несущественно то, что он умеет дышать, кушать, видеть, слышать и так далее).
Библиотека собеса по С#
❤4🥱2