Курс Frontend разработки ITMO 2025-2026

Правила экзамена

Допуск

Зачёт

Экзамены

  1. Будет два экзамена: по вёрстке (21 января) и по JavaScript (23 января)
  2. Билет на экзамене состоит из теории и практики
  3. Экзаменатор ставит два балла: за теорию и за практику
  4. Итоговый балл — среднее с округлением вверх
  5. Исключение: если студент получил два по теории или практике — экзамен не сдан

Автоматы

Несамостоятельные выполнения заданий экзамена влекут за собой удаление с экзамена.

Теоретические вопросы
  1. HTML. Элементы. Валидация
  2. Семантика в верстке.
  3. CSS-селекторы, CSS-правила. Способы подключения CSS на страницу.
  4. Селекторы идентификаторов и классов. Селекторы атрибутов. Комбинированные селекторы. Единицы измерения.
  5. Специфичность. Наследование в CSS.
  6. Псевдоклассы и псевдоэлементы.
  7. display: block. Расчет геометрии.
  8. display: block. Процентные значения. Схлапывание отступов.
  9. display: inline, inline-block и другие типы dispaly. Расчет геометрии.
  10. Способы ускорения верстки - bootstrap, tailwind, css3.
  11. Препроцессоры и постпроцессоры CSS.
  12. Виды позиционирования.
  13. Плавающая разметка. Свойство float. Очистка потока. Новый блочный контекст форматирования.
  14. Контекст наложения. Способы создания. Свойство z-index.
  15. Составные части браузера.
  16. Отрисовка страницы в браузере - DOM, CSSOM, Render Tree, layout, paint, composite, visual.
  17. Способы создания колоночной разметки. Плюсы/минусы.
  18. Спецификация Flexbox.
  19. Спецификация Grid.
  20. Свободный вопрос про дизайн - расскажите любую тему из лекций про дизайн.
  21. Анимация с помощью свойств transition и animation. Различия и преимущества.
  22. Свойство transform. Варианты преобразований, значения и способы их задания.
  23. Из макета в вёрстку - этапы работы.
  24. Особенности верстки под мобильные устройства. Разновидности макетов, задание стилей для разных размеров экранов.
Практические задания
Появятся на экзамене
Результаты
Теоретические вопросы
  1. Типы данных. Определение типа данных. Истинность и ложность.
  2. Типы данных. Примитивы и объекты. Передача по ссылке и по значению. Мутирующие и не мутирующие методы.
  3. Массивы. Создание массива. Манипуляции с элементами массива. Способы обхода массива.
  4. Symbol, глобальные символы, системные символы, преобразование объектов в примитивы.
  5. Структуры данных Set, Map, WeakSet, WeakMap. Методы работы с коллекциями, сборка мусора.
  6. Функции. Способы декларации и их отличия. Значения аргументов по умолчанию. Переменное количество аргументов. Именованные аргументы.
  7. Функции. Область видимости, всплытие и замыкания.
  8. Контекст исполнения. Значение this на разных участках кода.
  9. Контекст исполнения. Управление контекстом.
  10. Прототипы. Определение и предназначение. Методы для получения и установки прототипа для объекта. Прототипы по умолчанию. Ключевое слово super в контексте методов объекта.
  11. Свойства полей объекта. Способы создания полей объекта. Эффект затенения. Способы создания поля со свойствами. Свойства writable, configurable и enumerable. Способы перечисления собственных и несобственных полей. Setter/Getter. Глобальное запечатывание объекта.
  12. Конструирование объектов. Конструирование объектов с помощью функций-фабрик. Методы create и assign. Конструирование объектов с помощью функций-конструкторов.
  13. Классы. Разница между функциями-конструкторами и классами. Типы методов в классах. Наследование и ключевое слово super в контексте классов. Способы инспектирования связей между объектами, прототипами и классами.
  14. Асинхронность. Стек вызовов, очередь событий, EventLoop. Системные таймеры, особенности работы.
  15. Асинхронность. Стек вызовов, очередь событий, EventLoop. Синхронный и асинхронный подход к работе с файлами.
  16. Асинхронность. Способы организации асинхронного кода. Callback. Достоинства и недостатки.
  17. Асинхронность. Способы организации асинхронного кода. Promise, цепочки промисов. Достоинства и недостатки.
  18. Асинхронность. Способы организации асинхронного кода. async await. Достоинства и недостатки.
  19. Работа с DOM. Типы узлов в DOM; аттрибуты узлов для навигации по братьям, детям, родителям. Методы поиска узлов в DOM; работа с атрибутами и классами.
  20. Работа с DOM. Методы модификации DOM-дерева; добавление и удаление событий. Захват и всплытие события. Паттерны работы с событиями.
  21. Typescript. Дать определение. В чем разница между JavaScript и TypeScript. Основные типы TypeScript.
  22. Typescript. Что такое Enum и как его использовать. Типизация примитивных типов данных, массивов, кортежей, объектов, Set, Map
  23. Typescript. Interface & Type. Типы: any, unknown, never. Объединения. Пересечения.
  24. Typescript. Дженерики. Вспомогательные утилиты TS. Необязательные параметры. Параметры на чтение.
  25. Typescript. Приведение типов. Как получить типы, содержащие все ключи объекта и все значения ключей объекта. Типизация функций. Перегрузка функций.
Практические задания
Появятся на экзамене
Результаты