• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

"нарисуйте дом"

  • Автор темы klizardin
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

klizardin

Это достаточно известная задача при тестировании кандидата на работу программиста. Но все же, слишком часто приходиться повторять "В НАЧАЛЕ ЧТО а потом КАК". Очень часто убеждаемые "не верят" этому принципу и мыслят в духе: ну это же не всегда, вот можно поступить так и так, или но ведь всегда же разрабатывали так и все было хорошо. И оказывается очень полезным проиллюстрировать это убеждение -- дать возможность некоторому программисту заняться разработкой в миниатюре и почувствовать некоторые "абстрактные принципы".

И так в начале берем чистый лист бумаги (один), шариковую(!) ручку (обязательно, ну во всяком случае не карандаш (поймете дальше почему)) и говорим: "Твое задание нарисовать дом. Нарисуй дом."

Очень хорошие вариант, когда испытуемый начинает спрашивать о том, какой дом нужно нарисовать. Но чаще, скорее всего, сразу же он рисует некоторый дом. В зависимости от художественных способностей он может выглядеть по разному. Пусть он выглядит так.
84231209.jpg


Тогда переворачиваем лист бумаги на 90 градусов и спрашиваем: "Разве это дом?"
84231231.jpg


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

Далее, вы соглашаетесь, что можно было бы принять и такой дом, хотя вы все же хотели чтобы дом был и другой. Но и это нарисованный дом не отвечает вашим требованиям. Вы хотели экологический дом -- дом который бы стоял прямо на земле, т.е. дом, у которого не было бы нижней линии. И просите стереть линию "пол". Вот так:
84231394.jpg


Ну и пока программист пытается стереть то, что было нарисовано шариковой ручкой тем же обычным ластиком, вы можете напомнить о важности этапа проектирования ДО начала кодирования. Так как затраты на изменение того, что уже реализовано намного больше возможных затрат на детальное выяснение требований на этапе разработки.
 
V

vt-iod

В предлагаемом сценарии тестирования кандидата есть некоторые неувязки (ну или автор недостаточно ясно объяснил свою позицию).
Не говорится, что конкретно ожидает эйчар от кандидата. Видно только, что его ничего в данном решении не устроило.
Что хотел сказать эйчар, когда перевернул листок с домом?
Почему у дома не должно быть фундамента (стерли нижнюю линию)?

Господин автор, вы хотели сказать, что главное - это в начале выяснить требования заказчика, какой же дом он хочет получить? (чтобы боковая стена была полом, или чтобы пола не было вовсе)
Так как после создания продукта изменить его уже крайне сложно (шариковая ручка как метафора)?

Или что?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!