en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

C# | Вопросы собесов

C# | Вопросы собесов

Open in Telegram

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads

Show more
4 995
Subscribers
-324 hours
-67 days
-1530 days
Posts Archive
🤔 В какой момент отправляется запрос к базе данных? Запрос отправляется к базе данных, когда приложение вызывает операции, такие как SaveChanges (в ORM) или выполняет SQL-команду напрямую. 1. В ORM запрос может быть отложен до реального использования данных (ленивая загрузка). 2. Это позволяет оптимизировать взаимодействие с базой, минимизируя количество запросов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Получи грант на обучение в Центральном университете Прояви себя, получи грант до 2,8 млн на обучение ИТ и бизнесу в вузе. Для
Получи грант на обучение в Центральном университете Прояви себя, получи грант до 2,8 млн на обучение ИТ и бизнесу в вузе. Для школьников 10-х и 11-х классов, СПО. Подать заявку #реклама apply.centraluniversity.ru О рекламодателе

🤔 Может ли pipeline не обрабатывать HTTP запросы? Да, Pipeline может не обрабатывать HTTP-запросы, если: Запрос был остановлен раньше (например, с UseMiddleware или Use без вызова next()). Некорректная маршрутизация (запрос не соответствует ни одному маршруту). Фильтрация запроса (например, через UseWhen или MapWhen). Ошибка в middleware (исключение без обработки). 🚩Что такое `Pipeline` в ASP.NET Core? В ASP.NET Core конвейер обработки запросов (Pipeline) состоит из **middleware-компонентов, которые могут изменять или перенаправлять запрос.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.Use(async (context, next) =>
{
    Console.WriteLine("Middleware 1: До запроса");
    await next(); // Передача дальше
    Console.WriteLine("Middleware 1: После запроса");
});

app.Run(async (context) =>
{
    Console.WriteLine("Middleware 2: Обработка запроса");
    await context.Response.WriteAsync("Ответ от сервера");
});

app.Run();
🚩Как `Pipeline` может не обработать HTTP-запрос? Middleware останавливает запрос (next() не вызывается Если в Middleware не вызвать next(), то дальнейшие обработчики не выполнятся.
app.Use(async (context, next) =>
{
    await context.Response.WriteAsync("Запрос остановлен.");
    // next() НЕ вызывается, запрос не проходит дальше
});
🚩Запрос не попадает ни в один обработчик Если Pipeline настроен неправильно, запрос может не попасть ни в один обработчик.
app.UseRouting(); // Включает маршрутизацию, но маршруты не настроены!

app.UseEndpoints(endpoints =>
{
    // Здесь НЕТ ни одного маршрута!
});

app.Run();
🚩Использование `UseWhen` или `MapWhen` для фильтрации запросов Методы UseWhen и MapWhen позволяют разделять обработку запросов.
app.MapWhen(context => context.Request.Path == "/special", appBranch =>
{
    appBranch.Run(async context =>
    {
        await context.Response.WriteAsync("Специальный маршрут");
    });
});

// Основной обработчик
app.Run(async context =>
{
    await context.Response.WriteAsync("Обычный маршрут");
});
🚩Ошибка в Middleware Если в middleware возникает необработанное исключение, то Pipeline прерывается.
app.Use(async (context, next) =>
{
    throw new Exception("Ошибка!");
    await next(); // Код ниже не выполнится
});
Правильный способ
app.UseExceptionHandler("/error");

app.Run(async context =>
{
    await context.Response.WriteAsync("Основной обработчик");
});
Ставь 👍 и забирай 📚 Базу знаний

В Антарктиду с RussiaDiscovery! Круиз на новый год 2026. ✅ Панорамные окна на лайнере SH Vega, бассейн-инфинити, спа, камины в каютах. ✅ Высадки на континент, каякинг у ледников, купание в термальных водах, киты и пингвины! ✅ Все включено: отель 5* в Буэнос-Айресе, перелет до точки отправления, алкоголь, экспедиционная одежда. ✅ Новогодний ужин среди льдов + экскурсия на станцию «Беллинсгаузен». Встречайте Новый год там, где заканчивается карта мира! — Самое теплое время (+15°C днем) и море света антарктического лета. — Стабилизаторы качки, профессиональная команда и VIP-сервис. — 12 дней для получения самых ярких впечатлений жизни. Всего 152 места, забирайте свою каюту, пока есть места! Бронь всего 20% от стоимости. Нажиммайте «Забронировать» Забронировать #реклама 16+ russiadiscovery.ru О рекламодателе

🤔 Что такое ссылочный тип и в чем их особенности? Ссылочные типы (классы, интерфейсы, делегаты) хранятся в куче и передаются по ссылке. Их изменение внутри метода сохраняется после выхода из него, а сборщик мусора управляет их памятью. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Проведите экспресс-аудит IT поддержки за 15 минут! Ваша IT-поддержка может работать лучше. ✅ Оцените реальную эффективность в
Проведите экспресс-аудит IT поддержки за 15 минут! Ваша IT-поддержка может работать лучше. ✅ Оцените реальную эффективность вашей IT-поддержки. ✅ Найдите скрытые источники потерь времени и денег. ✅ Получите готовый план действий по улучшению сервиса. ✅ Сравните свои показатели со средними по рынку. Получите персональный чек-лист, экспресс-диагностику и получите план оптимизации IT-поддержки уже сегодня! Получить предложение #реклама 16+ promo.itilium.ru О рекламодателе

🤔 Что такое carbage collector? Garbage Collector (GC)** — это автоматический механизм управления памятью в .NET, который освобождает неиспользуемые объекты, предотвращая утечки памяти. 🚩Как работает GC? 🟠Объекты создаются в управляемой памяти (Heap) Когда мы создаём объект
var obj = new object();
🟠Когда объект больше не нужен, GC его удаляет Если на объект больше нет ссылок, он становится "мусором" и может быть удалён
void Test()
{
    var obj = new object(); // Создали объект
} // obj выходит из области видимости -> GC может его удалить
🚩Поколения GC (Generations) GC в .NET использует поколения (Generations), чтобы ускорить сборку мусора: 🚩Принудительный вызов GC (нежелательно) Обычно GC работает автоматически, но можно вызвать его вручную:
GC.Collect(); // Принудительный запуск GC (используйте осторожно!)
🚩Как уменьшить нагрузку на GC? Использовать using для очистки ресурсов:
using (var file = new StreamWriter("file.txt"))
{
    file.WriteLine("Hello, world!");
} // Файл автоматически закроется
Реализовать IDisposable для освобождения ресурсов вручную:
public class MyResource : IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("Ресурс освобождён");
    }
}

using (var resource = new MyResource())
{
    // Используем ресурс
} // Вызовется Dispose()
Избегать ненужных ссылок – если переменная больше не нужна, лучше обнулять её
obj = null;
Ставь 👍 и забирай 📚 Базу знаний

Когда подрядчик тележится, добавляйте его в Коллабу Битрикс24 Коллабы – платформа для эффективной работы с подрядчиками. Тут
Когда подрядчик тележится, добавляйте его в Коллабу Битрикс24 Коллабы – платформа для эффективной работы с подрядчиками. Тут обсуждения превращаются в задачи, а видео созвон можно собрать одной кнопкой. Любой проект можно разложить по полочкам с понятным ТЗ и обозначенными сроками. Работайте в Битрикс24 и создавайте Коллабы с подрядчиками. Начать #реклама 16+ collabs.bitrix24.ru О рекламодателе

🤔 Что такое перегрузка метода? Это возможность объявлять методы с одинаковым именем, но с разными параметрами (типами, количеством или порядком). • Она позволяет создавать более гибкий и удобный интерфейс класса. • Пример: void Print(string message) { ... } void Print(int number) { ... } Каждый из методов будет вызываться в зависимости от переданных аргументов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Repost from easyoffer
Я поставил целью сбора скромные 300 тыс. рублей, но ребята, вы накидали больше млн. всего за 1 день. Это просто невероятно! Б
Я поставил целью сбора скромные 300 тыс. рублей, но ребята, вы накидали больше млн. всего за 1 день. Это просто невероятно! Благодаря вашей поддержке, я смогу привлечь еще больше людей для разработки сайта и обработки собеседований. Ваш вклад сделает проект качественнее и ускорит его выход! Огромное вам спасибо! Краудфандинг будет продолжаться еще 31 день и все кто поддержать проект сейчас, до его выхода, смогут получить: 🚀 PRO-тариф на 1 год, по цене месячной подписки на релизе. ➕ Доступ к закрытому бета-тесту easyoffer 2.0 (середина–конец мая) Поддержать проект можно здесь: https://planeta.ru/campaigns/easyoffer Огромное спасибо за вашу поддержку! 🤝

Бизнес образование в Moscow Business Academy (MBA) Получите современное бизнес образование от международных экспертов. ✅Более
Бизнес образование в Moscow Business Academy (MBA) Получите современное бизнес образование от международных экспертов. ✅Более 37 направлений обучения. ✅Международные дипломы. ✅Online и очные форматы обучения. ✅Разборы практических бизнес-кейсов. Скидка на все программы online до 10 декабря! Узнать больше #реклама 16+ moscow.mba О рекламодателе

Repost from easyoffer
🎉 Краудфандинг easyoffer 2.0 стартовал! Друзья, с этого момента вы можете поддержать проект и получить существенный бонус: �
🎉 Краудфандинг easyoffer 2.0 стартовал! Друзья, с этого момента вы можете поддержать проект и получить существенный бонус: 🚀 PRO-тариф на 1 год, по цене месячной подписки на релизе. ➕ Доступ к закрытому бета-тесту easyoffer 2.0 (середина–конец мая) Поддержать проект можно здесь: https://planeta.ru/campaigns/easyoffer 📌 Если не получается оплатить через карту РФ — напишите мне @kivaiko, и мы найдём удобный способ

🤔 Что такое паттерн Event Sourcing? Паттерн Event Sourcing (событийное моделирование) — это подход к управлению состоянием приложения, при котором все изменения состояния представляются в виде последовательности событий. Вместо хранения текущего состояния объекта в базе данных, сохраняются все изменения состояния (события), которые произошли с этим объектом. Текущее состояние может быть восстановлено путем последовательного применения этих событий. 🚩Основные концепции Event Sourcing: 🟠События (Events): События представляют собой неизменяемые записи фактов, которые произошли в системе. Каждое событие описывает изменение состояния. 🟠Источники событий (Event Stores): Специальные хранилища, которые сохраняют последовательности событий. Они обеспечивают устойчивость событий и возможность их повторного воспроизведения. 🟠Агрегаты (Aggregates): Логические группы объектов, которые обрабатывают команды и генерируют события. 🟠Команды (Commands): Запросы на выполнение изменений, которые обрабатываются агрегатами и приводят к генерации событий. 🟠Проекционные модели (Projections): Модели, создаваемые из последовательностей событий для представления данных в удобной для чтения форме. 🚩Преимущества Event Sourcing: 🟠Историчность: Все изменения состояния хранятся в виде событий, что позволяет восстановить любое прошлое состояние системы. 🟠Отладка и аудит: Полная история изменений облегчает отладку и проведение аудита. 🟠Производительность: Проекции позволяют оптимизировать запросы к данным. 🟠Гибкость: Возможность пересоздания проекций с новыми требованиями без изменения основного хранилища событий. 🚩Недостатки Event Sourcing: 🟠Сложность: Реализация Event Sourcing требует дополнительных усилий и знаний. 🟠Объем данных: Хранение всех событий может занимать много места.
public class AccountCreated
{
    public Guid AccountId { get; }
    public string Owner { get; }

    public AccountCreated(Guid accountId, string owner)
    {
        AccountId = accountId;
        Owner = owner;
    }
}

public class MoneyDeposited
{
    public Guid AccountId { get; }
    public decimal Amount { get; }

    public MoneyDeposited(Guid accountId, decimal amount)
    {
        AccountId = accountId;
        Amount = amount;
    }
}

public class MoneyWithdrawn
{
    public Guid AccountId { get; }
    public decimal Amount { get; }

    public MoneyWithdrawn(Guid accountId, decimal amount)
    {
        AccountId = accountId;
        Amount = amount;
    }
}
Ставь 👍 и забирай 📚 Базу знаний

Ищешь высокооплачиваемые проекты? Попробуй SkillStaff SkillStaff — это платформа для ИТ-специалистов, менеджеров и креаторов,
Ищешь высокооплачиваемые проекты? Попробуй SkillStaff SkillStaff — это платформа для ИТ-специалистов, менеджеров и креаторов, которым мало одного оклада. Здесь можно найти клиентов, выполнять их проекты и увеличивать свой доход. - Проекты с гибким графиком: part time, full time, удаленка и гибрид - Ставка за час работы — та, что ты сам выбрал - Клиенты — ведущие бренды, проверенные с юридической точки зрения при регистрации на платформе - Оплата поступает ежемесячно на расчетный счет исполнителя - Удобный личный кабинет и функционал, автоматизирующий документооборот Все, что нужно для работы — иметь статус самозанятого или ИП, а платформа поможет со всеми нюансами. Регистрируйся прямо сейчас Зарегистрироваться #реклама 16+ skillstaff.ru О рекламодателе

🤔 Какие есть положительные и отрицательные моменты у микросервиса? Положительные: 1. Масштабируемость отдельных компонентов. 2. Независимость разработки и деплоя. 3. Устойчивость: сбой одного микросервиса не влияет на другие. Отрицательные: 1. Сложность управления распределённой системой. 2. Затраты на сетевые взаимодействия. 3. Сложность обеспечения целостности данных. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

☸️Хотите узнать, как деплоить ASP.NET-приложения в Kubernetes? 📅26 марта в 20:00 мск на открытом вебинаре мы разберем: – Per
☸️Хотите узнать, как деплоить ASP.NET-приложения в Kubernetes? 📅26 марта в 20:00 мск на открытом вебинаре мы разберем: – PersistentVolume – ConfigMap – Secret – Развернем БД в кластере и обсудим, почему секреты не такие уж секретные. С Kubernetes ваши ASP.NET Core-приложения станут масштабируемыми и гибкими. ➡️ Регистрируйтесь на вебинар и получите скидку на курс «C# ASP.NET Core-разработчик»: https://otus.pw/Vvqmt/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Бесплатное льготное обучение: 3 месяца Ищем людей, которые хотят обучиться и работать в IT-сфере из дома В конце обучения вы
Бесплатное льготное обучение: 3 месяца Ищем людей, которые хотят обучиться и работать в IT-сфере из дома В конце обучения вы пройдете стажировку и устроитесь на работу с зп от 150.000 рублей Образование, место жительства, трудовой стаж — не важны! Для старта нужно: — пройти короткий тест — заполнить анкету На что можно рассчитывать, после обучения: ✅ удаленная работа ✅ зп от 150.000 рублей (потолка нет) ✅ стабильная подработка, если не хотите уходить с основной работы ⚡ Осталось всего 47 бесплатных мест. Успейте пройти тест и оставить заявку: Узнать больше #реклама 16+ technolium.ru О рекламодателе

🤔 Если в двух переменных хранится одинаковое значение, то будут ли они равны? Сравнение значений переменных может зависеть от типа данных, хранящихся в этих переменных, и от способа их сравнения. 🟠Примитивные типы (Value Types) Для примитивных типов (например, int, float, char, bool) значение хранятся непосредственно в переменных, и их сравнение выполняется по значению.
int a = 5;
int b = 5;

bool areEqual = (a == b); // True
🟠Ссылочные типы (Reference Types) Для ссылочных типов (например, классы, строки) переменные содержат ссылки на объекты в куче. Сравнение ссылочных типов по умолчанию выполняется по ссылке, а не по значению.
class Person
{
    public string Name { get; set; }
}

Person person1 = new Person { Name = "Alice" };
Person person2 = new Person { Name = "Alice" };

bool areEqual = (person1 == person2); // False, потому что сравниваются ссылки
🟠Строки (Strings) Строки являются ссылочными типами, но переопределяют операторы сравнения == и Equals для сравнения по значению.
string str1 = "Hello";
string str2 = "Hello";

bool areEqual = (str1 == str2); // True, строки сравниваются по значению
🟠Кастомные классы Для кастомных классов можно переопределить методы Equals и GetHashCode, чтобы сравнивать объекты по значению.
class Person
{
    public string Name { get; set; }

    public override bool Equals(object obj)
    {
        if (obj == null || GetType() != obj.GetType())
            return false;

        Person other = (Person)obj;
        return Name == other.Name;
    }

    public override int GetHashCode()
    {
        return Name.GetHashCode();
    }
}

Person person1 = new Person { Name = "Alice" };
Person person2 = new Person { Name = "Alice" };

bool areEqual = person1.Equals(person2); // True
Ставь 👍 и забирай 📚 Базу знаний

😱Станьте C#-разработчиком с нуля! Хотите освоить программирование, но не знаете, с чего начать? C# — это язык, на котором со
😱Станьте C#-разработчиком с нуля! Хотите освоить программирование, но не знаете, с чего начать? C# — это язык, на котором создают игры, веб-сервисы и корпоративные приложения. 🚀Обучение «C# Developer» в OTUS — это: – Путь с 0 до Middle за 12 месяцев, а позицию Junior вы сможете занять уже через 6 месяцев с начала обучения. – Только актуальные живые занятия с экспертами, без старых записанных лекций. – Обучение в Scrum-командах на реальных кейсах. – Полная поддержка преподавателей, наставников и менторов. Программистами не рождаются, ими становятся. 👉Оставьте заявку прямо сейчас и получите скидку на обучение: https://otus.pw/l1Xn/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте бесплатно❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе