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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #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

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

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

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

💬 Кратко:
Классы передаются по ссылке, поэтому изменения внутри метода влияют на оригинальный объект. Структуры передаются по значению, создавая копию, и изменения не затрагивают исходную переменную. Это фундаментальное различие между ссылочными и значимыми типами.

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

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

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

Техническое собеседование. Осень 2024. Просил 270к+. Опыт в резюме: 3.6 года. Обсуждали опыт работы с микросервисами, оптимизацию запросов. Был лайвкодинг - задачи на проверку дубликатов в массиве и вычисление чисел Фибоначчи.

💬 Вопросы:

- В чем разница между структурой и классом в C#?

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

- В чем разница между методами Dispose и Finalize в C#?

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

- Что означает ACID?

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #Docker #Dockerfile #layer_caching
🤔 Как правильно выстраивать порядок инструкций в Dockerfile для оптимального использования кэша слоёв?

💬 Кратко:
Docker кэширует каждый слой (инструкцию) в Dockerfile. Чтобы максимально использовать кэш, нужно размещать редко изменяемые инструкции (установка системных пакетов, зависимостей) в начале файла, а часто изменяемые (копирование исходного кода) — в конце. Это позволяет переиспользовать кэшированные слои при повторных сборках, ускоряя процесс.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #dotnet7 #genericmath #codedesign
📚 Всё про Generic Math в C#

Автор подробно объясняет, что такое Generic Math в C# — мощная фича, появившаяся с .NET 7 и C# 11, которая позволяет описывать обобщённые математические операции через интерфейсы со статическими абстрактными членами. Он рассказывает, почему раньше было сложно писать обобщённые алгоритмы (например, суммирование для любых числовых типов), как концепция реализована через набор интерфейсов в System.Numerics, и показывает практические сценарии применения в различных задачах, а также сравнивает с альтернативами и обсуждает плюсы/потенциальные ограничения этой технологии

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

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

💬 Кратко:

Рефлексия в C# — это процесс получения информации о типах, методах, свойствах и других элементах программы во время выполнения. Для этого используется пространство имен System.Reflection.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #soa #microservices
🤔 Чем сервис-ориентированная архитектура (SOA) отличается от микросервисной?

💬 Кратко:

SOA фокусируется на интеграции крупных, многофункциональных сервисов через общую шину (ESB), что обеспечивает повторное использование компонентов. Микросервисная архитектура делает акцент на мелких, узкоспециализированных сервисах, которые общаются напрямую через легковесные протоколы и могут разрабатываться независимо. Микросервисы можно рассматривать как эволюцию SOA с большим упором на автономность сервисов.

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

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

💬 Кратко:
Сниффинг трафика — это процесс перехвата и анализа сетевых пакетов, проходящих через сеть. Он используется для диагностики сетевых проблем, мониторинга производительности, а также для обнаружения угроз безопасности. Злоумышленники могут применять сниффинг для кражи данных, поэтому важно шифровать трафик.

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

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