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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #origin #protocol
🤔 Из каких частей состоит origin?

💬 Кратко:

Origin состоит из трёх частей: схемы, хоста и порта. Все три значения должны совпадать, чтобы origin считался одинаковым. Если отличается хотя бы один элемент, origin считается другим. Этот принцип используется в политике same origin policy. Он лежит в основе браузерной безопасности.

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

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

Быстро печатать — не просто приятно, а выгодно. Когда пальцы успевают за мыслью, код льётся плавно.

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

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

🤔 Middle+ C# Backend-разработчик в БрэндМонитор

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

💬 Вопросы:

- Что такое составной индекс и когда его следует использовать?

- Что такое микросервисная архитектура?

- Что такое Common Language Runtime (CLR)?

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

- В чем разница между const и readonly в C#?

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

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

💬 Кратко:

Главное преимущество PostgreSQL — это отсутствие лицензионных сборов, что сильно снижает общую стоимость владения. В отличие от дорогих лицензий Oracle, PostgreSQL бесплатен. При этом он обладает всеми необходимыми для банка функциями: строгая консистентность данных, поддержка сложных транзакций и надежность. Он более гибкий и современный: его можно свободно модифицировать, у него активное сообщество и быстрые циклы обновлений. Для новых, более гибких проектов в банке (например, онлайн-сервисы) PostgreSQL часто становится лучшим выбором.

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

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

Code Basics — бесплатная образовательная платформа для тех, кто хочет начать путь в IT. Проект создан командой и сообществом Хекслета, чтобы помочь новичкам понять принципы программирования, а не просто запомнить детали. В основе обучения — практический тренажёр, который помогает освоить базу и почувствовать логику кода.

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

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

💬 Кратко:
Модификатор abstract используется для объявления абстрактных классов и методов. Абстрактный класс нельзя инстанциировать напрямую, он служит шаблоном для других классов. Абстрактный метод объявляется без реализации, и его конкретная логика должна быть предоставлена в неабстрактном классе-наследнике. Это позволяет задавать общий интерфейс и обеспечивать полиморфное поведение в иерархии наследования.

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

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

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

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

💬 Вопросы:

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

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

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

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

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

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

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

💬 Кратко:
Процесс деплоя через Docker включает несколько ключевых шагов. Сначала создается Dockerfile — инструкция для сборки образа приложения. Затем образ собирается локально или на CI-сервере с помощью команды docker build. Далее образ помещается в реестр, например Docker Hub или частный registry. На целевой сервер (продакшен) образ загружается и запускается как контейнер командой docker run. Для управления несколькими контейнерами часто используют docker-compose или оркестраторы вроде Kubernetes.

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

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


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

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

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

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

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

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

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

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

💬 Вопросы:

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

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

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

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

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

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

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

💬 Кратко:

Если контейнер не завершился после получения SIGTERM, Docker отправляет ему SIGKILL. Этот сигнал принудительно завершает процесс без возможности обработки. Контейнер будет остановлен в любом случае. Такое завершение может привести к потере данных. Поэтому приложения должны корректно реагировать на SIGTERM.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #api
📚 Что такое API? Простыми словами для Начинающих

Автор объясняет понятие API (Application Programming Interface) простыми и живыми примерами, показывая, как разные программы могут взаимодействовать друг с другом без необходимости вручную переносить данные. Через аналогии с «розетками» и интернет-эндпоинтами он демонстрирует, что API — это своего рода программный интерфейс, который позволяет одной программе отправлять команды и получать данные от другой по заранее определённым правилам и форматам (например, JSON), и как это используется в реальных веб-сервисах между фронтендом и бэкендом.

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

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

💬 Кратко:

Для профилирования используются: Application Insights для мониторинга в production, dotTrace/JetBrains Profiler для детального анализа CPU и памяти, SQL Server Profiler для диагностики запросов к БД, и нагрузочное тестирование с помощью JMeter. Методика включает сбор метрик, идентификацию "узких мест", оптимизацию и повторное тестирование.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #cache #caching #.net
🤔 Что такое кэширование?

💬 Кратко:

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

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

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

💬 Кратко:

Индексы ускоряют чтение данных, потому что БД быстрее находит нужные строки. При этом каждая операция записи должна обновлять все индексы, из-за чего INSERT, UPDATE и DELETE становятся медленнее. Чем больше индексов, тем выше цена записи. Поэтому всегда нужен баланс между скоростью чтения и записи.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #api
📚 Что такое API? Простыми словами для Начинающих

Автор объясняет понятие API (Application Programming Interface) простыми и живыми примерами, показывая, как разные программы могут взаимодействовать друг с другом без необходимости вручную переносить данные. Через аналогии с «розетками» и интернет-эндпоинтами он демонстрирует, что API — это своего рода программный интерфейс, который позволяет одной программе отправлять команды и получать данные от другой по заранее определённым правилам и форматам (например, JSON), и как это используется в реальных веб-сервисах между фронтендом и бэкендом.

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

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

💬 Кратко:

Индексаторы в C# позволяют объектам класса быть индексируемыми, как массивы. Они позволяют использовать синтаксис массива для доступа к элементам объекта.

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

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

💬 Кратко:
Исключения в Task обрабатываются с помощью await, который извлекает исключение из агрегатного исключения. Если задача завершилась с ошибкой, await выбрасывает первое исключение из AggregateException. Также можно использовать try-catch вокруг await или методы ContinueWith и Task.Wait для обработки.

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

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

💬 Кратко:
Используйте переменные окружения для параметров, зависящих от среды, таких как URL API или ключи доступа. Храните конфигурацию по умолчанию в файлах (например, .env.example), которые не коммитятся, а реальные значения задаются на сервере. Для сложных случаев применяйте конфигурационные сервисы или загружайте настройки при запуске из внешнего источника. Это позволяет одному коду работать в development, staging и production без изменений.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#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.

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

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