Парфенов и его зондеркоманда, я конечно рад за свой ВУЗ, который уже года три как окончил, но это хомяки надроченые только на решение подобных задач, товарищ справ на фото, уже и в 2008 году участвовал, но это не точно. Студентов ФИТиП прошу не кипеть, привет от ИКВО.
раскрыть ветку (27)
Станкевич, если не путаю, справа? Так он и в 2006 вроде как уже, когда я только поступала :)
Привет от ЕНФ.
Привет от ЕНФ.
раскрыть ветку (14)
Я когда в 2003 поступил тоже про него слышали и на фотках рассматривали. Привет от КТиУ кафедра ВТ
раскрыть ветку (13)
Станкевич(к.т.н) у них главный тренер. Он каждый год надрачивает бедных детей в тёмных кельях итмо. Но толку от такого программирования в производстве мало.
раскрыть ветку (12)
Ну вообще то смотря где. Если это бизнес приложение, где куча формочек и прочей лабуды - тогда конечно же никакого смысла в этом нет. Если мимимишное огрызочное приложеньице - опять же мимо.
Но вот если надо создать какой то очень быстрый и оптимальный алгоритм, именно алгоритм, а не программу, тогда нужны именно такие навыки.
На трех работах у меня таких навыков даже близко не требовалось, но вот сейчас при программировании под CUDA они как раз очень полезны.
Ну а если глянуть пошире, от спорта тоже нигде нет абсолютно никакой пользы, с точки зрения общества нужно активное занятие физкультурой. Но ведь тратят годы жизни на бесполезные рекорды!
Но вот если надо создать какой то очень быстрый и оптимальный алгоритм, именно алгоритм, а не программу, тогда нужны именно такие навыки.
На трех работах у меня таких навыков даже близко не требовалось, но вот сейчас при программировании под CUDA они как раз очень полезны.
Ну а если глянуть пошире, от спорта тоже нигде нет абсолютно никакой пользы, с точки зрения общества нужно активное занятие физкультурой. Но ведь тратят годы жизни на бесполезные рекорды!
раскрыть ветку (11)
Когда создаешь быстрый и эффективный алгоритм, процесс мало похож на олимпиадное программирование - ты обкладываешься кучей литературы, начиная от Кнута, теории алгоритмов и теории оптимизации, кончая учебниками по специфике конкретного языка, и несколько дней (если не недель) прилизываешь алгоритм. Хорошее знание математики здесь нужно, но к олимпиадному программированию это никак не относится.
раскрыть ветку (6)
А вы много таких вещей писали? Дело в том, что определенное знание литературы конечно важно, но практические навыки многократно важнее. По крайней мере сейчас в программировании под CUDA (про что я могу вполне компетентно говорить) реально творческого подхода вполне хватает.
Большинство олимпиадных задач сделано так, что хоть какое то решение написать конечно не слишком сложно, но вот решение, которое укладывается в тесты по времени - это намного сложнее. Тут и знание литературы, в т.ч. практические навыки применения алгоритмов, и понимание когда чего нужно применить. Знать специфику конкретного языка опять же довольно полезно.
Ну и наконец время: у олимпиадных программистов в числе прочего тренируется способность очень быстро и без ошибок реализовывать свои мысли. Человек без таких навыков потратит на сложную задачу в разы больше времени. Согласитесь, приятнее, если человек решит задачу за неделю, а не за месяц!
Большинство олимпиадных задач сделано так, что хоть какое то решение написать конечно не слишком сложно, но вот решение, которое укладывается в тесты по времени - это намного сложнее. Тут и знание литературы, в т.ч. практические навыки применения алгоритмов, и понимание когда чего нужно применить. Знать специфику конкретного языка опять же довольно полезно.
Ну и наконец время: у олимпиадных программистов в числе прочего тренируется способность очень быстро и без ошибок реализовывать свои мысли. Человек без таких навыков потратит на сложную задачу в разы больше времени. Согласитесь, приятнее, если человек решит задачу за неделю, а не за месяц!
раскрыть ветку (5)
Я уже пару лет занимаюсь Data Mining, сложных и ресурсотребовательных задач хватает, в том числе и под Cuda пишу. Практические навыки приобретаются в ходе работы над настоящими проектами. У олимпиадников есть навык быстрого написания решения, но вот безошибочным оно редко бывает - баголовля и оптимизация алгоритма - это около 90% времени разработки алгоритма. И я не думаю, что олимпиадный программист родит хорошее решение быстрее, чем математик, знания которого бесспорно обширнее, вследствие чего он может применить гораздо более нестандартные методы. Также не думаю, что олимпиадник найдет решение быстрее, чем физик-интуит (сам таковым являюсь), который в силу опыта работы с многими моделями, способен делать довольно смелые предположения. У олимпиадников есть одна плохая деформация - они мыслят шаблонами, часто не замечая всей фундаментальности задачи.
раскрыть ветку (1)
Давайте уточним, что бы не было недопонимания:
Мы ведь рассматриваем выпускников ВУЗа, которые только получили диплом и устраиваются на первую работу? Т.е. мы подразумеваем, что это студент, который или занимался олимпиадами, или в некоторой степени подрабатывал во время обучения. По-моему, рассматривать людей, у которых после ВУЗа уже есть 3-5 лет стажа в разработке не совсем корректно.
Мы ведь рассматриваем выпускников ВУЗа, которые только получили диплом и устраиваются на первую работу? Т.е. мы подразумеваем, что это студент, который или занимался олимпиадами, или в некоторой степени подрабатывал во время обучения. По-моему, рассматривать людей, у которых после ВУЗа уже есть 3-5 лет стажа в разработке не совсем корректно.
>> у олимпиадных программистов в числе прочего тренируется способность очень быстро и без ошибок реализовывать свои мысли.
Очень быстро возможно, но вот про "без ошибок" не соглашусь. Обычно олимпиадные решения это "шаг влево, шаг вправо - и вселенная рушится вам на головы".
Очень быстро возможно, но вот про "без ошибок" не соглашусь. Обычно олимпиадные решения это "шаг влево, шаг вправо - и вселенная рушится вам на головы".
раскрыть ветку (2)
За время учебы в универе я видел как пишут код олимпиадники, я сам немножко выступал (в школе нормально по физике и математике, но в универе уже забил на это дело). Дело в другом: в моем ВУЗе те, кто не тренировались на олимпиадных задачах, не тренировались вообще никак!
Конечно же, в олимпиадной задаче своя специфика: есть четко поставленная задача, известно, что она не изменится, её никто не будет поддерживать и т.д. В этих условиях писать говнокод - это то что доктор прописал.
Я не утверждаю, что олимпиадник - это готовый мидл или сеньор. Но как материал для старта - это несравнимо лучше, чем вообще ничего.
Конечно же, в олимпиадной задаче своя специфика: есть четко поставленная задача, известно, что она не изменится, её никто не будет поддерживать и т.д. В этих условиях писать говнокод - это то что доктор прописал.
Я не утверждаю, что олимпиадник - это готовый мидл или сеньор. Но как материал для старта - это несравнимо лучше, чем вообще ничего.
раскрыть ветку (1)
Соглашусь. В больших международных компаниях на интервью народ гоняют по задачам похожим на олимпиадные.. только чуть проще. Цель - понять на сколько человек может решать задачи, решение которых, он заведомо не знает, применяя основные паттерны, алгоритмы и структуры данных. В итоге мне самому пришлось надрачивать олимпиадные задачи после 5 лет промышленной разработки.
Но я уверен что у студентов, которых гоняют по мелким олимпиадным задачам, частично отсутствует понимание System Design и архитектуры. А криво спроектированная архитектура системы гораздо хуже парочки неоптимальных алгоритмов)
Но я уверен что у студентов, которых гоняют по мелким олимпиадным задачам, частично отсутствует понимание System Design и архитектуры. А криво спроектированная архитектура системы гораздо хуже парочки неоптимальных алгоритмов)
раскрыть ветку (1)
Я бы выделил несколько видов задач:
1) Задачи на знание технологии: мне пришлось один раз писать тестовое задание на WPF С#. Задание примитивное, но суть была в том, что мне надо либо показать, что имеешь представление о технологии, либо что можешь очень быстро самостоятельно освоить базовый уровень.
2) Олимпиадные задачи: там суть в другом, не важен язык программирования, важно насколько грамотно ты можешь реализовать алгоритм. Это тест на "ПыХыПышников", там очень часто встречается, что человек многое знает, верстать умеет, но как взглянешь на код - и ужасаешься, как можно писать настолько невероятно не эффективно.
3) Задачи на дизайн систем: ставится довольно размытая задача и нужно для неё слепить общую архитектуру и потом объяснить, почему и зачем сделано так. Эти задачи явно не для выпускников ВУЗа, а как минимум для мидлов-сеньоров.
В целом же, задания должны быть разными, в зависимости от того, кого нужно найти.
1) Задачи на знание технологии: мне пришлось один раз писать тестовое задание на WPF С#. Задание примитивное, но суть была в том, что мне надо либо показать, что имеешь представление о технологии, либо что можешь очень быстро самостоятельно освоить базовый уровень.
2) Олимпиадные задачи: там суть в другом, не важен язык программирования, важно насколько грамотно ты можешь реализовать алгоритм. Это тест на "ПыХыПышников", там очень часто встречается, что человек многое знает, верстать умеет, но как взглянешь на код - и ужасаешься, как можно писать настолько невероятно не эффективно.
3) Задачи на дизайн систем: ставится довольно размытая задача и нужно для неё слепить общую архитектуру и потом объяснить, почему и зачем сделано так. Эти задачи явно не для выпускников ВУЗа, а как минимум для мидлов-сеньоров.
В целом же, задания должны быть разными, в зависимости от того, кого нужно найти.
>но это хомяки надроченые только на решение подобных задач
ИМХО, это камень в сторону авторов задач, что на решение их задач можно натаскать ребят.
ИМХО, это камень в сторону авторов задач, что на решение их задач можно натаскать ребят.
раскрыть ветку (11)
Нет, это камень в сторону всего "спортивного программирования" - такие навыки мало применимы в реальном производстве.
раскрыть ветку (10)
А что из спорта применимо в реальной жизни?
Разве что различные виды бега - бегать от гопников. :D
Разве что различные виды бега - бегать от гопников. :D
раскрыть ветку (3)
еще можно уплывать от гопников, метать в гопников копье/молот/диск, прыгать от гопников в высоту и тд
раскрыть ветку (1)
Диванные домыслы. А что тогда применимо в "реальном производстве", если не умение эффективно применять знания? Знакомый чувак, который регулярно с командой в полуфинал ACM (по России) выходил, и даже в топ-10 попадал, теперь в гугле работает. И говорит, что туда было сложное собеседование, большая часть которого состояла из решения алгоритмических задач - как раз таких, как на ACM - в режиме онлайн, когда ты вслух рассуждаешь, и код пишешь, а собеседущий оценивает на что ты способен.
раскрыть ветку (4)
Ну, и много вокруг таких компаний и рабочих мест в них, которые решают задачи сопоставимые с задачами гугла, у которого и правда алгоритмизация и производительность во все поля? Сами-то как считаете - то, что вы привели пример именно гугла это аргумент в чью пользу?
раскрыть ветку (3)
Это определенно аргумент в мою пользу. Потому что опровергает утверждение о том, что олимпиадники хреновые программисты. Конечно, если вы не считаете гугл отсталой компанией.
раскрыть ветку (2)
Вы опровергаете какое-то другое утверждение, я такого точно не делал. Перечитайте что ли глазами о чем я говорю.
раскрыть ветку (1)
Делали, пусть и не в этой ветке. Хотя, прочитав ту нижнюю ветку, в целом склонен с вами согласиться. Если олимпиадник не бросит привычку скорострельно ваять код пригодный только для решения одного единственного частного случая, он принесет мало пользы.
все верно. в подтверждение тому статистика. победители подобных соревнований в реальной работе мение успешны чем другие программисты.