Залезал на ресурсы code wars и ему подобные, решал там задачки. Потом решил пройти контест от Яндекса и понял, что задачи аля "посчитайте количество знаков в строке" не дают должного представления о программировании. Хочется чтобы что-то сложное было. В универе посоветовали один, но там задачи такого типа "создайте массив, заполните его потоком" и тд. Хотел пойти на курсы, но честно говоря стремаюсь. Потому что по отзывам довольно мутная тема. (Курсы от онлайн университетов) Одни говорят, что полный кайф и все зашибись, другие пишут более детально, что все очень мутно и дорого. Последнее, кстати, правда.
Хотелось бы задачи решать многосложные, которые заставляют задуматься.
Всем большое спасибо и хорошего дня!
Сначала вопрос себе задайте для чего вам нужно решать какие-либо задачки(например вы хотите больше узнать про алгоритмы и их использование). И стоит определиться с областью, в которой хотите развиваться и нужны ли вам эти задачки, мб вам будет больше пользы от того, что вы напишете простую систему по учету данных(тут можно любой пет проект выбрать) с использованием БД и других технологий.
А так если интересны задачи, посмотрите в сторону leetcode, там можете сразу выбирать задачи по уровню сложности.
Это логично. Но что это значит? Я написал игрушку мелкую. Но сделал это с использованием знаний которые имею. А некоторые задачки заставляют изучать что-то новое.
Сергей Горностаев, ну так и хочу понять, какие реальные задачи, что для этого надо знать и тд. Через задачки хочу узнать что-то новое. Зашел на контест Яндекса и думал, что могу решить все. А оказалось нет.
Сергей Горностаев, очень категоричное утверждение, сродни тому, что "хули думать, трясти надо". Хорошую задачку придумать нелегко, но решение хорошей задачки делает тебя лучше, факт.
Сергей Горностаев, обобщать с позиции "видел я" довольно глупо. Вы видели тех, кто решал задачки с литкода, а потом пришел к вам наниматься. Это весьма узкая траектория, не все по ней идут.
Сергей Горностаев, это само собой, но есть например прога и я вижу какие функции она выполняет, хз какой пример привести. Допустим ворд. Если покопаться то в нем напихано столько, что я хз как такое написать.
Ярослав, в том и суть, чтобы научиться писать то, что писать не умеешь. Пишешь сначала примитивный текстовый редактор, типа блокнота. Потом добавляешь в него одну функцию за другой, пока он не превратиться в текстовый процессор типа ворда. В процессе читаешь много документации по используемому языку и библиотекам, гуглишь, чтобы узнать как другие люди решали такие же задачи, сталкиваешься с неявными проблемами, узнаешь нюансы.
видел я этих решателей задачек с литкода, которые не могут нормально даже json'ы перекладывать.
Я не согласен, у вас малая выборка, даже если вы принимали по 10 разрабов каждый день 10 лет - у вас все-равно малая выборка. Вы не спрашивали у каждого успешного разработчика решал ли он подобные задачи, а если решал то сколько. Все разрабы в вузах решали подобные задачи, на первом курсе лабы примерно это из себя и представляют. И что - теперь все программисты после вуза не умеют перекладывать json? А математику вы тоже так учили? Действительно, зачем учить сложение если можно сразу заняться прогнозированием поведения рынка - это же ближе к реальности. Обобщать таким образом весьма наивно.
в том и суть, чтобы научиться писать то, что писать не умеешь. Пишешь сначала примитивный текстовый редактор,
А я вот не верю что когда вы впервые услышали про программирование - вы сели и написали редактор. Уверен что как и все - вы начали с циклов, ветвления и т.д.
даже если вы принимали по 10 разрабов каждый день 10 лет - у вас все-равно малая выборка
Случайный срез множества обычно достаточно показателен, на этом зиждется сэмплирование.
А я вот не верю что когда вы впервые услышали про программирование - вы сели и написали редактор. Уверен что как и все - вы начали с циклов, ветвления и т.д.
Я начинал с ассемблера, так что циклов и условных выражений у меня не было, строго говоря. Я освоил основы в рамках учебника и вместо того, чтобы писать упражнения с числами фибоначи и т.п. начал писать утилиты, драйвера и прошивки, решающие реальные проблемы людей из моего окружения.
Случайный срез множества обычно достаточно показателен, на этом зиждется сэмплирование.
Ключевое слово - обычно.
Я освоил основы в рамках учебника и вместо того, чтобы писать упражнения с числами фибоначи и т.п.
А, ну я понял. Если нормально заниматься по учебнику - можно неплохо набить руку, а можно и на задачках - эффект при одикаковых [время/трудо]затратах будет примерно одинаков. Вопрос только в том что будет дальше. Подозреваю что те кого вы собеседовали - просто остановились на этом шаге и не шли дальше. И нарешивание задач в любом случае необходимо, хотя-бы чтобы пройти собес.
Их у вас большое множество. Например, мама или папа, коллеги по работе/учебе. Решать проблемы конкретного человека или "группы товарищей" это и есть работа программиста, а сортировать массивы это такой же примитивный навык как для плотника забивать гвозди
Ярослав, Вроде?) 1-3 ката если мне не изменяет память, это олимпиадные задачи по программированию, которые тянут не все. Хотите хардкора, спускайтесь до 1й каты. Но решение задач на codewars не важно какой сложность и работы программиста - это полярные вещи. Т.к как все что от вас нужно бизнесу, это решение бизнес задачи и прибыль. Как вы там решаете задачи - бизнесу по барабану)
code wars хорош синтаксис подтянуть в элементарных вещах и дрочить тупые алгоритмы, если хочешь понять как в реальном прогать то это надо архитектуру изучать и пилить проекты которые реально хоть что то полезное делают