leetcode & codewars
137
21
Rainer Falk сказал(а):↑1. потыкать пару минут можно
2. нет, пустая трата времени
Нажмите, чтобы раскрыть...Если ты ее пару минут всего собрался тыкать, то тогда конечно да, лучше не трать свое время, а сходи пивка порей.
А что не пустая трата времени?
Как по мне норм тема, чтобы в алгоритмы вкатиться, набить руку, так сказать.
d0berr сказал(а):↑стоит ли зацикливаться на данных ресурсах? приносят ли они пользу либо это просто тупая трата времени?
Нажмите, чтобы раскрыть...Только после того как изучишь алгоритмы и структуры данных, матрицы и тервер. Иначе будешь просто рандомно тыкаться через гугл. Это я про литкод. Если пройдешь там тяжелые задания и штук 200 средних, то считай в яндекс попал
Да не особо.
Но если по фану тебе, то решай.
А ваще есть отечественный codeforces, там регулярно раунды идут, можно турики порешать.
Есть разборы и всё такое. Короче.
Олим прога от прома отличается.
Первое это забавный раздел олимпиадной математики, второе это нормальная инженерия.
Другое дело хакатоны…
Алгосики можно и весьма отдельно от подобных занятий изучать, это всё же математика.
На псевдокоде, на доске, их фигачить гораздо веселее и удобнее, потому что дурацкие детали не надо расписывать.
d0berr сказал(а):↑стоит ли зацикливаться на данных ресурсах? приносят ли они пользу либо это просто тупая трата времени?
Нажмите, чтобы раскрыть...Разве что ради фана, и возможно понимания каких-то деталей работы кода. На деле эти мегаоптимизации, которыми меряются челы на литкоде не нужны в 99% случаев. Мне за 10 лет опыта делать микрооптимизацию на уровне, где экономить нужно на каждом байте, умно кешировать счетчики, расчеты и прочее говно, пришлось буквально только один раз, когда генерил текстуру туториальной подсветки в каждом кадре. Я тогда чьи-то 12 мегабайт аллокаций в памяти на каждый кадр ужал в 60кб, и сильно этому радовался.
Но по факту, по собственной инициативе делал, потому что я не люблю когда что-то просаживается, а там фпс сильно очевидно падал, но моего ПО и лида разработки эти улучшения энивей не сильно интересовали, мы все равно тутор показываем только первые пару игр.
graffitcrab сказал(а):↑Разве что ради фана, и возможно понимания каких-то деталей работы кода. На деле эти мегаоптимизации, которыми меряются челы на литкоде не нужны в 99% случаев. Мне за 10 лет опыта делать микрооптимизацию на уровне, где экономить нужно на каждом байте, умно кешировать счетчики, расчеты и прочее говно, пришлось буквально только один раз, когда генерил текстуру туториальной подсветки в каждом кадре. Я тогда чьи-то 12 мегабайт аллокаций в памяти на каждый кадр ужал в 60кб, и сильно этому радовался.
Но по факту, по собственной инициативе делал, потому что я не люблю когда что-то просаживается, а там фпс сильно очевидно падал, но моего ПО и лида разработки эти улучшения энивей не сильно интересовали, мы все равно тутор показываем только первые пару игр.
Нажмите, чтобы раскрыть...А как тогда изучать программирование ну повысить свой скил ?
d0berr сказал(а):↑А как тогда изучать программирование ну повысить свой скил ?
Нажмите, чтобы раскрыть...В наше время скилл заключается не в микрооптимизациях, а в хорошей архитектуре кода в более общем смысле.
Учи сначала ООП, потом паттерны проектирования, потом принципы SOLID/GRASP почитай, и попутно всё это время копай в свою конкретную технологию, которая тебе нравится, пытаясь применить это всё добро на деле, и будет тебе скилл. Оптимизации к тебе на ум сами придут, когда пригодятся.
d0berr сказал(а):↑А как тогда изучать программирование ну повысить свой скил ?
Нажмите, чтобы раскрыть...научись писать парсеры и простые интерпретаторы, например языка scheme (он весьма минималистичен)
научись реализовывать длинную арифметику, разберись как числа в компе работают
разберись как память работает
научись реализовывать основные структуры данных твоего языка: динамический массив, хештаблицу, дерево поиска, прочую лабуду
основные алгоритмы: сортировочки, хеширования, графы
настрой свое окружение: аля изучи bash, ssh, vim, tmux, cron, awk, …
короче миллион этих GNUтых приложений из мира Unix, которые упростят твою жизнь в разы
поизучай разные языки на предмет интересных парадигм, писать можешь тоже парсеры и интерпретаторы, какие-то структуры данных
научись делать простой сайт, персональный блог, на какой-нибудь связке технологий вроде nginx, php-fpm, mariadb, docker
стань интернет-феодалом, а не интернет-чернью
можно и что-то другое, конечно, делать
поизучай слегка азы криптографии и безопасности
всякую параллельную чертовщину потрогай
to be continued…
и вот теперь можно приступать к специализации в каком-то направлении в этом гигантском мире, вопросов куда двигаться не останется после такой кругосветки: будет ясно что тебе нравится, а что ты ненавидишь
почему кстати парсеры, компиляторы и интерпретаторы?
ну потому что это какое-то базовое io и преобразования текста, вычисления: в плане проблем с окружением тупняк
но задачи сложные и сразу учат тебя писать хорошо, модульно и всё такое
иначе загнешься их писать
можно библиотеки писать, если не лень, а парсеры лень
d0berr сказал(а):↑стоит ли зацикливаться на данных ресурсах?
Нажмите, чтобы раскрыть...нет
d0berr сказал(а):↑приносят ли они пользу либо это просто тупая трата времени?
Нажмите, чтобы раскрыть...да
YoshkinKot сказал(а):↑научись писать парсеры и простые интерпретаторы, например языка scheme (он весьма минималистичен)
научись реализовывать длинную арифметику, разберись как числа в компе работают
разберись как память работает
научись реализовывать основные структуры данных твоего языка: динамический массив, хештаблицу, дерево поиска, прочую лабуду
основные алгоритмы: сортировочки, хеширования, графы
настрой свое окружение: аля изучи bash, ssh, vim, tmux, cron, awk, …
короче миллион этих GNUтых приложений из мира Unix, которые упростят твою жизнь в разы
поизучай разные языки на предмет интересных парадигм, писать можешь тоже парсеры и интерпретаторы, какие-то структуры данных
научись делать простой сайт, персональный блог, на какой-нибудь связке технологий вроде nginx, php-fpm, mariadb, docker
стань интернет-феодалом, а не интернет-чернью
можно и что-то другое, конечно, делать
поизучай слегка азы криптографии и безопасности
to be continued…
и вот теперь можно приступать к специализации в каком-то направлении в этом гигантском мире, вопросов куда двигаться не останется после такой кругосветки: будет ясно что тебе нравится, а что ты ненавидишь
Нажмите, чтобы раскрыть...это что-то явно не для средних умов.
у тебя в целом все идеи такие.
YoshkinKot сказал(а):↑ну там нет конкретики насколько хорошо ты должен это всё знать)
но в целом это 2-5 толковых монографий в стиле «классика жанра»
Нажмите, чтобы раскрыть...Большая часть попадает под определение CS. Полно университетских курсов, но там много теории и имхо не оптимально для старта, тк тебе значительная часть инфы не пригодится в 90% случаев, а когда будет нужно - ты уже забудешь значительную её часть.
Zacateca сказал(а):↑Большая часть попадает под определение CS. Полно университетских курсов, но там много теории и имхо не оптимально для старта, тк тебе значительная часть инфы не пригодится в 90% случаев, а когда будет нужно - ты уже забудешь значительную её часть.
Нажмите, чтобы раскрыть...слушай, на мой взгляд никто никогда не помнит в точности всю инфу до деталей, такое только препод себе может позволить, для этого существуют те же монографии и справочники, личный блокнотик с самым важным
но это не значит что не надо повидать свет
и одно дело забыть детали, другое — не знать, в принципе, что нечто существует
ну и человек спросил как апнуть скилл (ну вот так, через понимание можно апнуть, на мой взгляд)
Если у тебя есть время и желание учиться этому усердно хотя бы год-два, то явно стоит. Тенденция такая, что в скором времени фреймворк/веб макаки в скором временем рили останутся за бортом, может переквалифицируются во что-то другое, а фундамент в виде Алго и Структур данных тебе даст уверенность в своих знаниях, сможешь остальные технологии на изи изучать после них.
Эти ресурсы как минимум - хорошая практика в синтаксисе языка, если ты только начал изучать. Хотя, я бы сказал, что есть и попроще ресурсы, где задания легче, Степик, например. Литкод > кодварс, на втором проще. Выше сказали про кодфорсес, но если ты только вкатываешься, то мне кажется не стоит.
На литкоде действительно много решений, я бы сказал сомнительных, но он хорошо подходит, когда ты решаешь задачу за O(n^2), а она решается быстрее - ты по статистике поймешь, что ты можешь решить ее эффективнее. Зацикливаться не советовал бы, но уделять N время в день/неделю думаю стоит. Опять же, если есть желание траить условный Яндекс, то да. Тебе кроме синтаксиса, алгоритмов и структур данных туда на позицию стажера ничего не требуется. Такие вещи как математчиеская подкованность, сообразительность и тд - я не закладываю, тут как повезет
NbW сказал(а):↑Эти ресурсы как минимум - хорошая практика в синтаксисе языка, если ты только начал изучать. Хотя, я бы сказал, что есть и попроще ресурсы, где задания легче, Степик, например. Литкод > кодварс, на втором проще. Выше сказали про кодфорсес, но если ты только вкатываешься, то мне кажется не стоит.
На литкоде действительно много решений, я бы сказал сомнительных, но он хорошо подходит, когда ты решаешь задачу за O(n^2), а она решается быстрее - ты по статистике поймешь, что ты можешь решить ее эффективнее. Зацикливаться не советовал бы, но уделять N время в день/неделю думаю стоит. Опять же, если есть желание траить условный Яндекс, то да. Тебе кроме синтаксиса, алгоритмов и структур данных туда на позицию стажера ничего не требуется. Такие вещи как математчиеская подкованность, сообразительность и тд - я не закладываю, тут как повезетНажмите, чтобы раскрыть...что за "степик" онлайн школа ?
d0berr сказал(а):↑что за "степик" онлайн школа ?
Нажмите, чтобы раскрыть...Ресурс, где много бесплатных курсов по ЯП и не только, там CS в целом, математика, информатика, физика и т.п. Как правило они подкреплены задачами на пройденную тему/темы.
Есть и платные, которые стоят недорого, но их меньшая часть. Если говорить про качество, то могу сказать только за Питон, и возможно за плюсы. Если ты изучаешь другой ЯП, то поисследуй, вполне себе платформа. Скажем так, там идут задачи на закрепление как и языковых конструкций, условно. Ты же знаешь как работает if-else, но вот тебя 10 задачек, где ты закрепишь. Или циклы, тоже элементарно, но есть много фишек. Так и встречаются курсы, где выбраны задачи с того же <любой ресурс с задачами> под твой примерный уровень. Единственное, конечно, там ты не ставишь цель решить максимально эффективно, а чтобы решить. Потому что ограничений на время нет. Хотя смотря какой курс. Ты же не написал свой уровень и на каком ты этапе. Тип, если нужен более хард уровень, то вот тебе Тренировки от Яндекса. Там и эффективность, и на подумать. Если ты решил, что это имеет смысл для тебя.
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Сообщений:2
Просмотров:2
-
Pafos Chubakin 20 Apr 2024 в 16:50Сообщений: 7 20 Apr 2024 в 16:50
Сообщений:7
Просмотров:8
-
Сообщений:6
Просмотров:6
-
Сообщений:9
Просмотров:11
-
Сообщений:9
Просмотров:10