Доброе. Пока грызу Яву и смежные темы, часто сталкиваюсь с явлением "олимпиады \ чемпионаты \ хакатоны".
Интересует вот что: откуда школьники(студенты) олимпиадники берут те знания, которые позволяют им брать область\Россию и т.п.?
Если глубже - откуда они знают, что надо учить?
Там ведь нужно и знание математики, и алгоритмов, и наверное языка (языков) и чёрт-те чего.
Скажем, вот конкурсная задача, столкнулся лично: Задача про слова
Теряюсь в догадках, что я должен знать, чтобы её решить... Алгоритмы? Графы? Числа Фиббоначи? Java Core?
-----------
К слову, уже неделю не могу найти внятный материал по алгоритмам для JAVA. Везде сплошной Питон.
Ayrat
13 уровень
Философский вопрос (заходите все)
Комментарии (38)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Михаил КлименкоExpert
19 августа 2020, 19:09
Много полезного уже посоветовали в комментариях.
Предложу один сильно радикальный метод.
Когда не знаешь, что конкретно делать - ничего не делай. Сядь и жди, когда внешние или внутренние силы дадут хорошего пинка - направление движения сразу станет понятно.
Когда меня последний раз настиг такой пинок - я очень быстро нашел инфу о том, что начинать изучение программирования нужно с одного (любого) языка. Без совмещений, перепрыгиваний, перескоков и других пируэтов.
+1
Dmitriy Gordievskiy Пасу барашек в горных полянах
18 августа 2020, 09:32
Чтобы принимать участие в подобных конкурсах нужно быть задротом по алгоритмам.
Читать книги, решать задачки на тематических сайтах.
Таких особенно любят в FAANG компаниях. Но как для свитчера найти первую работу то это не столь важно.
Впрочем, Justinian и так дал полный и развёрнутый ответ, так что не буду дублировать
0
Ayrat
18 августа 2020, 09:40
свитчер - это типа дядя, что на 4-м десятке решил пойти в кодеры ? ))
0
Dmitriy Gordievskiy Пасу барашек в горных полянах
18 августа 2020, 10:15
От английского "switch" - сменить, переключиться
Или другими словами, сменить професию, переквалифицироваться.
Неважно в каком возврасте, 25 лет или 50+
+1
Dmitriy Gordievskiy Пасу барашек в горных полянах
18 августа 2020, 10:20
https://www.youtube.com/watch?v=oQFAKZ8BOx0&list=PLmqFxxywkatTTIznuNLFjt-Wjs142aYla&index=125
Вот, толковый дядя отвечает на вопрос стоит ли знать алгоритмы
Советую посмотреть его видосики
+1
VladimirMaster
18 августа 2020, 14:12
Вот наглядный пример чистого стереотипного мышления. Дядя, и почему именно дядя? Может тетя. Слово свитчер не склоняется.
P.S. Возраст не важен при смене профессии.
+1
Ayrat
18 августа 2020, 15:17
потому что типичный свитчер - это мужчина разной степени зрелости.
0
Ksenia MarioMaster
18 августа 2020, 17:05
возьму в рамочку, как пример типичньіх логически-следственных связей :)
+2
Justinian Judge в Mega City One Master
18 августа 2020, 08:07
Я сам участвовал в олимпиадах, откуда можно знать...если очень коротко, то опыт предыдущих олимпиад, знания и навыки решения подобных задач.
Представь, что есть люди которые годами постоянно решают подобные задачи.Это навык и специфическое мышление.
Чтобы брать нормальные этапы и побеждать на уровне страны/мира, это ВСЕГДА работа с тренером, который натаскивает, за очень редким исключением.
Но это другой мир, почему ты спрашиваешь? Интересуют алгоритмы, просто решай задачи hackerrank/codewars/leetcode и тд. Курс на курсере Algorythm Принстона.
+есть много сайтов с условиями олимпиадных задач.. Математику подтягивай.
Но это отдельный мир, это как бы ты хотел вступить в спецназ и вместо физо ты решил овладеть искусством стрельбы с мушкета на скачущей лошади, стоя на одной руке на седле.
Оно вроде и связано, но это другой путь.
В школе, универе такое заходит, если ты там это ок.
Для свитчеров такое ок, если не принципиально когда найти работу, через месяц или через 7 лет.
Алгоритмы почти не имеют разницы и привязки к языку, они опираются на математику. Джава, питон, паскаль, си, не важно.
+3
Ayrat
18 августа 2020, 15:28
Ну, как объяснить.. Если ты победитель чемпионатов, то ты - как бы проще выразиться - классный. Лучше других и перспективнее. По аналогии - чемпионов-олимпиадников по матеке могут зачислять автоматом в вузы, ну и так далее. В общем, за лучшими охотятся.
Что до меня, то я не школьник и даже давно не студент, но реалии и хотелки (+некоторая предрасположенность к компам, программам) и зарплаты подталкивают к обучению.
Поэтому я здесь.
0
Di Ma Java Developer в Сбер
18 августа 2020, 18:07
В реале всем пофиг на умение решать олимпиадные задания ибо везде шаблоны и не более.
0
Justinian Judge в Mega City One Master
18 августа 2020, 21:28
Здесь мне кажется, важно сделать две вещи.
1. Визуализировать свои цели, к чему стремится, то есть конкретный образ конкретного и главное, реального карьерного пути.
2. Сформулировать список конкретных целей.
Например, я хочу быть президентом вселенной и мир во всем мире это не катит.
Возьмем твои слова. То о чем ты пишешь, это:
1. Конкретный образ к которому стремятся победители чемпионатов, воплощение перспективы, за которым охотятся и суют любые деньги:
https://otvet.imgsmail.ru/download/u_e39bbb42d63fd9e4ebd12577917380d6_800.jpg
2. Какие конкретные цели, ты хочешь стать победителем чемпионатов?
СДелать так, чтобы за тобой охотились в том контексте, о котором пишешь, думаю нельзя.
Охотятся за перспективными ДЕТЬМИ и СТУДЕНТАМИ.
Но не за взрослыми дядьками, которые решили конкурировать с студентами в математике.
У взрослых дядек другой момент, если они своей работой и ПРАКТИЧЕСКИМИ НАВЫКАМИ покажут, обретут вес в профессиональном мире, тогда да.
Но если анализировать твои слова на конкретику, то ты сам себе противоречишь.
Ты пишешь что тебя подталкивают к обучению в том числе зарплаты.
Еще раз посмотри ссылку которую я привел, это альфа-самец на самом вершине пирамиды, я смутно верю, что ты к этому стремишься, как минимум здесь ты либо сам себе не ответил либо поверхностен в своем представлении своих желаний.
Идем дальше, какие конкретные цели. Стать студентом? Ты можешь себе позволить 5-10-15 лет, 7 дней в неделю, 24 часа в сутки забивать мозги математикой, колеся как кочевник по городам/хостелам/гостиницам от олимпиады к олимпиаде? При этом быть ооочень далеким от компов и программирования.
Это к этому тебя подталкивают тебя твои хотелки?
Чтобы через 15-20 лет ты смог получить конкурентное преимущество перед теми, кто к тому времени уже достигнет ВСЕГО и уедет на пенсию на тропический остров. Позволь мне сомневаться, что ты этого хочешь
+1
Justinian Judge в Mega City One Master
18 августа 2020, 22:06
C другой стороны, если буквально не цепляться за слова, мол уровень победителей олимпиад, поскольку мне сложно представить количество необходимого времени, которое нужно положить на это свитчеру..
То само по себе, изучение математики, олимпиадных задачек, алгоритмов это можно только похвалить.
Базы, много не бывает.
99.9% свитчеров выбирают другой путь, поскольку нужна работа как быстрее, но учить алгоритмы, математику, для ума это в любом случае тренажер, и это качает мозги.
Против этого ничего и не напишешь, алгоритмы нужны.
Какие, в каком объеме, каждый решает сам исходя из своей визии будущего и карьерного пути.
+1
Ayrat
18 августа 2020, 23:00
По поводу цели... чтобы понимать, чего именно хочешь, надо сначала в этом повариться... парадокс!
Если обобщить - цель- иметь работу, которую можно выполнять из любой точки земли, где есть интернет.
Индийские Гималаи, Горный Дагестан, Ферганская долина - где захотел, там и находишься, неделю/две. Ты, верный мощный ноут и мотоцикл. И чтобы хватало жене-детям и оставалось на старость.
А уж ДжаваСкрипт это, Питон или Рубины-на-Рельсах - это мне надо у вас спросить
0
Justinian Judge в Mega City One Master
19 августа 2020, 08:31
и интернет
Работу из любой точки земли ты сможешь на почти любом языке думаю, сейчас очень много компаний уже полгода работают дистанционно и собираются так работать и дальше в том или ином виде, поэтому за этим не заржавеет, вопрос прежний, чем ты хочешь заниматься конкретно.
Не знаешь что конкретно хочешь, остается лишь один путь - пробовать :)
0
Ayrat
19 августа 2020, 12:48
если отталкиваться от экономической целесообразности, надо заниматься тем, что коммерчески будет продаваться и нужно любому (почти любому) человеку.
Это, я думаю, делать программулины для Андройеда.
Второе, чем пользуются все - это автомобили.
Может, писать программы для современных авто (автопилоты, прикладные программы для водителей, разную фигню удобную для вот этих вот огромных сенсорных панелей).
Может быть, уйти в индивидуальный IT-авто-сервис. Ну, типа, прошивать автомобили, или вырезать из них (по просьбе физлиц-автолюбителей) всякую фигню типа Яндекса, а вместо неё заливать что-то свое (или не заливать ничего).
Может, писать и продавать лично свои андроид-программки, даже может маленькие нейросети, а-ля "в какой вуз\факультет моему сорванцу лучше поступить" (утрированно), которые бы брали входные данные сорванца (оценки, участие в олимпиадах, предпочтения, желаемая з\п и страна проживания по окончании,желание пойти в армейку) и выдавала бы эдакую шкалу-диаграммку: самый высокий столбец - идите туда, будет вам и военБилет, и золотые горы, и непыльное место; столбцы пониже - будет бабло, но год потопчете плац, и в таком духе.
Сразу извините, если говорю чушь - прост это пока то, чего ума хватило нафантазировать.
Думаю, начав с Java, я в том направлении пошёл.
p.s. Думаю также, что освоивший Яву чел всё равно на порядок более подготовлен к перепрофиляции по ходу, чем нулевой.
0
Justinian Judge в Mega City One Master
19 августа 2020, 15:57
Конечно, однозначно так, нужно с чего-то начинать и потом уже будет видно.
А прям сейчас ты чем занимаешься, что учишь?
0
Ksenia MarioMaster
19 августа 2020, 17:47
как то я начала волноватся за безопасность на дорогах.
особенно в контексте затруднений в задачке про слова и невнимательности в комментах.
+4
Ayrat
19 августа 2020, 19:22
зато с русским языком всё в порядке 0)))
0
Ayrat
19 августа 2020, 19:24
Яву Кор понемногу, параллельно читаю Грокаем Алгоритмы, параллельно пробую решить 2 отборочные задачки от Школы программистов хедхантер. Часа три убил на вторую, потом организаторы прислали нормальное описание задачи, умножив тем самым три часа на ноль.
0
Anton
19 августа 2020, 20:50
Умение решать олимпиадные/алгоритмические задачи никак не коррелирует с разработкой программ. Если бы сейчас на дворе был 1997 год и в компьютерах было 128 мб памяти, то был бы совершенно другой разговор.
Зарплаты платят не за алгоритмы и структуры данных а за глубокое знание ниши в разработке в Яве это либо бэкенд вэб систем либо биг дата разраьотка.
0
Anton
19 августа 2020, 20:56
Алгоритмы вообще нужны. Это база только для самих себя, то бишь для изучения алгоритмов. Все эти алгоритмы, графы итп это computer science, которое ничего не имеет общего с software engineering, и для которого как это не странно даже умение пользоваться компьютером не требуется.
0
Anton
19 августа 2020, 21:00
В среднем средний пользователь устанавливает 0 приложений на саой телефон в месяц.
Автопилоты, нейросети итд это машин лёрнинг, это математика(очень серьёзная математика, если именно это исследования, а не комерческая имплементация, которой пока никто не занимается) и в основном python и r.
0
Сергей Java Developer в Сбер Expert
18 августа 2020, 07:58
Подобные задачи есть на javarush. Для их решения не нужно специальных знаний
0
Евгений Буш Программист в Компания Expert
18 августа 2020, 06:55
тут кроме логики вроде ничего не надо. смотришь буквы на повтор, слова на длину
0
Di Ma Java Developer в Сбер
18 августа 2020, 06:24
книги Дональда Эрвина Кнута в помощь + https://acm.timus.ru/ для практики.
+1
Ayrat
18 августа 2020, 06:13
Может, ну её, эту Яву, стать питонистом ? ))))
0
Ksenia MarioMaster
18 августа 2020, 06:16
если задачу про слова тьі не можешь решить джавой то питон тебе мало чем в ней поможет
0
Ayrat
18 августа 2020, 06:31
я в целом))) про удобство, простоту и распространённость языка.
Пока 12 уровень, может не поздно спрыгнуть с отстающего поезда...)))
0
Magician
18 августа 2020, 06:33
Какая разница, на каком языке писать, язык - это только набор лексем и ключевых слов, способ написания кода (со скобочками или отступами, есть структуры или нет и т.д.). Самое главное, это правильно продуманный алгоритм. Этот пример можно реализовать и на java и на c# и даже в 1С (который многие вообще за язык программирования не считают )).
Не ищите алгоритмы именно по Java, хотя и по ним мне встраивалась книга. Просто последовательно решайте как можно больше задач (необязательно только тут), и, думаю, счастье будет))
0
Ksenia MarioMaster
18 августа 2020, 07:00
разньіе язьіки лутше зависимо от целей: на 1с не сделаешь телеграм,
а на питоне драйвер.
0
Magician
18 августа 2020, 08:36
Вот это спорно)
«на 1с не сделаешь телеграм»
0
Ksenia MarioMaster
18 августа 2020, 10:53
шаришь 1с?
0
Justinian Judge в Mega City One Master
18 августа 2020, 12:48
на питоне, джаве можно, и пишут драйвера :)
Сам удивился когда узнал.
Но у каждого языка свое предназначение.
Общие алгоритмы можно писать хоть на своем выдуманном языке, в этой части нет разницы, на каком языке работать с алгоритмами как общим понятием.
А под конкретные задачи нужно подбирать уже конкретные инструменты. Здесь безусловно, имеет ключевое значение, что и на каком языке мы делаем.
0
Magician
18 августа 2020, 13:16
Достаточно, чтобы утверждать, что на 1С можно сделать практически все))
Не всегда это будет оправдано, где-то медленно, где-то топорно и колхозно, но можно)))
+1
VladimirMaster
18 августа 2020, 16:16
Ну да. Никто не мешает в сковороде заварить чайку душистого и в чайнике пожарить картофан с баклажанами. 🙂
+6
Magician
18 августа 2020, 19:16
Иногда и это можно сделать. Мы в пионерлагере за неимением сковороды картошку в чайнике готовили, вкусно было))). А если искать сковородку, можно вообще без картошки остаться))
0
Anton
19 августа 2020, 21:03
По распространённости именно в сфере разработки Python и рядом с Java не валялся. Python язык для data science/analutics и machine learning, но во всех этих сферах программиррвание не важно, важна математика, поэтому на эти позиции оьычно берут кандидатов математических наук которые вообще не умеют порограммировать, но которые занимались годами научной деятельностью.
+2