C# Developer. Advanced
28 августа
3 месяца
Онлайн
Пн/Чт 20:00 Мск
Для кого этот курс:
-
Middle/Senior C# разработчиков, стремящиеся углубить знания по внутренним механизмам C# и .NET, чтобы повысить эффективность кода и перейти от стандартных CRUD-задач к более значимым ролям в команде
-
Разработчиков, которые создают библиотеки и внутренние инструменты, используемые всей командой компании. Их основная цель — писать стабильный и производительный код, который станет основой для других модулей и приложений
-
Разработчиков, отвечающих за ускорение работы высоконагруженных приложений и сервисов, которые ищут способы оптимизировать использование памяти, минимизировать паузы сборки мусора и ускорять выполнение асинхронных операций
- Выпускников курса C# Developer. Professional
Необходимые знания:
-
Опыт работы с C# на уровне Middle и выше — понимание ООП, делегатов, событий и работы с коллекциями
-
Опыт работы с многопоточностью и async/await — понимание основных концепций потоков, задач (Task) и асинхронного программирования
-
Знание базовых принципов работы CLR — понимание, что такое стек и куча, базовые знания о сборщике мусора (GC) и области памяти
-
Навыки работы с IDE — умение настраивать окружение, компилировать и отлаживать приложения
Что даст вам этот курс
Вы научитесь:
- Создавать производительные библиотеки и инструменты ядра — их код будет использоваться другими командами, а его производительность и предсказуемость станут конкурентным преимуществом
- Повышать производительность приложений — оптимизация памяти, улучшение работы GC, уменьшение накладных расходов многопоточности
- Обеспечивать предсказуемое поведение приложений — снижение времени отклика, уменьшение зависаний и замедлений, вызванных сборкой мусора или ошибочным использованием асинхронности
Почему стоит освоить?
Освоение курса позволит создавать высокопроизводительный, безопасный и легко поддерживаемый код, что повысит вашу ценность на рынке труда.
Процесс обучения
Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя.
Вебинары проводятся 2 раза в неделю по 2 ак. часа и сохраняются в записи в личном кабинете. Вы можете посмотреть их в любое удобное для вас время.
В ходе обучения вы будете выполнять домашние задания. Каждое из них посвящено одному из компонентов вашего выпускного проекта.
После выполнения всех домашних заданий вы получите готовый выпускной проект.
Оптимальная нагрузка
Возможность совмещать учебу с работой
Портфолио
Индивидуальная разработка итоговой проектной работы
Перспективы
Получите знания, которые помогут повысить вашу востребованность и доход
Партнеры
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности. Мы оказываем помощь в вопросах карьеры на протяжении всего обучения и спустя полгода после его завершения.
- Получите помощь с оформлением резюме, портфолио и сопроводительного письма
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
- Пройдете карьерную консультацию с нашим HR-специалистом
- Получите рекомендации, как искать работу, и советы по прохождению собеседования
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Обратная связь
Домашние задания с поддержкой и обратной связью наших преподавателей помогут освоить изучаемые технологии
Активное комьюнити
Чат в Telegram для общения преподавателей и студентов
Программа
Управление памятью на уровне ядра
В этом модуле мы спустимся на самый низкий уровень управляемого кода, чтобы взять под контроль главный ресурс — память. Вы научитесь писать код с минимальным количеством аллокаций, понимать и предсказывать поведение Сборщика мусора (GC), а не бороться с его последствиями. Мы освоим Span<T>, пулы памяти и другие инструменты, которые лежат в основе производительности всего современного .NET. После этого модуля вы будете смотреть на каждую строчку своего кода через призму аллокаций.
Тема 1: Организация памяти в .NET: Stack, Heap, LOH и GC
Тема 2: Сборщик мусора (GC) под микроскопом: поколения, режимы и тюнинг
Тема 3: Низкоуровневая работа с памятью: Span<T>, Memory<T>, stackalloc
Тема 4: Продвинутое управление памятью: ArrayPool<T> и MemoryPool<T>
Тема 5: Структуры на максималках: ref struct, readonly ref, in-параметры
Тема 6: Работа с неуправляемыми ресурсами: IDisposableAsync, SafeHandle, NativeMemory
Асинхронность и многопоточность для экспертов
Этот модуль посвящен созданию систем, способных выдерживать высокую нагрузку и эффективно утилизировать все ядра процессора. Мы начнём с проектирования сложных асинхронных конвейеров с помощью Channels и TPL Dataflow. Вы освоите продвинутые и lock-free примитивы синхронизации для написания потокобезопасного кода без блокировок. Кульминацией модуля станет разработка собственного высокопроизводительного TCP-сервера с нуля, что закрепит все полученные знания на практике.
Тема 1: Архитектура высоконагруженных систем: System Design на примере In-Memory кэша
Тема 2: System.IO.Pipelines: высокопроизводительная передача и обработка потоков данных
Тема 3: Каналы (System.Threading.Channels): современный асинхронный producer/consumer
Тема 4: Конвейеры обработки данных с TPL Dataflow
Тема 5: Продвинутые примитивы синхронизации: SemaphoreSlim, ReaderWriterLockSlim, ManualResetEventSlim
Тема 6: Lock-Free алгоритмы с Interlocked и Volatile
Тема 7: Теория: Высокопроизводительные TCP-серверы на System.Net.Sockets
Тема 8: Практикум: Пишем асинхронный TCP-сервер для кэша
Профилирование и экстремальная оптимизация
В этом модуле мы превращаемся в «детективов производительности». Вы научитесь подходить к оптимизации системно: не гадать, а измерять. Мы освоим профессиональные инструменты (BenchmarkDotNet, dotnet-trace, dotnet-dump) для поиска реальных узких мест в CPU и памяти. Вы узнаете, как «договориться» со сборщиком мусора для минимизации пауз и как выжать максимум из процессора с помощью SIMD-векторизации. Этот модуль научит вас находить и устранять проблемы производительности, о существовании которых вы раньше могли даже не подозревать.
Тема 1: Профилирование CPU: BenchmarkDotNet и dotnet-trace
Тема 2: Профилирование памяти: dotnet-dump и dotMemory
Тема 3: Продвинутая отладка: анализ дампов памяти с WinDbg и SOS
Тема 4: Векторизация (SIMD): ускорение вычислений с System.Numerics
Тема 5: Практикум: Оптимизируем реальный код
Внутренние механизмы CLR
Этот модуль — погружение в самое сердце компилятора и среды выполнения .NET. Вы узнаете, как ваш C# код превращается в машинные инструкции (JIT/AOT) и как можно влиять на этот процесс. Мы перейдем на следующий уровень абстракции и научимся писать код, который анализирует и генерирует другой код. Вы освоите мощь Expression Trees для создания динамических решений, а также Source Generators и Roslyn API — самые современные инструменты метапрограммирования, позволяющие автоматизировать рутину и достигать максимальной производительности.
Тема 1: JIT и AOT компиляция: ReadyToRun и NativeAOT
Тема 2: Анализ кода с Roslyn API: пишем свой анализатор
Тема 3: Генерация кода с Source Generators
Тема 4: Практикум: Пишем высокопроизводительный сериализатор с Source Generators
Современные парадигмы и инструменты эксперта
Заключительный модуль курса вооружит вас самыми современными и востребованными на рынке инструментами и подходами. Мы изучим реактивное и функциональное программирование для написания более надежного и выразительного кода. Вы научитесь обеспечивать безопасность приложений с помощью криптографии и внедрять полноценный мониторинг через OpenTelemetry. Мы заглянем в будущее и сделаем первые шаги в интеграции AI с помощью Semantic Kernel. Этот модуль готовит вас не просто как технического эксперта, а как специалиста, готового к решению самых актуальных задач.
Тема 1: OpenTelemetry: современный стандарт наблюдаемости
Тема 2: Нагрузочное тестирование: проверка вашего кода на прочность
Тема 3: Безопасная разработка (Secure Coding): защита от атак и уязвимостей
Тема 4: Криптография в .NET: шифрование, хеширование, подписи
Тема 5: Введение в AI для .NET: Semantic Kernel
Проектный модуль
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
Каждый курс завершается финальным проектом, который предстоит защитить перед преподавателями и командой. Вам будет, что обсудить на собеседовании!
Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Что будет на вебинаре:
— Обзор новых возможностей и изменений в .NET 10
— Нововведения в синтаксисе C# 14 (сахар, field, extension)
— Обновления в runtime и их влияние на работу приложений
— Новые функции в MAUI и EF Core
Чему научатся участники:
— Понимать основные нововведения в .NET 10 и их применение
— Использовать новые синтаксические конструкции C# 14
— Оценивать изменения в runtime и адаптировать код
— Работать с новыми возможностями MAUI и EF Core для разработки современных приложений
Кому будет полезно:
— Разработчики, которым предстоит читать код коллег, перешедших на .NET10
→ Вебинар в рамках курса «C# углубленный»: otus.ru/lessons/csharp-in-depth/
Прошедшие
мероприятия
Этот курс может оплатить ваш работодатель
- Подробно расскажем об интересующем вас курсе
- Объясним, как договориться с работодателем
- Сообщим стоимость обучения и варианты оплаты
- Ответим на вопросы
- Предоставим шаблон договора и счёт на оплату
Подтверждение знаний и навыков
OTUS осуществляет лицензированную образовательную деятельность.
В конце прохождения специализации вы получите сертификат OTUS и официальный диплом о получении новой специальности
Почему специализация выгоднее, чем отдельные курсы?
- Стоимость ниже, чем покупка курсов по отдельности
- Диплом о профессиональной переподготовке
- Расширенная опция помощи с трудоустройством
C# Developer. Advanced
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Оставьте заявку и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно