Специальная цена
System Design
26 декабря
4 месяца
Онлайн
Вт/Чт 20:00 Мск
Для кого этот курс
- Разработчики программного обеспечения (Software Developers)
- Архитекторы (Solution Architects, Software Architects, Highload Architects)
- Технические лиды (Tech Leads)
- Инженеры по данным (Data Engineers)
- DevOps-инженеры
Необходимые знания
- Языки программирования: Java, Python, C++, JavaScript, Go, или другие популярные языки
- Базы данных: SQL, NoSQL, например, PostgreSQL, MongoDB, Redis
- Облачные платформы: Яндекс.Облако
- Инструменты и технологии: Docker, Kubernetes, микросервисная архитектура, REST и gRPC, CI/CD
Что даст вам этот курс
- Разработчикам: позволит улучшить понимание системного дизайна, чтобы создавать более масштабируемые и устойчивые приложения;
- Архитекторам: систематизируете и обновите свои знания по проектированию сложных систем;
- Лидам: позволит глубже понять методы и подходы к разработке архитектуры решений;
- Дата-инженерам: поймете, как проектировать распределенные системы;
- DevOps'ам: научитесь применять системный дизайн при развертывании и управлении инфраструктурой.
Особенности курса
- Практическая ориентация на реальные кейсы
Курс будет построен на разборе реальных кейсов, которые используют ведущие IT-компании. Это позволит студентам лучше понять, как решаются практические задачи в реальном мире - Подготовка к интервью в крупных компаниях
Основное внимание будет уделено подготовке к системным интервью, включая симуляции и разборы типичных вопросов, что является востребованным навыком на рынке труда - Проектная работа
Завершение курса предполагает выполнение комплексного проекта, который можно использовать в портфолио. Этот проект будет ориентирован на решение реальной проблемы, что даст студентам конкурентное преимущество - Уникальный контент
Курс включает в себя эксклюзивные материалы и инструменты, которые используются в компаниях, работающих с большими и распределенными системами
- Многие компании, ожидают, что кандидаты будут готовы к вопросам по системному дизайну на интервью. Это включает в себя разбор кейсов, проектирование системы с учетом нефункциональных требований (например, надежность, производительность) и оценку различных trade-offs.
- Вакансии для средних и старших аналитиков часто включают задачи по проектированию архитектуры системы, взаимодействию с разработчиками и разработке технической документации. Знание системного дизайна помогает выполнять эти задачи на высоком уровне и часто требуется для работы в крупных компаниях или на сложных проектах.
- Во многих вакансиях для системных аналитиков указывается необходимость глубокого понимания принципов системного дизайна. Например, компании требуют знания архитектурных паттернов, умения проектировать масштабируемые системы и опыт работы с распределенными системами. Эти навыки важны как для разработки новых систем, так и для анализа существующих, чтобы предложить оптимальные решения.
Процесс обучения
Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя.
Вебинары проводятся 2 раза в неделю по 2 ак. часа и сохраняются в записи в личном кабинете. Вы можете посмотреть их в любое удобное для вас время.
В ходе обучения вы будете выполнять домашние задания. Каждое из них посвящено одному из компонентов вашего выпускного проекта.
После выполнения всех домашних заданий вы получите готовый выпускной проект.
Оптимальная нагрузка
Возможность совмещать учебу с работой
Портфолио
Индивидуальная разработка итоговой проектной работы
Перспективы
Получите знания, которые помогут повысить вашу востребованность и доход
Партнеры
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.
- Получите помощь с оформлением резюме, портфолио и сопроводительного письма
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Обратная связь
Домашние задания с поддержкой и обратной связью наших преподавателей помогут освоить изучаемые технологии
Активное комьюнити
Чат в Telegram для общения преподавателей и студентов
Программа
Основные концепции системного дизайна
В этом модуле вы познакомитесь с ключевыми концепциями системного дизайна, которые лежат в основе проектирования сложных систем. Вы узнаете, что такое масштабируемость, надежность и устойчивость, и как эти принципы влияют на архитектурные решения. Научитесь выделять функциональные и нефункциональные требования к системе, а также понимать их взаимосвязь. Полученные знания помогут вам начать мыслить как архитектор и закладывать основу для построения эффективных систем.
Тема 1: Основы системного дизайна
Тема 2: Требования и анализ
Тема 3: Шаблоны проектирования (Design Patterns) // ДЗ
Масштабирование и производительность
В этом модуле вы изучите подходы к масштабированию систем и обеспечению их высокой производительности. Вы разберётесь с видами масштабирования, узнаете, как выбирать подходящий вариант для различных сценариев. Научитесь оценивать узкие места системы и находить способы их устранения. Эти знания помогут проектировать архитектуру, способную справляться с ростом нагрузки и поддерживать стабильную работу.
Тема 1: Масштабирование систем
Тема 2: Высокая доступность (High Availability) и отказоустойчивость
Тема 3: Производительность и оптимизация // ДЗ
Сетевые технологии и взаимодействие компонентов
В этом модуле вы изучите основные принципы работы сетей и взаимодействия компонентов в распределённых системах. Вы разберётесь, как передаются данные между сервисами, и какие протоколы используются для этого. Научитесь проектировать эффективные схемы взаимодействия, минимизируя задержки и снижая риски сбоев. Полученные знания помогут вам создавать надёжные и устойчивые к сбоям системы, способные работать в сложных сетевых условиях.
Тема 1: Сетевые протоколы и взаимодействие
Тема 2: Работа с API и микросервисами
Тема 3: Системы сообщений и очередей // ДЗ
Хранение данных и работа с базами данных
В этом модуле вы узнаете о принципах хранения данных и различных подходах к проектированию баз данных. Вы разберётесь, как выбирать подходящие типы хранилищ для различных задач и проектировать схемы данных. Научитесь учитывать требования к согласованности, доступности и производительности при работе с базами данных. Эти знания помогут вам эффективно организовывать хранение данных в масштабируемых и надёжных системах.
Тема 1: Выбор и проектирование баз данных
Тема 2: Кэширование и хранение данных // ДЗ
Модуль 5. Безопасность и управление доступом
В этом модуле вы изучите ключевые аспекты безопасности систем и принципы управления доступом. Вы узнаете, как защищать данные и предотвращать угрозы на разных уровнях системы. Научитесь применять подходы аутентификации, авторизации и шифрования для обеспечения конфиденциальности и целостности информации. Полученные знания помогут вам проектировать системы, устойчивые к внешним и внутренним угрозам.
Тема 1: Безопасность систем
Тема 2: Управление доступом и секретами // ДЗ
DevOps и CI/CD
В этом модуле вы познакомитесь с принципами DevOps и ролью процессов CI/CD в разработке и эксплуатации систем. Вы узнаете, как автоматизация сборки, тестирования и развёртывания помогает ускорить разработку и повысить надёжность выпускаемых изменений. Научитесь проектировать пайплайны CI/CD и интегрировать их в архитектуру системы. Эти знания позволят вам строить процессы, которые обеспечивают стабильность и эффективность на всех этапах жизненного цикла системы.
Тема 1: Инфраструктура как код (IaC)
Тема 2: CI/CD и автоматизация // ДЗ
Кейсы и практические задания
В этом модуле вы будете разбирать реальные кейсы и решать практические задачи, основанные на типичных вызовах системного дизайна. Вы научитесь применять теоретические знания для проектирования систем, учитывая различные требования и ограничения. Практическая работа позволит вам отточить навыки анализа, проектирования и выбора оптимальных решений. Это поможет вам подготовиться к решению сложных задач в реальных проектах.
Тема 1: Обзор типов вопросов на интервью по системному дизайну
Тема 2: Разбор популярных кейсов на интервью
Тема 3: Архитектура высоконагруженных систем
Тема 4: Подготовка к системным интервью
Тема 5: Проектирование систем хранения данных
Тема 6: Сетевые протоколы и их применение на практике
Тема 7: Безопасность и надежность систем
Тема 8: Работа с инфраструктурой и DevOps
Тема 9: Подготовка к системным интервью в топовых компаниях
Проектная работа
Заключительный месяц курса посвящен проектной работе. Проект – это самая интересная часть обучения. Вы будете разрабатывать его на основе полученных на курсе навыков и компетенций. В процессе работы над проектом можно получить консультацию преподавателей.
Тема 1: Выбор темы и организация проектной работы // Проект
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ и подведение итогов курса
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
Каждый семестр завершается финальным проектом, который предстоит защитить перед преподавателями и командой. Вам будет, что обсудить на собеседовании!
В качестве проектной работы вам предстоит с нуля реализовать сложную систему: проектирование, выбор технологий, документация.
Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Прошедшие
мероприятия
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса и удостоверение о повышении квалификации.
После обучения вы:
- Получите материалы по пройденным занятиям (видеозаписи курса и дoполнительные материалы)
- Создадите свой проект, который поможет при прохождении собеседований
- Повысите свою ценность и конкурентоспособность как IT-специалист
- Получите сертификат об окончании курса
System Design
Полная стоимость со скидкой
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Оставьте заявку и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно