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
5 011
Subscribers
-124 hours
-37 days
+1430 days
Posts Archive
Почему вы не используете Битрикс24 CRM с AI-помощником? 1- не знал 2- забыл Рассказываем и напоминаем! ✅Битрикс24 CRM с AI помогает увеличивать продажи, работать с постоянными клиентами и сохранять все важные данные. AI-помощник CoPilot внутри сервиса расшифрует телефонные разговоры и автоматически заполнит карточки клиента в CRM. Битрикс24 можно использовать бесплатно для всех команд, независимо от их размера. ⚡Не тратьте время на рутину. Узнать больше #реклама 16+ bitrix24.ru О рекламодателе

🤔 Как происходит загрузка связанных сущностей? Entity Framework Core поддерживает три способа загрузки связанных данных: - Жадная загрузка (Eager Loading) – связанные сущности загружаются сразу вместе с основной, используя оператор Include. Это снижает количество запросов, но может привести к загрузке лишних данных. - Ленивая загрузка (Lazy Loading) – связанные данные загружаются только при первом обращении к ним. По умолчанию в EF Core отключена, но может быть включена с помощью прокси-объектов. - Явная загрузка (Explicit Loading) – связанные сущности загружаются вручную с помощью отдельного запроса при необходимости. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Крупнейший университет искусственного интеллекта Приглашаем на бесплатный однодневный интенсив по AI! Освой искусственный инт
Крупнейший университет искусственного интеллекта Приглашаем на бесплатный однодневный интенсив по AI! Освой искусственный интеллект для профессионального роста: создавай нейросети, автоматизируй бизнес-задачи и зарабатывай на AI-решениях. ✨ 8 000+ студентов со всего мира ✨ 600+ AI-проектов, созданных студентами ✨ Сборная Университета — победители крупнейших AI-хакатонов России ✨ Стажировки в крупнейших компаниях России (РЖД, Ростелеком, РУДН, Совкомбанк, Самолет и другие) ✨ Трудоустраиваем выпускников в крупнейшие компании (Яндекс, ВТБ, Сбербанк, Роскосмос и другие) Будем рады видеть тебя в наших рядах! Узнать больше #реклама 16+ neural-university.ru О рекламодателе

🤔 Какие типы данных можно использовать у Dictionary в качестве ключа? В C# ключ (TKey) в Dictionary<TKey, TValue> должен быть уникальным и поддерживать сравнение. Лучше всего использовать неизменяемые (immutable) типы, такие как: Примитивные типы (int, string, char, bool, Guid, enum) Кортежи (Tuple, ValueTuple) Неизменяемые структуры (struct, если переопределён Equals и GetHashCode) 🚩Какие типы подходят в качестве ключа? Числовые типы (int, double, long)
var dict = new Dictionary<int, string>
{
    {1, "Один"},
    {2, "Два"}
};
Console.WriteLine(dict[1]); // Вывод: Один
string (лучший выбор)
var dict = new Dictionary<string, int>
{
    {"apple", 10},
    {"banana", 5}
};
Console.WriteLine(dict["apple"]); // 10
Guid (уникальные идентификаторы)
var dict = new Dictionary<Guid, string>
{
    {Guid.NewGuid(), "User1"},
    {Guid.NewGuid(), "User2"}
};
enum (хороший вариант)
enum Status { New, Processing, Completed }

var dict = new Dictionary<Status, string>
{
    {Status.New, "Заказ создан"},
    {Status.Processing, "Заказ в обработке"}
};
Можно использовать несколько значений в качестве ключа:
var dict = new Dictionary<(int, string), string>
{
    {(1, "apple"), "Красное яблоко"},
    {(2, "banana"), "Жёлтый банан"}
};
Console.WriteLine(dict[(1, "apple")]); // Красное яблоко
🚩Какие типы нельзя использовать в качестве ключа? List<T> (и другие изменяемые коллекции)
var dict = new Dictionary<List<int>, string>(); // Ошибка при использовании в качестве ключа!
class, если не переопределён Equals и GetHashCode
class Person { public string Name; }
var dict = new Dictionary<Person, string>(); // Плохо!
Нужно переопределить Equals и GetHashCode
class Person
{
    public string Name { get; }

    public Person(string name) => Name = name;

    public override bool Equals(object? obj)
    {
        return obj is Person other && Name == other.Name;
    }

    public override int GetHashCode() => Name.GetHashCode();
}
Ставь 👍 и забирай 📚 Базу знаний

❓Хотите стать C#-разработчиком, но боитесь, что будет сложно? Подготовьтесь заранее и освойте Git — ключевой инструмент коман
❓Хотите стать C#-разработчиком, но боитесь, что будет сложно? Подготовьтесь заранее и освойте Git — ключевой инструмент командной разработки! На открытом вебинаре 31 марта в 20:00 мск разберем: ◽️ Систему контроля версий ◽️ Основные команды ◽️ Принципы работы с репозиториями ◽️ Эти знания помогут вам уверенно работать в команде и подготовиться к следующему этапу. С Git вы сможете эффективно управлять кодом, вести проекты и двигаться к позиции Junior и Middle. 🔗 Регистрируйтесь на вебинар и 🎁 получите скидку на большое обучение «C# Developer»: https://otus.pw/6iRG/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Стать бэкендером в Яндексе за несколько дней 12–17 апреля устраиваем Week Offer Backend: за несколько дней можно пройти технические секции и попасть в Яндекс. Для этого нужно зарегистрироваться и решить несколько задач в Контесте. Ищем классных бэкенд-разработчиков с опытом работы от 3 лет на C++, Python, Java/Kotlin или Go, готовых работать в офисном или гибридном режиме в России. Вы сможете выбрать одну из команд: Яндекс Пэй, Яндекс ID, Яндекс Плюс, Яндекс Сплит, Яндекс Сейвы, Яндекс 360. Можно пообщаться с нанимающими менеджерами и выбрать самый интересный проект. Если всё пройдёт хорошо, сразу же получите офер. Зарегистрироваться #реклама yandex.ru О рекламодателе

🤔 В какой момент отправляется запрос к базе данных? Запрос отправляется к базе данных, когда приложение вызывает операции, такие как 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 О рекламодателе

C# | Вопросы собесов - Statistics & analytics of Telegram channel @easy_c_sharp