Всегда многие говорили, что на дом не надо ничего давать, никаких заданий и кодинга. Тут двояко: кто-то нервничает на собеседовании и ему предпочтительнее дома выполнить небольшое задание, без спешки и нервов, а потом ещё выложить его к себе на Гитхаб, чтобы показывать другим при случае. Но теперь эта практика окончательно потеряла смысл, потому что можно текст ТЗ скормить нейросети и получить хорошее готовое решение.
Своё ТЗ светить не буду, но оно было, как мне кажется, совсем не засвечено на всяких Литкодах и у других компаний.
Так вот, загрузил я pdf с заданием в ChatGPT o1, получил текст программы, который проходит все тесты, даже хитрые. И код красивый, не все кандидаты такое напишут.
Короче, эпоха домашних заданий ушла.
Здравствуйте, Nuzhny, Вы писали:
N>Своё ТЗ светить не буду, но оно было, как мне кажется, совсем не засвечено на всяких Литкодах и у других компаний. N>Так вот, загрузил я pdf с заданием в ChatGPT o1, получил текст программы, который проходит все тесты, даже хитрые. И код красивый, не все кандидаты такое напишут. N>Короче, эпоха домашних заданий ушла.
Вы мыслите шире.
Сейчас ChatGPT будет подручным инструментом, таким же как поисковик. Исключение разве что особые отрасли — может оборонка или что-то еще, где даже интернет рядовым разработчикам не доступен.
Так вот — теперь знания ЯП не так уж важны — не очень хорошо знаешь особенности C++ — тебе GPT очень быстро и точно все объяснит — знать язык не нужно. Вопросы по тонкостям языка, вирт. деструкторы, перемещение, свой умный указатель, типы контейнеров и их методы — все, уже в прошлом — глупо это спрашивать, поезд ушел.
Сейчас изменится сам подход и к оценке и к разработке.
При этом GPT развивается очень быстро — достаточно сравнить то что было 1-2 года назад и то что имеем сегодня — небо и земля. А что будет еще через 3-5 лет?
И ведь это касается не только разработки ПО — многие профессии изментся.
Хочется верить что есть некий элемент, который доступен только человеку — но который мы еще не до конца осознали. Как-то способность охватить весь проект целиком, увидеть полную картину. Но пока не знаем так ли это.
Так же пока в безопасности люди ручного труда — сантехники, электрики, установщики кондиционеров — можно пока не поздно переучиться на них.
Здравствуйте, Nuzhny, Вы писали:
N>Всегда многие говорили, что на дом не надо ничего давать, никаких заданий и кодинга. Тут двояко: кто-то нервничает на собеседовании и ему предпочтительнее дома выполнить небольшое задание, без спешки и нервов, а потом ещё выложить его к себе на Гитхаб, чтобы показывать другим при случае. Но теперь эта практика окончательно потеряла смысл, потому что можно текст ТЗ скормить нейросети и получить хорошее готовое решение. N>Своё ТЗ светить не буду, но оно было, как мне кажется, совсем не засвечено на всяких Литкодах и у других компаний. N>Так вот, загрузил я pdf с заданием в ChatGPT o1, получил текст программы, который проходит все тесты, даже хитрые. И код красивый, не все кандидаты такое напишут. N>Короче, эпоха домашних заданий ушла.
Если не секрет, это просто некий алгоритм а-ля литкод или связанное с CV задание? Можно пhо решение поговорить, и если человек делал
не сам, то это будет видно. Наверное.
Здравствуйте, Sharov, Вы писали:
S>Это просто некий алгоритм а-ля литкод или связанное с CV задание? Можно по решение поговорить, и если человек делал S>не сам, то это будет видно. Наверное.
Можно подключить к диалогу GPT, чтобы он отвечал на вопросы и писал в чат. Т.е. аудио преобразовывать в текст (есть API), потом быстро отправлять GPT и потом манерно тянуть время перед ответом, что-то экстравагантное говорить, потом уже зачитывать то что GPT пишет.
Да и смысл проверять те навыки, которые может восполнить GPT? Нужно проверять то, в чем GPT помочь не сможет.
Здравствуйте, Shmj, Вы писали:
S>Так же пока в безопасности люди ручного труда — сантехники, электрики, установщики кондиционеров — можно пока не поздно переучиться на них.
Здравствуйте, пффф, Вы писали:
S>>Так же пока в безопасности люди ручного труда — сантехники, электрики, установщики кондиционеров — можно пока не поздно переучиться на них. П>Переучивайся
Тут главное чтобы не получилось что пока переучишься, выйдешь из подмастерья — не начали делать универсальных роботов.
Здравствуйте, Shmj, Вы писали:
S>>>Так же пока в безопасности люди ручного труда — сантехники, электрики, установщики кондиционеров — можно пока не поздно переучиться на них. П>>Переучивайся
S>Тут главное чтобы не получилось что пока переучишься, выйдешь из подмастерья — не начали делать универсальных роботов.
Здравствуйте, Sharov, Вы писали:
S>Если не секрет, это просто некий алгоритм а-ля литкод или связанное с CV задание? Можно пhо решение поговорить, и если человек делал S>не сам, то это будет видно. Наверное.
Алгоритм. Распарсить текстовый файл, правильно построить по нему граф и обойти его — вывести строки в правильном порядке. Там есть незаметные глазу нюансы в виде циклических ссылок, догадаться, что нельзя использовать рекурсию, вывести информативно сообщение о возможных ошибках во входных данных. 100-200 строк кода, не больше.
Здравствуйте, Nuzhny, Вы писали:
N>Всегда многие говорили, что на дом не надо ничего давать, никаких заданий и кодинга. Тут двояко: кто-то нервничает на собеседовании и ему предпочтительнее дома выполнить небольшое задание, без спешки и нервов, а потом ещё выложить его к себе на Гитхаб, чтобы показывать другим при случае. Но теперь эта практика окончательно потеряла смысл, потому что можно текст ТЗ скормить нейросети и получить хорошее готовое решение. N>Своё ТЗ светить не буду, но оно было, как мне кажется, совсем не засвечено на всяких Литкодах и у других компаний. N>Так вот, загрузил я pdf с заданием в ChatGPT o1, получил текст программы, который проходит все тесты, даже хитрые. И код красивый, не все кандидаты такое напишут. N>Короче, эпоха домашних заданий ушла.
Рекомендую добавить в тестовое задание IIS с каким-нибудь плагином вроде url_rewrite. Дать кучу документации, zip-архив с ней, на 50 мегабайт, где в одном из документов будет упомянуто, что этот плагин нужно поставить. Дать код, который начали писать 10 лет назад, а лучше 30, дать неактуальный бэкап девелоперской базы, и к ней набор миграций, который не работает без особых условий, которые вообще ни в какой документации не описаны. Добавить туда фронтенд в двух экземплярах, один состоит из компонентов (требует nodejs 12), базового проекта (требует angular js 2015 года) и расширенного проекта (требует nodejs 16 и ангуляр чуть поновее), а второй — это же всё самое, но в одной папке. А ещё для работы всего этого должен быть расшарен сетевой ресурс (windows file share), причём с правами доступа "everyone", и поднят FTP. Также для сборки проекта требуется размещение по строго определённым путям, а для скачивания пакетов nuget — подключение к VPN, причём с заранее известного IP и всякий раз при подключении у вас будет отваливаться доступ на машину снаружи, то есть фокус "поднять виртуалку и подцепиться к ней по RDP" у вас не прокатит, RDP-соединение будет отключено при работающем VPN.
И удачи ChatGPT o1 со всем с этим справиться.
Вот это будет реалистичное тестовое задание, соответствующее реальным проектам. Правда в такое говно никто работать не пойдёт, если будет заранее знать.
Я описываю реально существующий флагманский продукт компании, которая к слову недавно получила контракт на 1.73 миллиарда долларов.
Здравствуйте, Nuzhny, Вы писали:
N>Короче, эпоха домашних заданий ушла.
Нам на экзамене по матану разрешали пользоваться любыми учебниками и пособиями. Если ты учился и делал, то ты найдёшь и подготовишся за время экзамена. Если нет — тебе не хватит времени. Если ты что-то решал раньше, то ты знаешь куда подсмотреть. Нет — не сможешь решить задачки: не успеешь. А если каким-то чудом и решишь, то не сможешь объяснить своё решение.
Тоже самое должно быть применимо к тестовым заданиям: если ты не умеешь, делал не ты, то ты не сможешь объяснить решение. Потом, на собеседовании многие просят модифицировать код, чтобы он решал что-то ещё. Делал не ты, не умеешь, не знаешь — не сможешь. Умеешь, но делал не ты — твой новый код будет разительно отличаться от того, что ты туда принёс.
Ну а если ты сделал задание путём скармливания его боту, а потом смог объяснить решение, и прямо на собеседовании смог его модифицировать, то ты — профессионал.
ЗЫ: я однажды скармливал рабочие задачи чату-гпт, просто в порядке эксперимента. Это были тесты. Приемлимого решения я добивался примерно с пятого уточнения (просил модифицировать код, чтоб ещё и вот "это"). Одна из самых неприятных вещей, которую я видел в процессе модификаци — утеря тест-кейсов. Иногда их было проще дописать вручную, чем рассказать боту что потерялось и как это нужно написать. В конечном счёте, я не могу сказать, что получалось на порядо быстрее чем руками — ну может быть чуть-чуть быстрее. Ну а ещё не так сильно уставали пальцы: тесты — довольно таки "буквоёмкая" хрень. И я так и не решился дать боту на написание бизнес-задачу: меня в конечном счёте останавливала мысль о том, сколько придётся объяснять боту ньюансы задачи и требования к решению.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Shmj, Вы писали:
S>Сейчас ChatGPT будет подручным инструментом, таким же как поисковик. Исключение разве что особые отрасли — может оборонка или что-то еще, где даже интернет рядовым разработчикам не доступен.
Я уже научился поднимать локальный сервер с LLM, коннектиться к нему плагином из VS Code (плагин Continue) и использовать почти как Copilot. Так что интернет не проблема, открытые LLM тоже развиваются.
S>Так вот — теперь знания ЯП не так уж важны — не очень хорошо знаешь особенности C++ — тебе GPT очень быстро и точно все объяснит — знать язык не нужно. Вопросы по тонкостям языка, вирт. деструкторы, перемещение, свой умный указатель, типы контейнеров и их методы — все, уже в прошлом — глупо это спрашивать, поезд ушел.
Вот тут я пока не могу согласиться. Есть негласное правило, что специалист должен знать предметную область/инструмент на один уровень глубже, чем он требуется в повседневной деятельности. Зачем? Чтобы смочь решить возможные проблемы. Используешь библиотеку? Надо знать её внутренности? С/С++ программисту желательно при необходимоости уметь прочитать дизассемблер. Математику с Матлабом/Вольфрамом надо всё тааки прекраснно знать математику и то, как внутри устроена каждая вызываемая им функция. Ну и т.д.
S>Сейчас изменится сам подход и к оценке и к разработке.
Во-первых в общем-то и раньше ничего не мешало попросить компетентного товарища решить за тебя задание.
Во-вторых если LLM выдает повторяемые результаты, то можно определить сам факт её использования.
Здравствуйте, Nuzhny, Вы писали:
N>Алгоритм. Распарсить текстовый файл, правильно построить по нему граф и обойти его — вывести строки в правильном порядке. Там есть незаметные глазу нюансы в виде циклических ссылок, догадаться, что нельзя использовать рекурсию, вывести информативно сообщение о возможных ошибках во входных данных. 100-200 строк кода, не больше.
О, какое классическое олимпиадное дзынь-чпок-труляля. Анальные клоуны Пук и Как показывают алгоритмические фокусы. Алле-оп!
Скажите, а зачем оно такое нужно-то? Впрочем нет, не говорите. Оно нужно, потому что вас на таком учили. И учили тех, кто учил вас. Как известно, кафедры философии в ВУЗах готовят новых преподавателей философии для ВУЗов, а вот математики в былые годы, когда ипотеку ещё не изобрели, от безделья выдумывали всякую забавную фигню, а затем, усилиями образовательной системы, фигня из забавной стала обязательной.
Здравствуйте, Философ, Вы писали:
Ф>Тоже самое должно быть применимо к тестовым заданиям: если ты не умеешь, делал не ты, то ты не сможешь объяснить решение. Потом, на собеседовании многие просят модифицировать код, чтобы он решал что-то ещё. Делал не ты, не умеешь, не знаешь — не сможешь. Умеешь, но делал не ты — твой новый код будет разительно отличаться от того, что ты туда принёс.
Видимо так, но тут уже вопрос в том, что нет смысла давать на дом такое, лучше лайв кодингом.
Ф>ЗЫ: я однажды скармливал рабочие задачи чату-гпт, просто в порядке эксперимента
Вот тут дело именно в последней версии Чата. Я тоже раньше скармливал и он не справлялся.
Здравствуйте, Nuzhny, Вы писали:
N>Видимо так, но тут уже вопрос в том, что нет смысла давать на дом такое, лучше лайв кодингом.
Не согласен: умение модифицировать код, чтобы он начинал выполнять новые требования — один из самых важных навыков программиста. Важнее только способность писать код, который можно будет модифицировать, а не переписывать с ноля. Для лайв-кодинга это слишком: на код, который потом надо модифицировать, нужно много времени.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Слава, Вы писали:
N>>Алгоритм. Распарсить текстовый файл, правильно построить по нему граф и обойти его — вывести строки в правильном порядке. Там есть незаметные глазу нюансы в виде циклических ссылок, догадаться, что нельзя использовать рекурсию, вывести информативно сообщение о возможных ошибках во входных данных. 100-200 строк кода, не больше.
С>О, какое классическое олимпиадное дзынь-чпок-труляля. Анальные клоуны Пук и Как показывают алгоритмические фокусы. Алле-оп!
С>Скажите, а зачем оно такое нужно-то? Впрочем нет, не говорите. Оно нужно, потому что вас на таком учили. И учили тех, кто учил вас. Как известно, кафедры философии в ВУЗах готовят новых преподавателей философии для ВУЗов, а вот математики в былые годы, когда ипотеку ещё не изобрели, от безделья выдумывали всякую забавную фигню, а затем, усилиями образовательной системы, фигня из забавной стала обязательной.
А в реальном продукте такого быть не может, потому что... а почему, собственно?
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте, m2user, Вы писали:
M>Во-первых в общем-то и раньше ничего не мешало попросить компетентного товарища решить за тебя задание.
Да, есть такое. Но товарища надо ещё найти и уговорить.
M>Во-вторых если LLM выдает повторяемые результаты, то можно определить сам факт её использования.
Есть такое понятие, как температура, позволяющая выдавать неповторяемые результаты.
Здравствуйте, Философ, Вы писали:
Ф>Нам на экзамене по матану разрешали пользоваться любыми учебниками и пособиями. Если ты учился и делал, то ты найдёшь и подготовишся за время экзамена. Если нет — тебе не хватит времени. Если ты что-то решал раньше, то ты знаешь куда подсмотреть. Нет — не сможешь решить задачки: не успеешь. А если каким-то чудом и решишь, то не сможешь объяснить своё решение.
+1
У нас на экзамене по курсу СВЧ разрешали пользоваться любыми книгами, конспектами — чем угодно, но надо объяснить свой ответ.
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте, Stanislav V. Zudin, Вы писали:
С>>О, какое классическое олимпиадное дзынь-чпок-труляля. Анальные клоуны Пук и Как показывают алгоритмические фокусы. Алле-оп!
С>>Скажите, а зачем оно такое нужно-то? Впрочем нет, не говорите. Оно нужно, потому что вас на таком учили. И учили тех, кто учил вас. Как известно, кафедры философии в ВУЗах готовят новых преподавателей философии для ВУЗов, а вот математики в былые годы, когда ипотеку ещё не изобрели, от безделья выдумывали всякую забавную фигню, а затем, усилиями образовательной системы, фигня из забавной стала обязательной.
SVZ>А в реальном продукте такого быть не может, потому что... а почему, собственно?
А в реальном продукте так:
а) можно будет модифицировать условия и резко упростить задачу, при сохранении бизнес-ценности продукта (закон Парето поди знаете). Ну это если стороны способны друг с другом разговаривать. Если не способны — тады ой.
б) можно будет постепенно сделать это же самое, но не силами немытых* сверхгениев с мехмата, матмеха и физтеха, и не за 5 часов, а за неделю. Потом ещё деплой, знаете ли, тестирование на живых юзерах и прочая.
*сейчас, в возрасте 45+ лет, они конечно уже начали мыться