Требуется тренер по спортивному программированию, для общего развития и для подготовки к собеседованиям.
Пожелания к квалификации:
• личный опыт всероссийских или международных олимпиад по программированию и/или успешный опыт подготовки спортивных программистов и/или успешный опыт прохождения алгоритмических собеседований в топовых компаниях.
• Способность писать лаконичный эффективный код, желательно на Python.
• Умение объяснять.
Пол, возраст и тд значения не имеют.
Алгоритмическая база есть, умею решать задачки уровня Leetcode Medium, хотелось бы “прокачаться” до уровня Leetcode Hard.
Занятия удаленно.
Оплата за каждое занятие отдельно, 1 час — 1000-3000 руб руб (обсуждаемо).
С предложениями и вопросами просьба обращаться с личными сообщениями.
Здравствуйте, aspring_developer, Вы писали:
_>• личный опыт всероссийских или международных олимпиад по программированию и/или успешный опыт подготовки спортивных программистов и/или успешный опыт прохождения алгоритмических собеседований в топовых компаниях. _>• Способность писать лаконичный эффективный код, желательно на Python. _>• Умение объяснять.
_>Оплата за каждое занятие отдельно, 1 час — 1000 руб (обсуждаемо).
Зачем человеку, обладающему этими замечательными умениями, кого-то обучать за 1000 рублей в час, если он может просто работать на инженерно-руководящей должности в топовой компании, получая на порядок большие деньги?
Re[2]: Тренер по спортивному программированию, 1000 руб / час
>>опыт прохождения алгоритмических собеседований в топовых компаниях
Pzz>Зачем человеку, обладающему этими замечательными умениями, кого-то обучать за 1000 рублей в час, если он может просто работать на инженерно-руководящей должности в топовой компании, получая на порядок большие деньги?
Тогда все олимпиадники сразу бы начинали карьерный путь с "инженерно-руководящей должности в топовой компании".
В топовых компаниях 3 этапа, как правило. Алгоритмический, system design и behavioral. Очень много случаев, когда человек заваливает system design или behavioral.
Поэтому можно представить себе человека, который легко проходит алгоритмический этап, но заваливает SD или behavioral (как раз вчерашний школьник-олимпиадник).
Я с вами соглашусь, что выборка пожалуй узкая (X ∊ {опыт прохождения алгоритмических собеседований в топовых компаниях}), а вдруг
Re[3]: Тренер по спортивному программированию, 1000 руб / час
Pzz>>>Зачем человеку, обладающему этими замечательными умениями, кого-то обучать за 1000 рублей в час
_>Уникальным кандидатам — уникальные условия, цена обсуждаема
на upwork не пробывал своё объявление разместить? там тебе разные гуру массаж (и только массаж) за такую сумму сделают
написал бы ты сразу: "ищу школьника, который хочет подзаработать", тогда бы ещё хоть какой-то шанс был бы...
Re: Тренер по спортивному программированию, 1000 руб / час
Здравствуйте, takTak, Вы писали:
T>на upwork не пробывал своё объявление разместить? там тебе разные гуру массаж (и только массаж) за такую сумму сделают
Хорошо, какая цена нормальная, на ваш взгляд?
Re[2]: Тренер по спортивному программированию, 1000 руб / час
JSM>при такой постановке вопроса — а почему не сам? (полезность тренера для соревнований вообще у меня сомнений не вызывает)
Сам занимаюсь, хочу повысить эффективность.
Есть проблемы с некоторыми темами (нетривальные задачи по теории графов, жадные алгоритмы) — у меня возникла гипотеза, что грамотный тренер помог бы ускорить прогресс — хочу проверить гипотезу.
Re[6]: Тренер по спортивному программированию, 1000 руб / час
T>>на upwork не пробывал своё объявление разместить? там тебе разные гуру массаж (и только массаж) за такую сумму сделают
_>Хорошо, какая цена нормальная, на ваш взгляд?
я так понимаю, что на этом форуме та, которую получают за 3-4 часа работы те, кто прошли через фильтр отборов в эти самые компании
не помню, чтобы тут тренера по спортивному программированию тусовались бы.. может, у них и подешевле в час выйдет
Re[7]: Тренер по спортивному программированию, 1000 руб / час
T>не помню, чтобы тут тренера по спортивному программированию тусовались бы.. может, у них и подешевле в час выйдет
вот, кстати, да — их, скорее, на вузовских форумах искать стоит
команды же частенько при вузах
Re[8]: Тренер по спортивному программированию, 1000 руб / час
T>>не помню, чтобы тут тренера по спортивному программированию тусовались бы.. может, у них и подешевле в час выйдет JSM>вот, кстати, да — их, скорее, на вузовских форумах искать стоит JSM>команды же частенько при вузах
да даже проще, наверное, кого-то найти, кто бы сам в свободное время чем-то подобным хотел бы заниматься, быстрее процесс не станет, даже наоборот, зато это даст возможность посмотреть на задачи под другим углом да и мотивацию повысит
Re[3]: Тренер по спортивному программированию, 1000 руб / час
Здравствуйте, aspring_developer, Вы писали:
JSM>>при такой постановке вопроса — а почему не сам? (полезность тренера для соревнований вообще у меня сомнений не вызывает)
_>Сам занимаюсь, хочу повысить эффективность. _>Есть проблемы с некоторыми темами (нетривальные задачи по теории графов, жадные алгоритмы) — у меня возникла гипотеза, что грамотный тренер помог бы ускорить прогресс — хочу проверить гипотезу.
Вряд ли поможет. Потому что вы ошибаетесь в том, что именно делает тренер в спортивном программировании. Вы хотите, чтобы вам какие-то алгоритмы подробно объясняли. А в спорте это редкость! У нас такое было, когда в нескольких командах сразу были большие проблемы. В общем, совершенно не типичная ситуация. Основное обучение — это либо сами все читаем и пробуем, либо узнаем от друзей и соперников.
Чем реально занимаются тренеры:
Подбор и формирование команды (персоналии, области знаний).
Организация тренировок — найти место, запланировать время и т.п.
При необходимости — техническое обеспечение (вплоть до локальных contest system).
Определение слабых тем, проведение тематических тренировок.
Поддержание хороших отношений с другими командами и университетами. Потому что проводить полноценные 5-часовые тренировки на своей базе каждые две недели — это боль в плане подготовки. А так — один раз проводим мы. Другой — наши коллеги. Третий — вообще на onlinejudge.org кто-то свое проводит и можно потренироваться.
Просто лекции еще и не запомнятся. Я регулярные тренировки не просто так упомянул. Это типичная 5-часовка, 8-12 задач. Регулярно! В этом случае общие темы решаются постоянно. Графы — это вообще 100% (а может и не по разу), вопрос только в том, будет там какой-нибудь банальный поиск в ширину или мрачный максимальный поток. Жадные алгоритмы — реже, наверное, на каждой второй/третьей тренировке. А еще вырабатывается более спокойное отношение к работе в режиме дефицита времени и навыки приоретизации.
В идеале как раз тренироваться параллельно с командой ВУЗа. У них обычно и обеспечение, и контакты. Да и будет с кем обсудить задачи. Вырабатывать и поддерживать практический навык.
Если что — я из всероссийских финалистов. Читать кому-то одному лекции мне не интересно. Вот если наберется заинтересованная масса (на пару-тройку команд), можно будет уже думать. Вот тогда я могу помочь с подборкой задач (можно прямо готовые контесты брать, их много, нужно только знать где). Будете решать, потом с остальными разбирать. С моей стороны — бесплатно (потому что интересно ). Ну и готовьтесь заниматься этим регулярно и много. Иначе нет смысла.
Re: Тренер по спортивному программированию, 1000-3000 руб / час
Здравствуйте, maxkar, Вы писали:
>> Вы хотите, чтобы вам какие-то алгоритмы подробно объясняли.
Нет, это не так. Я способен разобраться с любым алгоритмом самостоятельно.
>> Читать кому-то одному лекции мне не интересно.
Лекции мне не и нужны, есть огромное количество прекрасных лекторов в виде онлайн-курсов (Tim Roughgarden например или курс MIT OCW 6.006).
>> Просто лекции еще и не запомнятся.
Согласен. Я нарешиваю задачи, по ходу дела разбираясь с алгоритмами, если они например упоминаются в решениях других людей (на leetcode в разделе discussions к каждой задаче всегда огромное количество решений, можно узнать много нового в плане альтернативных подходов и фокусов с реализацией). Пытаюсь решить задачу, если не получается совсем, откладываю и возвращаюсь позже.
Для некоторых задач, если чувствую, что очень долго не могу решить, подсматриваю решение, улавливаю идею и реализую по-своему.
>> Ну и готовьтесь заниматься этим регулярно и много. Иначе нет смысла.
Занимаюсь почти каждый день, по ~2 часа. Иногда больше.
На leetcode у меня такая статистика:
Решено всего: 631
Easy 222
Medium 366
Hard 43
Как я представляю себе работу с будущим "тренером": мы сначала проводим оценку моих знаний, идентифицируем слабые места, подбираем задачи под них, а также литературу.
Я эти задачи самостоятельно решаю, рассказываю как решал. Тренер дает мне обратную связь и рекомендации.
Здравствуйте, aspring_developer, Вы писали:
_>Здравствуйте, maxkar, Вы писали:
>>> Читать кому-то одному лекции мне не интересно. _>Лекции мне не и нужны, есть огромное количество прекрасных лекторов в виде онлайн-курсов (Tim Roughgarden например или курс MIT OCW 6.006).
MIT неплохо. Но с задачами там не густо...
_>Как я представляю себе работу с будущим "тренером": мы сначала проводим оценку моих знаний, идентифицируем слабые места, подбираем задачи под них, а также литературу.
С литературой могу сразу посоветовать учебник. Мы в свое время по предыдущей редакции готовились к олимпиадам. Собственно, практически все (95% и более) из олимпиадных задач — это на алгоритмы из Кормена. Оставшиеся 5% — это авторские задачи, которые решают 2-3 команды из 50 и которые определяют победителей. При этом даже авторская задача решается чем-нибудь из классических алгоритмов, только его сложно заметить или нужно два-три разных алгоритма скомбинировать.
Почему рекомендую книгу. Это именно учебник. Он излагает материал систематизированно, от простого к сложному. Базовые алгоритмы там рассказываются (придумать самому за ограниченное время такое — не реально!). Затем даются задачи на улучшение/усовершенствование того, что было рассказано. Получается достаточно логичная цепочка выводов. А не "откуда это вообще могло взяться?". Какие-нибудь паросочетания в двудольном графе, например, проще прочитать и запомнить ключевую идею, чем выводить с нуля.
После проработки раздела (тех же графов) можно на leetcode закрепить задачи.
Еще из плюсов — в книге псевдокод. Так что можно практиковаться в переводе его на python.
_>Спасибо большое за развернутый ответ!
Да не за что. Если никого не найдете — пишите в эту тему, что ли. Может и я чем-нибудь бесплатно помогу (у меня свой интерес — учиться подаче материала, но часто бывает лень). Или куда-нибудь в Алгоритмы задавайте вопросы. Там может оказаться кто-нибудь, тоже изучающий алгоритмы. Вместе будет проще и интереснее учиться.
Re[2]: Тренер по спортивному программированию, 1000-3000 руб / час
Здравствуйте, L.K., Вы писали:
LK>Что такое "спортивное программирование" и чем оно отличается от "неспортивного"?
Спортивное — это решение алгоритмических задач на время. Неспортивное — это все то, за что бизнес платит деньги Отличается оно почти всем. На обычную разработку похоже только тем, что и там, и там используются компьютер и стандартные компиляторы.
Например, в спортивном программировании очень короткий жизненный цикл "решения". От постановки задачи до момента "приложение уже никому не нужно" может пройти меньше 20 минут (плюс-минус в это время образуется первая сданная задача). Заботиться о том, как код будут поддерживать через полгода совершенно не надо. Наоборот — вредно, лишнее врема затраченное. Излишнее тестирование тоже очень вредно. Команды ранжируются по паре (количество решенных задач, суммарное время сдачи). Время сдачи — это время в минутах от старта соревнования до прохождения всех тестов. И еще +20 минут за каждую неверную попытку по зачтенным задачам. Нерешительность в плане тестов в 2 минуты на первой задаче привозит в итоге дополнительно 12-20 минут (6-10 задач к концу турнира). Больше нерешительности дальше — еще больше суммарная задержка. Хороший стиль кода, говорящие имена переменных — это все лишние затраты. Красивая декомпозиция может стоит быстродействия и в итоге time limit на посылке решения (т.е. незачет, нужно переделывать).
В командных турнирах — большой дефицит вычислительной техники. Всего один компьютер на команду из трех спортсменов. И никакого интернета, алгоритмы нужно знать (из плюсов — задачи в печатном виде!). Именно алгоритмы. Задачи сформулированы четко, входной, выходной форматы, ожидаемый результат, время и память. Никакой беготни за заказчиком и поставщиками в попытах выяснить, что же они все имели в виду! Заодно по ограничениям можно прикинуть ассимптоматику предполагаемого решения . Что говорит об еще одном полезном моменте — решение всегда есть. Т.е. не "давайте попробуем, можно ли вообще это как-то решить". Есть эталон, который проходит все тесты (acceptance tests).
"Бэклог" задач известен на старте. Приоритизация того, что и в каком порядке делается отдана команде. Результат (принято или нет) известен в течение пары минут после отправки решения. Одновременно работают много команд! (Где вы такое видели, чтобы 20+ команд разработчиков делали одно и то же?). А "седло большое, ковер и теливизор" получают только несколько лучших. Для остальных это приятно потраченное время.
Re[5]: Тренер по спортивному программированию, 1000 руб / ча
Здравствуйте, aspring_developer, Вы писали:
>>> Вы хотите, чтобы вам какие-то алгоритмы подробно объясняли. _>Нет, это не так. Я способен разобраться с любым алгоритмом самостоятельно.
когда есть кто понимает и кому объяснить — то да, разобраться можно в чём угодно ..
а когда голый число дробильный код и научная статья к нему из анекдота " — 3 листа выкладок сдуло, что делать ?; — не волнуйтесь, просто пишите "откуда очевидно следует что .." ", то это всё равно что в гараже ASML сканер собирать ..
ну т.е. собрать конечно можно из готовых запчастей, а вот модернизировать уже проблематично мягко говоря ..
(поэтому и современные техпроцессы и технологии — разрабатывают тысячи людей) ..
aspring_developer, я это всё тебе к тому что жопу рвать пора прекращять — и устраиваться на нормальную работу ..
(но вообще дипломчик не помешает конечно — если собираешься заграницу валить)