Уточняющие вопросы,
тестовые примеры
и инварианты
Проверяем корректность решения: сначала договариваемся об условии, затем подбираем тесты и объясняем каждый шаг алгоритма.
Начать лекцию →Порядок работы над задачей
- Уточнить
условие - Составить
тесты - Проверить
особые входы - Объяснить
инвариант - Выбрать решение
под ограничения
Страницы темы
Сначала лекция, потом практикумЛекция: вопросы, тесты, инварианты
Семь частей: что значит «решение верное», контракт с предусловием и постусловием, уточняющие вопросы, тестовые примеры и классы входов, пять мест, где ломаются решения, инвариант цикла и ручной прогон. В каждой части определения, разбор примера и задание с разбором.
Читать лекцию ↗Практикум: выбор решения под ограничения
Две задачи, к каждой десять рабочих решений. Задать вопросы, разобрать варианты по времени и памяти и выбрать подходящее под пять наборов ограничений. Работа в парах с обменом задачами.
Открыть практикум ↗Банк кейсов с собеседований
12 коротких задач: вопросы к условию, код кандидата с одной ошибкой, тесты с настоящими ответами и разбор.
Открыть кейсы ↗Тренажёр рассуждений
Какой вопрос меняет решение, одна задача при разных ограничениях, поиск контрпримера и стресс-тест.
Открыть тренажёр ↗Материалы темы
Примеры лекции запускаются по одному и печатают то, что показано на странице. Архив практикума содержит две задачи по десять решений, проверку, скрипт замера и бланк; PDF печатается на пару.