Собеседование с «тенью»
История о кандидате, который доверил SQL нейросети и не заметил, что ответ перестал соответствовать показанному DDL.
КейсSQLНейросетиИнженерные практикиПонедельник в банке начался не с кофе, а с просьбы руководителя управления поддержки: «Макс, подключись, пожалуйста, на техническое интервью во вторую линию поддержки. Толя в отпуске, а ты видишь людей насквозь, как EXPLAIN ANALYZE видит страдания планировщика». Макс нехотя согласился.
Кандидат, назовем его Илья, выглядел бодро. После общих разговоров подошло время для задач. Макс расшарил экран и вывел DDL таблицы:
CREATE TABLE courses ( dt DATE, cur VARCHAR(3), val NUMERIC);— Смотри, задача простая и жизненная, — Макс отхлебнул кофе. — Есть таблица курсов: дата, код валюты и значение курса. Данные вносятся только в дни изменений. В выходные — тишина. Нам нужно вытащить курс нужной валюты на произвольную дату. Если на этот день записи нет — берём последнее известное значение. Классика.
Пока Макс говорил, Илья смотрел прямо на экран, где красовались лаконичные dt, cur и val.
Кандидат помолчал несколько секунд, а потом уверенным голосом начал говорить:
— Запрос будет выглядеть так: SELECT course_value FROM currency_rates WHERE currency_code = 'USD' AND exchange_date <= ...
Макс чуть не поперхнулся остывшим кофе. В исходном DDL не было ни course_value, ни currency_rates, ни тем более exchange_date.
— Илья, погоди, — перебил Макс, пряча ухмылку. — А откуда взялись эти названия полей? Я что-то пропустил? Или у тебя другая версия таблицы?
— Ну… это… — Илья замялся. — Это я для наглядности! Главное же логика, верно?
— Логика верная, — кивнул Макс. — Вот только твоя «логика» подозрительно похожа на типичный ответ нейросети. Она услышала мой голос, перевела его в типичный SQL из учебника, но совершенно проигнорировала DDL, который я тебе показал.
Илья заметно покраснел.
— Понимаешь, в чём проблема, — продолжил Макс, закрывая вкладку с задачей. — Нейросеть — это рычаг, а не мозг. Очень мощный рычаг, если им пользоваться. И очень опасный, если просто на него опереться. Она отличный ассистент, который знает синтаксис, но не знает контекста твоей базы. Но на проде такая «автоматизация» может принести немало проблем, если перепутает названия колонок.
Когда кандидат отключился, Макс задумался: “А ведь если бы он догадался просто сделать скриншот моей демонстрации и скормить его GPT, распознать подмену было бы почти невозможно. Похоже, пора придумывать задачи, где важен не только SQL, но и инженерное чутьё”.