C# Development | YeaHub
743 subscribers
303 photos
33 videos
1 file
535 links
Теория, подготовка к интервью и курсы для C# разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #bulk_insert #copy #postgresql
🤔 Как выполнить массовую вставку данных в PostgreSQL?

💬 Кратко:

Для массовой вставки данных в PostgreSQL можно использовать команду COPY или выполнить вставку данных с помощью нескольких строк в одном запросе INSERT. Оба метода значительно ускоряют процесс по сравнению с вставкой данных по одной строке за раз.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #highload #dotnet
📚 Система резервации на 600 заказов в секунду без буферизации и другой дичи

Автор подробно показывает, как создать высоконагруженный сервис резервирования остатков товаров в базе данных на .NET/C# и PostgreSQL, который способен обрабатывать сотни заказов в секунду без буферизации и лишних ухищрений. Он описывает архитектуру приложения, модель данных, настройки Entity Framework и схемы транзакционной обработки, объясняет, как гарантировать целостность данных и инвариант (чтобы резерв не превышал остаток), а также делится практическими примерами кода и оптимизаций для достижения высокой пропускной способности в условиях конкурентных обновлений

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #copy #clone #array
🤔 В чем разница между методами System.Array.CopyTo() и System.Array.Clone()?

💬 Кратко:

CopyTo() копирует элементы из одного массива в другой, а Clone() создает новый массив, содержащий все элементы исходного массива.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #signalr #sse #grpc
🤔 Опыт работы с SignalR, SSE? Чем они отличаются от gRPC?

💬 Кратко:

- SignalR/SSE – для веб-клиентов (подписка на события).
- gRPC – для сервис-сервисного обмена (бинарный, мультиплексирование).

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #pod_network #networking #ip_allocation
🤔 Что такое Pod Network в Kubernetes?

💬 Кратко:

Pod Network – это виртуальная сеть, которая соединяет Pod-ы внутри кластера. Она позволяет Pod-ам взаимодействовать друг с другом без необходимости ручной настройки маршрутизации.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #курсы #тренажеры
📚 CodeChef

Онлайн-платформа программирования, которая позволяет учащимся осваивать программирование с помощью структурированных курсов, тысяч практических задач и регулярных конкурсов

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #ValueType #ReferenceType #stack
🤔 Где хранятся ValueType и ReferenceType в памяти?

💬 Кратко:
ValueType (типы значений) хранятся в стеке (stack), если они являются локальными переменными в методе, или внутри объекта в куче, если они являются полями класса. ReferenceType (ссылочные типы) всегда хранятся в куче (heap), а в стеке или другом месте хранится только ссылка (адрес) на этот объект. Это различие влияет на производительность и поведение при присваивании: типы значений копируются по значению, а ссылочные типы — по ссылке. Понимание этого помогает избежать неожиданных изменений данных и оптимизировать использование памяти.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #boxing #list #stack

🤔 Middle C# Backend разработчик в компанию Ozon

Техническое собеседование. Осень 2024. Просил 280к. Опыт в резюме: 3+ года. Говорили про C#, базы данных.

💬 Вопросы:

- Какие существуют типы индексов в PostgreSQL и когда их использовать?

- Какие есть типы соединений (JOIN) в PostgreSQL?

- В чём разница между WHERE и HAVING в SQL-запросах?

- В чём отличие кластеризованного и некластеризованного индекса? Когда их стоит применять?

- Каково может быть время жизни объекта в DI-контейнере и какие существуют варианты (singleton, transient, scoped)?

👉 Все вопросы из этого собеседования (18)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #pagination #limit #offset
🤔 Какие проблемы с пагинацией через LIMIT OFFSET?

💬 Кратко:

Пагинация через LIMIT OFFSET может быть неэффективной на больших смещениях, потому что база данных должна пропустить OFFSET строк перед возвратом результата, что требует времени и ресурсов. Кроме того, при изменении данных (добавлении/удалении) между запросами могут возникать пропущенные или дублированные строки.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#video #api
📚 Разработка Web API на ASP.NET Core 5 и .NET 5

Используя чистую архитектуру (clean architecture), ASP NET Core 5, EF Core 5, Swagger, IdentityServer4, C#, SQLite, Fluent Validation, XUnit, NSwag Studio, Serilog, Automapper, MediatR, CQRS мы будем разрабатывать web api для работы с заметками.

Мы пройдемся по всем основным этапам разработки web api и в итоге получим масштабируемый, легко поддерживаемый проект Web API, сделанный с использованием good practices.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #linq #query #ienumerable
🤔 Что такое LINQ в C#?

💬 Кратко:

LINQ (Language Integrated Query) — это встроенный в C# инструмент для удобного запроса данных. Он позволяет работать с коллекциями, базами данных, XML и другими источниками с использованием SQL-подобного синтаксиса.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #orm #testing #multithreading

🤔 Middle C# Backend-разработчик в Элисофт

Техническое собеседование. Весна 2026. Опыт в резюме — 2.4 года.

💬 Вопросы:

- Что такое сборщик мусора (Garbage Collection) в C#?

- Почему не стоит ставить индекс на каждую колонку таблицы?

- Что такое индекс в базе данных?

- Когда использование индексов неэффективно?

- Какие есть уровни изоляции транзакций и как они работают?

👉 Все вопросы из этого собеседования (44)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #deployment #rollback_plan #backup
🤔 Какие проверки необходимо выполнять перед обновлением системы?

💬 Кратко:
Перед обновлением системы необходимо выполнить несколько ключевых проверок. Сначала создайте полную резервную копию данных и конфигураций. Затем проверьте совместимость новой версии с текущим окружением и зависимостями. Протестируйте обновление на изолированном стенде (staging). Убедитесь, что у вас есть четкий план отката (rollback) на случай неудачи.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#podcast #все
📚 Kolesa Podcast

Podcast by IT-компания Kolesa Group. В целом он обо всём и вся. Интересно для прослушивания на досуге

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #ref #reference #out
🤔 В чем разница между ключевыми словами ref и out?

💬 Кратко:

ref и out оба используются для передачи параметров по ссылке, но ref требует, чтобы параметр был инициализирован перед передачей, а out используется для передачи параметров, которые будут инициализированы в методе.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #dependency_injection #testing #decoupling
🤔 Объясните инверсию зависимостей (DI). Как она упрощает тестирование и снижает связанность кода?

💬 Кратко:

Инверсия зависимостей (DI) — передача зависимостей в класс извне (через конструктор/свойства), а не создание их внутри. Это позволяет:

- Легко заменять реализации (например, моки для тестов)
- Уменьшить связность компонентов
- Упростить рефакторинг и поддержку кода

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #gitflow
🤔 Какие различные стратегии ветвления вы знаете?

💬 Кратко:

Централизованный рабочий процесс (Centralized Workflow). Веткой разработки по умолчанию является main, и все изменения фиксируются в этой ветке. Этот рабочий процесс не требует других веток, кроме главной.

Рабочий процесс разветвления функций (Feature Branching Workflow). Основная идея рабочего процесса разветвления функций заключается в том, что разработка всех функций должна вестись в специальной ветке, а не в основной.

Рабочий процесс Gitflow. Gitflow определяет строгую модель ветвления, разработанную вокруг релиза проекта. Это обеспечивает надежную основу для управления большими проектами. Она назначает очень специфические роли различным веткам и определяет, как и когда они должны взаимодействовать. В дополнение к функциональным веткам используются отдельные ветки для подготовки, поддержки и записи релизов.

Рабочий процесс Forking. Forking Workflow принципиально отличается от других популярных рабочих процессов Git. Вместо того чтобы использовать единый серверный репозиторий в качестве “центральной” кодовой базы, он предоставляет каждому разработчику свой серверный репозиторий. Это означает, что каждый участник имеет не один, а два Git-репозитория: частный локальный и публичный серверный. Чаще всего Forking Workflow встречается в публичных проектах с открытым исходным кодом.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #GetHashCode #hash_code #C#
🤔 Как работает метод GetHashCode()?

💬 Кратко:
Метод GetHashCode() возвращает целочисленный хеш-код, который представляет объект. Этот код используется структурами данных, например, Dictionary или HashSet, для быстрого определения примерного местоположения объекта в коллекции. Для корректной работы важно, чтобы равные объекты возвращали одинаковые хеш-коды. Однако разные объекты могут иметь одинаковый хеш-код (коллизия), и в этом случае используется дополнительная проверка через Equals().

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #c# #.net #postgres

🤔 Middle C# Backend разработчик в компанию TVision

Техническое собеседование. Лето 2024. Вилка: до 200к. Опыт в резюме: 3 года 4 месяца. Проект: Образовательная платформа для школ. Также были вопросы на знание React, Redux.

💬 Вопросы:

- Какие есть типы соединений (JOIN) в PostgreSQL?

- Что такое сборщик мусора (Garbage Collection) в C#?

- Что такое многопоточное программирование в .NET?

- Что такое нормальные формы в базах данных? Зачем они нужны?

- В чём отличие кластеризованного и некластеризованного индекса? Когда их стоит применять?

👉 Все вопросы из этого собеседования (21)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #http #get #post
🤔 Чем отличаются GET и POST-запросы?

💬 Кратко:

- GET — получает данные (параметры в URL, кэшируется).
- POST — отправляет данные (тело запроса, не кэшируется).
- GET менее безопасен, POST — для изменения данных.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #курсы #тренажеры
📚 CodeChef

Онлайн-платформа программирования, которая позволяет учащимся осваивать программирование с помощью структурированных курсов, тысяч практических задач и регулярных конкурсов

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа