Совсем скоро будет проводиться соревнование по спортивному программированию среди студентов – "Karazin University Program Cup", где можно прокачать свои скилы. Это очень частая практика среди ВУЗов, и похожие контесты проводились и в нашем университете, в ХНУРЭ. Мы решили взять интервью у одного из участников соревнований, чтобы он поделился с вами своим опытом.
Сегодня наш собеседник Марк Харланов, студент 3 курса факультета компьютерных наук.
Можешь рассказать о своем опыте в контестах?
- Я брал участие в турнире NURE Code Jam. Это было в 2018 году, когда был на первом курсе. Впечатлений от учебы было столько, что хотелось участвовать во всем. Соревнуясь с моим другом в спортивном программировании, мы решили пойти на турнир, но не в качестве соперников, а в одной команде.
От турнира мне удалось получить массу эмоций, и это, наверное, главное, зачем на них стоит идти. Веселое время провождение, дух соревнований, хорошее настроение и азарт. Это хорошо запоминается.
Насколько глубокие знания в математике и алгоритмизации нужны на этих контестах и хватало ли тебе приобретенных до этого знаний?
- Да, для высоких результатов нужны знания во многих областях. Так как постоянно занимался подобным в школе, это не было для меня непосильной задачей. Тут скорее сыграли не столько знания в математике, алгоритмизации или еще в чем либо, а больше личный опыт. Тренировался до этого на некоторых специализированных сайтах.
Кстати, потренироваться можно на сайтах по типу codeforces.com, topcoder.com, app.codesignal.com, где предоставлены множества интересных задач с разных онлайн и офлайн контестов, включая задания от известных компаний, например Oracle или Google.
А как думаешь, сложно ли человеку без опыта участвовать в соревнованиях?
- Полагаю, что да. Мои знакомые, которые пошли туда, опять же, просто за эмоциями, не имея багажа, как у меня, успели решить меньше задач, при условии, что их было трое. Так что без опыта будет сложновато, но это не означает, что не нужно пробовать. Определенно сходить и испытать свои силы стоит всем, это как минимум очень весело и интересно.
В основном на подобных соревнованиях используют С++ и Java, так ли?
- Именно в нашем случае система принимала ответы на почти всех актуальных ЯП. Можно было писать на чем угодно. В тот момент у нас на вооружении был C# и JS, и с этим была связана одна из проблем. Работая с некоторыми ЯП, система некорректно обрабатывала вывод данных, из-за чего у нас не получилось закончить одну из задач. Поэтому, лучше всего вооружиться знаниями нескольких языков.
А как насчет hardskills, возможно ли приобрести там какие-то новые знания, которые могут пригодиться в будущем?
- Если заниматься этим регулярно, безусловно. На контестах тренируешься принимать относительно сложные решения в проектировании алгоритмов за отведенное небольшое время. Это достаточно ценится на современном рынке труда.
Благодаря приобретенным там знаниям и опыту, стало немного легче придумывать и разрабатывать сложные алгоритмы. К тому же получаешь огромное количество знаний с разных сфер жизни, что в принципе тоже очень полезно для общего образования.
Ты говорил, что участвовал с другом в команде. Вы как-то тренировались работать в команде до контеста?
- Если говорить о какой-нибудь глубокой подготовке – нет, мы не шли туда за победой. Однако, у нас было небольшое преимущество, так как я работал в школе с той же системой, которая была на турнире. До контеста мы изучили работу с файлами на разных ЯП и тренировались работать с системой (это чит, ни у кого к ней доступа не было, но у меня в школе был очень хороший преподаватель).
А чувствовалась ли нехватка времени по мере решения задач? И как вы справлялись с данной проблемой?
- Чем больше проходило времени, тем больше мы понимали, что нам его не хватает. Время там – очень ценный ресурс и нужно уметь правильно им распоряжаться. Когда у нас что-то не получалось, мы сразу переходили к другой задаче, стараясь параллельно обдумывать решение предыдущей. Опять же, чем больше человек в команде, тем условно больше у вас времени.
А как насчет креативности? Развивает ли данный тип соревнований ее?
- Полагаю, развивает в том смысле, что, когда ты видишь перед собой задачу, где нужно написать сложный алгоритм, в голове уже строятся возможные решения. Но для этого нужно заниматься подобным постоянно.
Рекомендуешь ли ты студентам участвовать в таких соревнованиях, и реально стоит ли оно того?
- Без сомнений – да. К подобным турнирам стоит относиться как к развлечению, где можно хорошо провести время с друзьями, получить, возможно, какой-то опыт, проверить свои знания и в результате, может даже, получить какие-то призы. В нашем случае каждый участник получил 4 блокнота ещё до начала. А я отлично провел время и помню те эмоции до сих пор.
Что ж, надеюсь, мы заинтересовали, а может даже и вдохновили вас на участие в подобных соревнованиях, ведь это не только возможность показать себя, но и хороший шанс завести множество новых знакомств и получить порцию положительных эмоций!
Спасибо Марку Харланову за интервью.
Беседу вел Олег Топорков