Go PRO 2026/2027
Программа курса
| Введение в язык Go. Описание API языка. 25 ключевых слов. Решение простейших задач |
| Типовая система и модель данных Go. Значения, zero value, структуры и память |
Функции и методы. Управление поведением и областью ответственности. defer, panic, recover
|
| Интерфейсы в Go. Контракты, зависимости и проектирование абстракций |
| Идиоматическое проектирование API в Go. Ошибки и характерные паттерны языка |
| Конкурентное программирование в Go. Горутины, каналы и синхронизация |
| Go Runtime и GMP-модель планировщика |
context.Context и управление жизненным циклом приложения
|
| Архитектура Go-приложений и проектирование пакетов |
| Тестирование и надёжность Go-приложений |
| Производительность Go-приложений. Память, аллокации и профилирование |
| Работа с базами данных и внешними ресурсами. Надёжность хранения данных и интеграций |
| Production-ready Go-приложения. CI/CD, релизы, Docker, Kubernetes и инфраструктура backend-сервисов |
Материалы курса
- [
manytask] - [Ccылка на Latex с лекциями]
- Канал по курсу внимание: вход по приглашению. за время работы на факультете происходят спам-атаки, вход нежелательных лиц и прочая гадость, которая мешает проводить курс. Поэтому, такие ограничения...
- Ссылка на чат
Система оценки
Итоговая оценка:
Oитог = 0,2 * ДЗ + 0,3 * Проект + 0,5 * Экзамен
- ДЗ — еженедельные домашние задания в manytask. Выдается ДЗ на несколько задач (обычное небольшое, для закрепления материала и выработки навыков). Есть отсрочки (на человека максимум 7 дней за курс), можно скипнуть по болезни и решить позже, но главное решать его.
- Проект — с темы Архитектура Go-приложений и проектирование пакетов начнем разработку проекта, при этом рядовых домашних заданий как было до этого не будет. Несколько недель будем по чек-листу будем вести разработку проекта. Оцениваться будет качество выполнение чек-листа и исправление ошибок.
- Экзамен — по аналогии с техническим собеседованием
Экзамен
Предыстория
Как известно, в адекватной средней конторе имеется 2-3 собеседования которые из них:
- Скрининг (технический или телефонный)
- Техническое собеседование (как раз под тот формат что у нас и будет)
- Архитектура (этот курс не про это, но концепции пройдем на парах когда приблизимся к темам ближайшие к ней)
и уже в конце знакомство с командой
Что мы не будем спрашивать
- Глубокий расчет архитектуры (цена за аппаратуру за low-high burst)
- Алгоритмы (курс тоже не про это)
- Глубокую реализацию тех или иных вещей в языке (это неактуально нигде если вы не hardware-специалист и не работаете с железками и не выбиваете тысячные миллисекунды с запусков)
Что мы будем спрашивать
- Устройство языка и его возможности (небольшие теор.вопросы которые встречаются во время собеседований)
- БД (индексы, запросы, explain analize, подходы по построению читающих и пишущих запросов где 10M+ записей)
- Задачи (проходим каждую лекцию / семинар, будет конспект с разборами -- по аналогии с ними будут на экзамене)
Оценка экзамена
Oитог = 0,5 * Теор + 0,5 * Задача
Часть людей могут принять приглашенные люди, которые занимаются проведением технических собеседований.