Библиотека собеса по C# | вопросы с собеседований
Відкрити в Telegram
Вопросы с собеседований по C# и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://clc.to/QRJIVw Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
Показати більше5 642
Підписники
+224 години
+57 днів
+1330 день
Архів дописів
❓ Что означает «D» в ACID?
Это свойство гарантирует, что как только транзакция завершена, её изменения будут сохранены, даже если система внезапно выйдет из строя.
Допустим, вы перевели деньги через интернет-банк, и транзакция завершилась успешно. Даже если сервер после этого упал, ваш перевод всё равно будет сохранён. Это означает, что данные, записанные в процессе транзакции, не потеряются и останутся целыми.
🐸Библиотека собеса по С#
👀 Как оптимизировать ситуацию, когда к таблице много join`ов?
Для оптимизации запросов с множественными JOIN-ами важно использовать индексы на полях JOIN-ов, избегать избыточных соединений, заменять несколько JOIN-ов на подзапросы и разбивать запросы на этапы с меньшим количеством JOIN-ов. Агрегация и фильтрация данных перед JOIN-ами также помогут ускорить запрос.
Правильный выбор типа JOIN-а, например, INNER JOIN вместо LEFT JOIN, тоже важен для производительности.
🐸Библиотека собеса по С#
❓ Что означает «I» в ACID?
Это свойство означает, что каждая транзакция выполняется независимо от других, даже если они происходят одновременно.
Например: два пользователя одновременно пытаются обновить информацию о товаре в магазине, то изменения одного пользователя не могут "перемешиваться" с действиями другого. Транзакции не видят промежуточные результаты других транзакций, пока они не будут завершены. Это гарантирует, что одна транзакция не повлияет на другую до её завершения.
🐸Библиотека собеса по С#
✍🏼 Расскажи про конкурентные коллекции в C#?
Конкурентные коллекции в C# предназначены для безопасного доступа к данным в многозадачных приложениях. Они позволяют нескольким потокам одновременно читать и изменять данные, исключая необходимость ручной синхронизации и минимизируя блокировки.
🐸Библиотека собеса по С#
Repost from Библиотека шарписта | C#, F#, .NET, ASP.NET
🎮🔌 4 cамых популярных фреймворка для разработки онлайн-игр на Unity
Сетевое взаимодействие — это сердце многопользовательской игры, и правильный выбор фреймворка это решающий фактор для проекта.
Посмотрите обзор самых популярных фреймворков для разработки онлайн-игр на Unity и выберите тот, который подходит для вашего проекта.
➡️ Читать обзор
🐸Библиотека шарписта
❓ Что означает «C» в ACID?
Это свойство гарантирует, что транзакция всегда переводит систему из одного валидного состояния в другое.
Например: перевод денег с одного счета на другой, система остаётся в корректном состоянии: сумма на одном счете уменьшилась, а на другом увеличилась. Если транзакция не завершится, изменения не будут внесены, и система останется в исходном валидном состоянии.
🐸Библиотека собеса по С#
❓ Что такое мультикаст-делегат
Мультикаст-делегат — это делегат, который может ссылаться на несколько методов одновременно. При вызове такого делегата все методы в его списке вызовов выполняются последовательно.
🐸Библиотека собеса по С#
Repost from Библиотека шарписта | C#, F#, .NET, ASP.NET
🕸 Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1
HTTP/2 — это как переход с однополосной дороги HTTP/1.1 на скоростное шоссе: быстрее, эффективнее и без пробок.
Узнайте, как новые технологии ускоряют загрузку веб-страниц и улучшают работу приложений.
➡️ Читать статью
🐸Библиотека шарписта
❓ Что означает «A» в ACID?
Это свойство означает, что транзакция — неделимая единица работы: либо выполняется полностью, либо не выполняется вообще.
Если хоть одна операция внутри транзакции не удалась — все изменения откатываются, и система остаётся в исходном состоянии, будто ничего не происходило.
🐸Библиотека собеса по С#
✔️ Как в C# поля и свойства отличаются друг от друга?
В C# поля и свойства имеют различия друг от друга. Поле — это член класса или объекта, предназначенный для хранения данных, в то время как свойство — это член класса, который предоставляет методы для чтения, записи и вычисления значения соответствующего поля.
Библиотека собеса по С#
Repost from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🪄 Визуальные вычисления в Power BI: прокачиваем условное форматирование
Теперь настраивать условное форматирование в Power BI можно без сложных DAX-формул!
Разбираем, как новые визуальные вычисления помогают создавать динамичные, адаптивные и стильные отчеты, которые мгновенно реагируют на изменения данных.
⭐️ Пора сделать отчеты действительно интерактивными!
🔗 Ссылка на статью: https://proglib.io/sh/lsb0fEuYSv
Библиотека дата-сайентиста
✍🏻 Расскажите, какова функция Inspector в Unity 3D
Инспектор — это контекстно-зависимая панель, на которой вы можете настроить положение, масштаб и поворот игровых объектов, перечисленных на панели иерархии.
Библиотека собеса по С#
✍🏻 Чем отличаются интерфейсы от абстрактных классов в C#?
Интерфейсы и абстрактные классы в C# являются механизмами для реализации полиморфизма и обеспечения повторного использования кода. Вот основные отличия между ними:
1. Отношение к классам-наследникам: Абстрактный класс может иметь как абстрактные, так и конкретные (реализованные) методы. Интерфейс же предоставляет только определения методов. Класс может наследоваться только от одного абстрактного класса, но может реализовывать несколько интерфейсов.
2. Реализация: Абстрактным классам разрешено иметь переменные экземпляра и иметь реализацию методов. Интерфейсы могут иметь только методы (и свойства) без реализации, только сигнатуры. Класс, реализующий интерфейс, должен предоставить реализацию всех методов и свойств интерфейса.
3. Использование: Абстрактные классы применяются, когда некоторые базовые методы и свойства должны быть доступны и переопределены в классах-наследниках. Интерфейсы используются для создания контракта, который должны выполнить классы, обеспечивая использование полиморфизма.
Оба механизма полезны в разных сценариях разработки. Выбор между использованием абстрактных классов и интерфейсов зависит от конкретных требований проекта.
Библиотека собеса по С#
💡 Что такое оператор перехода в C#?
Оператор перехода в C# используется для передачи управления программой из одной точки в другую точку программы.
Библиотека собеса по С#
Какой из них лучше/быстрее, switch или операторы if-else-if, и почему?
Среди этих двух оператор switch считается быстрее, чем оператор if-else-if. Это потому, что switch не проверяет предыдущие операторы, а в случае if-else-if каждое условие должно быть проверено.
Библиотека собеса по С#
Repost from Библиотека шарписта | C#, F#, .NET, ASP.NET
📝 Создаем красивую документацию API с помощью Scalar в ASP.NET Core
Документация для API — это не просто набор ссылок и описаний. Это инструмент, который помогает разработчикам быстрее понять, как использовать ваш сервис. Используя Scalar, можно превратить стандартный Swagger в нечто действительно элегантное.
Процесс не сложный, а результат превзойдет все ожидания.
➡️ Прочитать статью
🐸Библиотека шарписта
✍🏻 Каковы различные способы перегрузки метода?
Различные типы данных параметров, разное количество параметров, разный порядок параметров.
Библиотека собеса по С#
✍🏻 Можно ли использовать out и ref для перегрузки как различные сигнатуры метода?
Этого сделать нельзя. Даже когда ref и out обрабатываются по-разному во время выполнения, во время компиляции они обрабатываются одинаково. Поэтому его нельзя загружать с похожими типами аргументов.
Библиотека собеса по С#
✍🏻 В чем разница между абстрактными и виртуальными классами? Между виртуальными и абстрактными методами?
Абстрактный класс — это класс, помеченный ключевым словом abstract. В абстрактном классе содержатся абстрактные члены (методы, свойства, индексаторы, события), они не имеют внутренней реализации и выступают в роли интерфейса. Они так же обязаны быть помечены ключевыми словом abstract. При наследовании от абстрактного класса класс-наследник получает все свойства своего класса родителя, а если в родительском классе есть еще и абстрактные члены, то в классе наследнике обязательно их нужно переопределять.
Виртуальный класс, это просто класс в котором есть виртуальные члены (методы, свойства...). Виртуальные члены помечаются модификатором virtual и имеют внутреннюю реализацию, которая может быть переопределена в классе наследнике.
Библиотека собеса по С#
Repost from Библиотека шарписта | C#, F#, .NET, ASP.NET
#️⃣🏗 Как не запутаться в структурах данных в Unity и C#
Когда работаете с Unity, почти каждая система — это работа с данными. Инвентарь, состояния врагов, квесты, сохранения. И вот тут важно не просто «что-то завести», а осознанно выбрать структуру данных под задачу.
Экономия памяти, меньше багов и чище код — это не абстрактные плюсы, а реальные бонусы при разработке.
➡️ Подробности в статье
🐸Библиотека шарписта
