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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #singleton
🤔 Каковы плюсы и минусы Singleton и какие существуют альтернативы?

💬 Кратко:

Singleton обеспечивает глобальный доступ и единственный экземпляр, что удобно. Но он усложняет тестирование, повышает связность и может превратиться в скрытую глобальную переменную. Его альтернативы — DI-контейнер, сервис-локатор, обычная композиция объектов и статические классы для чистых утилит. Важно использовать Singleton осторожно и только там, где действительно нужен один экземпляр.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1👍1🤝1
#Собес #commit #convention
🤔 Что такое commit conventions и зачем они нужны?

💬 Кратко:

Commit conventions — это правила написания сообщений коммитов. Например, стандарт Conventional Commits использует префиксы вроде feat, fix и docs. Такие правила позволяют автоматически генерировать changelog и понимать историю изменений. Это упрощает поддержку проекта.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1👍1🤝1
#book #начинающие
📚 Head First. Изучаем C#. 4-е изд

Стиль Head First позволяет сразу приступить к созданию собственного кода на C#, даже если у вас нет никакого опыта программирования. Не нужно тратить время на изучение скучных спецификаций и примеров! Вы освоите необходимый минимум инструментов, и сразу приступите к забавным и интересным программным проектам: от разработки 3D-игры до создания серьезного приложения и работы с данными. Четвертое издание книги было полностью обновлено и переработано, чтобы рассказать о возможностях современных C#, Visual Studio и .NET, оно будет интересно всем, кто изучает язык программирования С#.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1👍1🤝1
#Собес #value_type #reference_type #stack
🤔 На какие категории в .NET делятся типы данных и в чём ключевые отличия между value type и reference type?

💬 Кратко:

В .NET типы делятся на значимые (value type) и ссылочные (reference type). Значимые хранятся в стеке или внутри объекта-родителя и копируются полностью при присвоении. Ссылочные хранятся в куче, при присвоении копируется указатель, а не данные. Это влияет на производительность, управление памятью и поведение при передаче в методы.

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

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

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

Техническое собеседование. Осень 2024. Просил 350 к. Опыт в резюме: 3+ года. На собеседование было много вопросов по .NET, паттернам проектирования, в конце затронули математику.

💬 Вопросы:

- С какими ORM вы сталкивались (Entity Framework, Dapper и др.)?

- Приходилось ли писать T-SQL-запросы вручную?

- Знаете ли вы базовые математические операции над векторами и матрицами (например, скалярное произведение) и их смысл?

- На какие категории в .NET делятся типы данных и в чём ключевые отличия между value type и reference type?

- Как устроена строка в C# — ссылочный тип или значимый, и зачем нужен string pool (интернирование)?

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

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

💬 Кратко:

Выбор хранилища зависит от структуры данных, требований к консистентности, скорости операций, объёма данных, типов запросов, нагрузки и необходимости горизонтального масштабирования. В зависимости от задачи выбирают SQL, NoSQL, time-series, graph DB, blob storage или их комбинацию.

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

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

Он рассчитан на начинающих, пройти его можно всего за час. Конспекты доступны на русском языке

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #unit #test
🤔 Как обычно организуется тестирование: unit, integration, end-to-end?

💬 Кратко:

Unit-тесты проверяют маленькие куски кода изолированно. Integration-тесты проверяют взаимодействие нескольких частей системы вместе. End-to-End тесты проверяют всю систему целиком, как её видит пользователь. Чем ниже уровень тестирования, тем быстрее и проще они запускаются. Все три уровня нужны для уверенности, что приложение работает корректно.

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

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

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

Техническое собеседование. Лето 2024. Вилка: 200к+. Опыт в резюме: 3.6 года. Проект: Переход с монолитной архитектуры на микросервисы.

💬 Вопросы:

- Какие типы индексов существуют?

- В чём преимущества микросервисной архитектуры перед монолитом?

- Как и где используется денормализация базы данных?

- Как создать частичный индекс (условия, синтаксис)?

- При проектировании составного индекса, по какому принципу определять порядок полей?

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

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

💬 Кратко:

После ввода URL браузер делает DNS-запрос, устанавливает соединение с сервером и отправляет HTTP-запрос. Сервер возвращает HTML, затем браузер загружает CSS, JS и изображения. После этого строятся DOM и CSSOM, создается render tree и происходит рендеринг страницы.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #book
📚 C# 10 и .NET 6. Современная кросс-платформенная разработка
Автор: Марк Прайс


В шестом издании книги автор рассказывает о принципах объектно ориентированного программирования. Он учит писать, тестировать функции плюс заниматься отладкой, созданием интерфейсов и т. п.
Отдельный раздел посвящён API .NET для управления данными, мониторинга производительности, работы с файловой системой, асинхронными потоками, сериализацией и шифрованием.
Также рассказывается о консольных приложениях, интерфейсных приложениях и службах с задействованием ASP.NET Core, MVC и Blazor. В шестом издании появились три новые главы, которые посвящены .NET MAUI для разработки кросс-платформенных приложений и сервисов с веб-API, OData, gRPC, GraphQL, SingalR и Azure.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #closure #capture #lambda
🤔 Как работает замыкание (closure) в C#, когда в лямбду передаётся внешняя переменная (например, counter)?

💬 Кратко:

При замыкании лямбда «захватывает» внешнюю переменную по ссылке, а не её значение. Компилятор создаёт скрытый класс (closure class) с полем counter; все лямбды, использующие counter, ссылаются на одно поле этого объекта. Переменная живёт до тех пор, пока жива лямбда, и изменения в одной лямбде видны в другой.

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

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

💬 Кратко:

MAC-адрес — уникальный идентификатор сетевой карты. Он используется для передачи данных в пределах одной локальной сети (LAN).

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

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

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🔥1
#Собес #property #get #set
🤔 Что такое свойства (Properties) в C#?

💬 Кратко:

Свойства в C# — это специальные члены класса, которые позволяют гибко читать, записывать или вычислять значение приватного поля. Свойства используют методы доступа ("get" и "set"), которые скрывают внутреннюю реализацию и обеспечивают инкапсуляцию.

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

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

Февраль и март выдались для нас непростыми. Мы прошли через сложную миграцию и разделили проект на два отдельных продукта.

Теперь у нас есть:
— yeahub.ru — публичная SEO-ориентированная часть на Next.js с быстрым серверным рендерингом
— app.yeahub.ru — основное приложение: личный кабинет пользователя со статистикой, прогрессом и аналитикой

🔥 Лайвкодинг — наконец-то готов

Мы серьезно прокачали сервис лайвкодинга:
— добавили привязку задач к коллекциям (собеседованиям)
— сделали связь с компаниями
— теперь можно готовиться по задачам с реальных собеседований

Уже доступны задачи из: Сбер, Яндекс, Авито, VK, Ozon, Т-Банк и других компаний.

📌 Сейчас добавлено ~100 задач.

Да, это меньше, чем планировали — но пришлось сделать шаг назад, чтобы сделать десять вперед.

Мы полностью переработали:
— шаблон задач
— систему тесткейсов

Ранее была допущена ошибка, из-за которой пришлось вручную исправить 80+ задач 😢

Но теперь база готова к масштабированию — и мы можем быстро и правильно наполнять её дальше.

📈 Что дальше по лайвкодингу

Мы будем активно развивать этот сервис.
Это не только про собеседования — это инструмент для роста и прокачки.
Планируется много новых фич.

📅 Регулярные обновления контента

Мы выстроили процесс: каждую неделю 4–8 собеседований, 6–10 задач
И каждое обновление будем анонсировать, чтобы вы всегда были в курсе.

🛠 Сейчас в разработке (2 ключевых сервиса)

Агрегатор вакансий + платформа размещения вакансий
ATS-оптимизация резюме
— Бэкенд почти готов.
— Идёт дизайн.
— Фронтенд начнем совсем скоро.

🎯 Цель — выпустить оба сервиса в бэта до лета.

🧠 Новая структура обучения

Раньше было: Навык → Вопрос
Теперь: Навык → Тема → Вопрос

Это сильно упрощает обучение.

Теперь можно: готовиться точечно к собеседованиям или системно изучать темы

💻 Мы — open source

Мы не бросаем слов на ветер. Мы делаем.

Код проекта открыт https://github.com/YeaHubTeam:
— фронтенд
— мобильные приложения
— backend на Python (решили новый сервис делать публично, для новичков)
— автотесты

Это open source платформа, где новички могут учиться и смотреть на реальные практики.

❤️ Поддержка

Вы можете поддержать нас, оформив подписку. Это напрямую влияет на:
— добавление контента
— развитие платформы
— новые фичи

Вы можете быть уверены — мы не стоим на месте. Работа реально кипит: почти каждый день мержатся новые фичи, мы постоянно развиваем продукт и улучшаем уже существующие сервисы.

У нас полностью открытый код, и это не просто слова. Вы в любой момент можете зайти и посмотреть активность, коммиты и то, как проект развивается каждый день.

По подписке: сейчас стоимость — 800 рублей за месяц и 1800 рублей за 3 месяца. Это уже ниже, чем у аналогичных сервисов. При этом важно понимать — после выхода новых сервисов (агрегатор вакансий и ATS для резюме) цена будет пересмотрена.

Если хотите зафиксировать текущую стоимость — лучше сделать это сейчас:
https://app.yeahub.ru/settings#select-tariff

Мы строим продукт.
Мы двигаемся вперёд.
И мы делаем IT снова великим.
💪🚀✊🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #boxing #list #stack

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

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

💬 Вопросы:

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

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

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

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

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔2
#Собес #kubernetes #docker
🤔 Почему Kubernetes стал популярным, если Docker-контейнеры можно объединять и без него?

💬 Кратко:

Kubernetes стал популярным потому, что предоставляет автоматизацию для управления множеством контейнеров в продакшене. Без оркестратора приходится вручную настраивать запуск, мониторинг и масштабирование контейнеров на разных серверах. Kubernetes автоматически распределяет нагрузку, восстанавливает упавшие контейнеры и управляет сетевым взаимодействием. Это особенно важно для сложных приложений с десятками или сотнями микросервисов.

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

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

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

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

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