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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #git
🤔 Как восстановить удалённую ветку?

💬 Кратко:
Если ветка была удалена локально, её можно восстановить, используя команду git reflog . Если ветка была удалена удалённо, можно восстановить еёс помощью git push origin ‹ branch_name›.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 Запуск программ с защитой PPL

CreateProcessAsPPL — инструмент для запуска приложений с включенной защитой PPL. Позволяет выбирать уровень защиты для повышения безопасности выполнения программ.

Основные моменты:
🔵 Поддержка нескольких уровней защиты PPL.
🔵 Удобный интерфейс командной строки.
🔵 Полезен для разработчиков и исследователей безопасности.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 730. Count Different Palindromic Subsequences

Поскольку ответ может быть очень большим, верните его по модулю 109 + 7. Подпоследовательность строки получается путем удаления из нее нуля или более символов. Последовательность является палиндромной, если она равна последовательности, обращенной назад. Две последовательности a1, a2, ... и b1, b2, ... различны, если существует некоторое i, для которого ai != bi.

Пример:
Input: s = "bccb"
Output: 6


👨‍💻 Алгоритм:

1⃣Используйте динамическое программирование для подсчета количества палиндромных подпоследовательностей.

2⃣Введите двумерный массив dp, где dp[i][j] представляет количество палиндромных подпоследовательностей в подстроке от i до j.

3⃣Итерируйте по длине подстрок от 1 до длины строки и обновляйте значения в dp на основе состояния предыдущих подстрок.

😎 Решение:
public class Solution {
public int CountPalindromicSubsequences(string s) {
const int MOD = 1000000007;
int n = s.Length;
int[,] dp = new int[n, n];

for (int i = 0; i < n; i++) {
dp[i, i] = 1;
}

for (int length = 2; length <= n; length++) {
for (int i = 0; i <= n - length; i++) {
int j = i + length - 1;
if (s[i] == s[j]) {
int l = i + 1, r = j - 1;
while (l <= r && s[l] != s[i]) l++;
while (l <= r && s[r] != s[j]) r--;

if (l > r) {
dp[i, j] = dp[i + 1, j - 1] * 2 + 2;
} else if (l == r) {
dp[i, j] = dp[i + 1, j - 1] * 2 + 1;
} else {
dp[i, j] = dp[i + 1, j - 1] * 2 - dp[l + 1, r - 1];
}
} else {
dp[i, j] = dp[i + 1, j] + dp[i, j - 1] - dp[i + 1, j - 1];
}

dp[i, j] = (dp[i, j] + MOD) % MOD;
}
}

return dp[0, n - 1];
}
}


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️‍🔥 .NET Channel Publisher — простой способ строить настоящий async messaging

Как это работает:
- Использует System.Threading.Channels для асинхронной публикации событий
- Сообщения пишутся в канал и обрабатываются в фоне, не блокируя поток
- Поддержка CancellationToken для безопасной отмены

Плюсы:
- Минимум кода — максимум гибкости
- Высокая производительность и низкая задержка
- Удобно для event-driven архитектуры и микросервисов

На скриншоте:
🔴 Пример класса ChannelPublisher для отправки нотификаций
🔴 Трейсинг вызова Order.Service: POST orders показывает прозрачную обработку и асинхронность

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
🚀 Прокачиваем подготовку к собеседованиям на максимум!

Если ты ещё не заглядывал(а) в 👍 «Авось Прорвёмся» — самое время.
Это проект Ани для самостоятельной подготовки, где есть:
- 1000+ записей реальных собеседований с разбором задач и вопросов;
- контакты рекрутеров;
- гайды по резюме, трудоустройству и стратегиям поиска работы.
- задачи и вопросы с собеседований

Мы в YeaHub продолжаем добавлять собеседования из этих чатов — теперь их можно проходить в тренажёре, тренируя ответы на реальные вопросы работодателей.

🎧 Сначала слушай, как проходят настоящие собесы,
💡 потом — разбирай и практикуй те же кейсы в тренажёре.


Направления: iOS, Android, Frontend, Python, Go, Java, C#, QA, Analytics.

👉 Обучайтесь, общайтесь, растите вместе с YeaHub и Авось Прорвемся
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1🤝1
#Собес #CSharp
🤔 Как лямбда-выражения транслируются в SQL в контексте IQueryable‹ Т ›?

💬 Кратко:
При работе с IQueryable‹T› лямбда-выражение представляется как Expression Tree , которое QueryProvider анализирует, разбивая на части (методы, условия, проекции). Затем строится SQL-команда, где части Expression соответствуют WHERE, SELECT, ORDER BY . Фактическое выполнение происходит при перечислении, и в запрос включаются только поддерживаемые операции.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😱 Как упаковать RPM на Linux через GitLab CI/CD?

В материале детально разбирается разработка службы на .NET Core, конфигурация spec-файла, применение макросов и запуск GitLab Runner внутри Docker. Полезные рекомендации для DevOps по автоматизации билда и контролю версий.

Читать подробнее: https://habr.com/ru/articles/952748/

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥄 Чистим NuGet и освобождаем десятки гигабайт

Со временем NuGet накапливает огромные объёмы кэша:

- http-cache может весить 10+ ГБ

- global-packages легко разрастается до 50 ГБ и больше

Если места на диске не хватает — кэши можно безопасно почистить:

Очистка глобальных пакетов:

dotnet nuget locals global-packages --clear


Очистка http-кэша:

dotnet nuget locals http-cache --clear


Очистка временных файлов:

dotnet nuget locals temp --clear


Полная зачистка всего:

dotnet nuget locals all --clear


После очистки пакеты будут скачаны заново при следующем dotnet restore, но на диске станет намного свободнее.

Проверить текущие кэши можно так:

dotnet nuget locals all --list


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🛞 MauiReactor — MVU для .NET MAUI

Открытая библиотека, реализующая паттерн Model View Update для .NET MAUI.

Она упрощает разработку кроссплатформенных приложений, ускоряет hot reload и повышает производительность.

MauiReactor предлагает альтернативу XAML и позволяет описывать интерфейс на C#. Поддерживаются темы, условный рендеринг и интеграция сторонних компонентов.
Подробнее

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Что такое git reflog?

💬 Кратко:
git reflog показывает историю всех перемещений HEAD, включая коммиты, слияния и переключения веток. Эта команда полезна для восстановления потерянных коммитов или веток.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Получение информации о .NET Runtime в приложении

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Перечислите команды для удаления ветки git

💬 Кратко:
Для удаления локальной ветки:
git branch -d ‹ branch_name>

Если ветка содержит незавершённые изменения:
git branch -D ‹ branch_name>

Для удаления удалённой ветки:
git push origin --delete ‹branch_name>


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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵‍💫 Rider 2025.2.3 был выпущен

Узнать об изменениях в этой сборке и скачать обновление можно здесь:

https://blog.jetbrains.com/dotnet/2025/10/06/resharper-and-rider-2025-2-3/

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #jagged_array #array #data_structure
🤔 Что такое зубчатые массивы (Jagged Arrays)?

💬 Кратко:

Зубчатый массив — это массив массивов, в котором длина каждого вложенного массива может быть разной.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #git
🤔 Что делает команда git stash?

💬 Кратко:
Команда git stash сохраняет текущие незавершённые изменения в специальное место (стек), чтобы вы могли переключиться на другую ветку или выполнить другие действия. Эти изменения можно позже восстановить с ПОМОЩЬЮ git stash apply или git stash pop .

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #c# #.net #postgres

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

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

💬 Вопросы:

- Опиши проектирование БД для системы расписания (сущности: уроки, записи, связи, обработка замен занятий)

- Что такое процедуры?

- Для чего нужен Left Join?

- Что такое подзапросы и где их применяют?

- За счёт чего работает ускорение при использовании индекса (B-дерево, структура данных)?

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

📣 Хочешь больше собесов?
Подпишись на наш главный канал
🔥1
#Собес #github
🤔 Что такое локальный и удаленный репозитории в Git?

💬 Кратко:

Локальный репозиторий находится на вашем компьютере и хранит всю историю изменений проекта. Удаленный репозиторий — это копия вашего проекта, размещенная в облаке (например, на GitHub). Вы работаете с локальным репозиторием и периодически синхронизируете изменения с удаленным.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🔥1
#Собес #rest #grpc #clickhouse

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

Техническое собеседование. Лето 2025. 3+ года в резюме. Зарплатная вилка: 200к+. Много разговаривали про архитектуру.

💬 Вопросы:

- Как бороться с дублированием данных в ClickHouse?

- В чём преимущества колоночных БД (ClickHouse) перед PostgreSQL?

- Как оптимизировать выполнение тяжёлых аналитических запросов в PostgreSQL?

- Что такое хэши в Redis?

- Какие проблемы могут возникнуть при внедрении RabbitMQ?

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

📣 Хочешь больше собесов?
Подпишись на наш главный канал