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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
Техническое собеседование. Вилка до 230к. Опыт в резюме — 3.6 года.

Ссылка на вопросы и задачи собеседования:
https://app.yeahub.ru/wiki/collections/414
#repository #net #примеры
📚 dotnet-samples

Официальная коллекция примеров кода от Microsoft для различных технологий .NET, включая C#. Охватывает ASP.NET Core, Entity Framework, Blazor и другие фреймворки. Полезен для изучения современных подходов к разработке на C#.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #multiple_inheritance #interface #composition
🤔 Как перенести множественное наследование из C++ в Java?

💬 Кратко:
В Java отсутствует множественное наследование классов для избежания проблемы ромбовидного наследования и сложностей с конструкторами. Вместо этого используется множественная реализация интерфейсов, которые могут содержать методы по умолчанию (default methods). Для повторного использования кода из нескольких источников применяется композиция (включение объектов других классов) и делегирование.

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

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

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

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

💬 Вопросы:

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

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

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

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

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

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

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

💬 Кратко:
Токены безопаснее хранить в HTTP-only куках, а не в localStorage или sessionStorage. localStorage и sessionStorage доступны через JavaScript, что делает их уязвимыми для XSS-атак. HTTP-only куки недоступны для скриптов, что снижает риск утечки токена. Однако куки требуют защиты от CSRF с помощью дополнительных мер, таких как SameSite атрибуты и CSRF-токены.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Технический скрининг. Вилка не обсуждалась, кандидат ищет от 300к. Опыт в резюме — 3.6+ года.

Ссылка на вопросы и задачи собеседования:
https://app.yeahub.ru/wiki/collections/445
#article #highload #dotnet
📚 Система резервации на 600 заказов в секунду без буферизации и другой дичи

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

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

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

💬 Кратко:

Для анализа производительности используются: Unity Profiler, Unreal Profiler, RenderDoc для графики, Memory Profiler для утечек памяти, VTune для CPU анализа, NVIDIA Nsight для GPU. Эти инструменты помогают найти узкие места в рендеринге, логике и использовании памяти.

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

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

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

💬 Кратко:

Для анализа SQL-запросов используют встроенные инструменты базы данных. Основной инструмент — EXPLAIN и EXPLAIN ANALYZE. Они показывают план выполнения запроса. Также используются логи и мониторинг. Эти инструменты помогают понять, где теряется производительность.

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

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

На сайте представлены интерактивные уроки и справочные материалы по HTML, CSS, JavaScript, SQL, Python и другим технологиям; есть онлайн‑редактор для практики, примеры кода с возможностью редактирования и тестирования, а также разделы с упражнениями и тестами для закрепления знаний.

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

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

💬 Кратко:

Основные сложности:

- Определение границ сервисов
- Дублирование кода/данных
- Сложность отладки
- Согласованность данных

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #int #char #struct
🤔 Объясните различия между типами значений и ссылочными типами.

💬 Кратко:

Типы значений хранят данные непосредственно в своей памяти (например, int), а ссылочные типы содержат ссылку на данные, расположенные в другой области памяти (например, объекты классов). Типы значений хранятся в стеке, а ссылочные — в куче.

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

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

💬 Кратко:

HTTP/2 решает главную проблему HTTP/1.1 — неэффективность множества параллельных запросов. Он использует одно соединение и мультиплексирует несколько потоков данных внутри него, избегая блокировок и экономя задержку. Заголовки сжимаются, статические ресурсы передаются быстрее, а сервер может отправлять данные клиенту заранее (server push). В итоге HTTP/2 уменьшает время загрузки страниц и снижает сетевые накладные расходы.

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

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

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

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

💬 Кратко:

Боксинг происходит, когда тип значения (например, int или struct) преобразуется в ссылочный тип object. Это нужно, когда тип значения используется там, где ожидается object - например, при добавлении в коллекцию ArrayList. При этом создается новый объект в куче, что требует дополнительной памяти и времени. Распаковка (unboxing) - обратный процесс, когда object преобразуется обратно в тип значения.

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

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

💬 Кратко:
Метод SaveChanges() не отправляет дополнительный запрос для сравнения. Он анализирует изменения, отслеживаемые контекстом (change tracker), и генерирует соответствующие SQL-команды INSERT, UPDATE или DELETE. Затем эти команды выполняются в одной транзакции. Дополнительных запросов на сравнение не требуется, так как EF Core отслеживает состояние каждой сущности.

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

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

💬 Кратко:
HEAD-запрос похож на GET, но сервер не возвращает тело ответа. Он используется для проверки существования ресурса, получения метаданных (заголовков) или проверки времени последнего изменения без загрузки содержимого. Это экономит трафик и ускоряет работу.

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

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

Тут собрано всё, что нужно знать про самый популярный протокол интернета

✓ Все статус-коды с понятными объяснениями
✓ Методы и заголовки
✓ Подборка инструментов для тестирования HTTP
✓ Чёткая инфа про HTTP/3

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

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

💬 Кратко:

Запечатанный (sealed) класс не позволяет создавать от него производные классы. Это защищает класс от модификаций и обеспечивает его неизменяемость.

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

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

💬 Кратко:
Значимые типы в C# (например, int, struct) обычно хранятся в стеке, но могут оказаться в куче в нескольких случаях. Это происходит при упаковке (boxing), когда значение присваивается переменной типа object или интерфейса. Также, если структура является полем ссылочного типа (класса), она хранится в куче вместе с объектом. Ещё при использовании в замыканиях или асинхронных методах локальные значимые типы могут быть "подняты" в кучу.

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

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