Любимые курсы студентов программы «РАСПРЕДЕЛЕННЫЕ ВЕБ-СЕРВИСЫ»
Любимые курсы студентов программы «РАСПРЕДЕЛЕННЫЕ ВЕБ-СЕРВИСЫ»
Одна из корпоративных программ нашего института совместно с компанией VK – «Распределенные веб-сервисы». Ее студенты учатся проектировать, разрабатывать, тестировать и эксплуатировать распределенные системы. В материале они рассказали, почему им нравятся курсы по highload, параллельным вычислениям, углубленному программированию на Java и базам данных, и как они уже используют полученные знания в работе.
  • Виктор Коротких
«Разработка высоконагруженных систем», преподаватели — Вадим Цесько и другие эксперты компании VK

Одна из моих любимых дисциплин на программе «Распределенные веб-сервисы» — «Разработка высоконагруженных систем» (highload). Это логичное продолжение курса по NoSQL, в рамках которого мы разработали свою собственную базу данных, а затем на курсе по highload делали ее более отказоустойчивой и способной выдерживать высокие нагрузки. Предмет сложный, но очень интересный. Его читают ведущие разработчики из VK, которые делятся своим опытом и лучшими практиками в этой области.

На курсе я не только получил теоретические знания, но и смог применить их на практике: познакомился с async profiler и улучшил свои знания в сфере нагрузочного тестирования, что впоследствии пригодилось мне в работе. В целом, после этого курса я почувствовал себя более уверенно в плане написания производительного кода. Также у меня появилось понимание, как правильно искать проблемы в высоконагруженных приложениях, и что самое важное — как их потом можно исправить.

Как я уже говорил, курс сложный и требует определенной базы знаний по Java. Однако преподаватели готовы ответить на любые вопросы, помочь с трудностями и дать развернутую и быструю обратную связь по практическим заданиям (как при личной беседе, так и удаленно — в общих беседах или в комментариях к пулл-реквестам).
  • Елена Ходосова
«Углубленное программирование на языке Java», преподаватели — Даниил Степанов, Александр Ерошкин

Для меня одним из самых полезных стал курс по углубленной Java. Задания были интересными и помогли не только теоретически, но и практически понять, какие возможности есть в языке. Я узнала много новых особенностей и смогла попрактиковаться с тем, что изучала ранее. Особенно хочу отметить задания с многопоточностью, так как они оказались очень полезны в работе.

На курс есть входной порог: чтобы получить максимум пользы, нужны базовые знания Java и техническая база по программированию. Преподаватели доступно объясняют материал и всегда готовы помочь. Практическая часть курса построена так, что на каждое задание выделяется достаточно времени, чтобы разобраться и качественно его выполнить. А индивидуальный подход и быстрая обратная связь сделали обучение эффективным и интересным.
  • Никита Прокопьев
«Эксплуатация высоконагруженных систем», преподаватели — эксперты компании VK

Курс от компании VK «Эксплуатация высоконагруженных систем» для меня стал настоящим открытием. Я учусь на программе «Распределенные веб-сервисы», и этот предмет действительно помог углубить мои знания в области кластеризации, виртуализации и оркестрации. На занятиях мы работали с встроенными инструментами Linux, а также с bird, proxmox и Xen, что позволило мне не только понять теорию, но и применить ее на практике.

Преподаватели доступны и всегда готовы помочь разобраться в сложных моментах, что особенно ценно для студента, только начинающего свой путь в IT. Входной порог курса достаточно низкий, и даже если у вас нет глубоких предварительных знаний, материал подается доступно и понятно. Этот курс показал, как можно строить высоконагруженные системы, и дал мне уверенность в своих силах для решения реальных задач.
  • Макар Суханов
Мне нравятся многие курсы на нашей программе. Я долго думал, о чем рассказать, но так и не смог выбрать один-единственный предмет. Поэтому поделюсь своими впечатлениями сразу о двух курсах из первого семестра:

«Углубленные базы данных», преподаватель — Дмитрий Калинин

Этот курс от компании-партнера VK позволит безболезненно погрузиться в устройство и принципы работы реляционной СУБД PostgreSQL, а также даст возможность освежить уже имеющиеся знания более опытным разработчикам.

На первых лекциях мне показалось, что курс слишком поверхностный и простой, но это совсем не так. Мы начали с основ: что такое реляционные СУБД, какие бывают нормальные формы, рассмотрели основные команды для построения запросов. Начиная с середины курса, пошли более сложные и интересные темы: репликация и шардирование в PostgreSQL, внутреннее устройство СУБД, а также подробный разбор ее работы «под капотом» (основные слои, механизм планировщика запросов и т. д.).

Занятия были преимущественно теоретические, но лектор объяснял сложные вещи простым языком и подкреплял их примерами из реального опыта. В результате курс получился полезным, а его теоретическую основу можно использовать как базу для подготовки к собеседованиям.


«Параллельные вычисления», преподаватели — Игорь Стручков, Даниил Степанов, Владимир Ицыксон

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

Практика и лекции больше заточены под Java, но теоретическую часть курса можно применять и для написания многопоточных программ на других языках программирования.

На лекциях мы погрузились в примитивы синхронизации, говорили о способах распараллеливания различных алгоритмов, а также о методах работы с concurrency в Java. На практиках закрепляли полученный материал с помощью лабораторных работ: распараллеливали алгоритмы, применяли брокеры сообщений и познакомились с обработкой больших данных с использованием Hadoop.

В результате курс получился полезным: мы освежили знания по многопоточному программированию на Java и попробовали новые технологии.