тут уже у каждого свой приоритет, весь прошлый год у меня был приоритет литкод и я в этом преуспел, не идеально конечно, но могу пройти собеседования, сейчас в приоритете кабанчик и систем дизайн. сама суть посыла - найти время на что-то, что тебе нужно) мне было нужно решать задачи и научиться их решать, я до работы и после находил, на выходных, в то же время старался в зал ходить, гулять, чтоб еще и физическая активность была(но в моем случае легче конечно, тк детей нет, но уверен, что даже с детьми можно что-то придумать, хотя бы по 15-30 минут заниматься чем-то, что нужно тебе)
Полностью согласен, если нет сил решать задачу, я читал статьи, если нет сил читать, то смотрел как решают задачи. ну и сама работа должна быть адекватной, чтоб ты не выгорал, а оставались силы после работы что-то делать)
Удивляет насолько легко люди говорят за всех) если бы не решал все эти задачи, я бы 100% завалил 99% интервью, смог бы решить задачи типа - узнать является ли строка палиндромом или анаграммой, не говоря уже о backtracking задаче после которой пришлось еще и binary search пройтись, чтоб решить задачу. Зависит от того, где вы работаете, если строите сервисы по вычислению маршрутов и тп, где нужны знания алгоритмов, то да, со временем накопите опыт, иначе нет, у меня 8+ лет опыта, но ни разу не приходилось писать merge sort или алгоритм дейкстры и не смог бы решить задачи связанные с ними на интервью, а сейчас - пожалуйста. Ну и нужно учесть изначальные знания, кого-то в школе учат программировать на Pascal, а кого-то печатать в word(мой случай)
я понимал, что я писал, но нет предела совершенству, теперь чуть больше знаю как оптимизировать, что лучше использовать в тех или иных случаях. речь тут не про то, что решение алгоритмов тебе дает суперсилу, это просто фундамент, который по идее нужно было изучать еще давно, но у меня руки дошли сейчас
Это один из примеров, чему научился решая алгоритмические задачи. Насчет 600 задач - это скорее не о том, что я такой крутой и решил 600 задач, а наоборот, тк некоторым достаточно даже 100 задач решить, чтоб понять все то, что я понял после решения 600 задач.
Не пойму негативного настроя) этот пост не для сторожил и не для тех, кто щелкает задачи как орешки, а для таких же как и я, которым недостаточно мотивации, которые думаю, что у них ничего не получится, которые не знаю с чего начинать, какие ресурсы использовать и тд
Нужно понимать, что люди разные, одному достаточно 1 раз прочесть про алгоритмы и понять, а другим необходимо по 10 раз перечитывать, чтоб до них это дошло) В случае с алгоритмами я второй тип, некоторые задачи решал по 10-15 раз, тк каждый раз упускал какой-то момент. И да, мне пришлось решить >600 задач, чтоб почувствовать уверенность в своих силах, но читал, что некоторым достаточно решать 100 задач, некоторым достаточно 300
это фундамент, без которого можно обойтись, но с ним ты станешь только лучше, поэтому во всех вакансиях Гугла на инженерную позицию, требуют опыт структур данных и алгоритмов от года и больше, тк любой может взять и выучить какой-нибудь ЯП и написать на нем что-то, но вот понимать как оно под капотом работает и как эффективнее использовать ту или иную структуру знают не все(в том числе и я когда-то, сейчас хотя бы лучше понимаю)
Дети у стоматолога? - берем планшет/книгу и читаем, изучаем пока им лечат зубы.
Я примерно так и делаю, отвез жену на почту - потратил 5-10 минут ожидания на чтение, пошли в ТЦ, пока жена что-то выбирает, сажусь на скамейку и читаю. Я к тому, что при должной мотивации время можно найти(встать на полчаса раньше, к примеру)
Почему рано, если провалил только 1 вью из 5 в Meta? все кодинг сессии и бихейв прошел нормально, провалил сисдиз
У средненького миддла без какой-либо предварительной подготовки хотя бы половина easy должна решаться (а лучше 90-100%).
Может быть, но это был не мой случай, я старший разработчик с большим опытом в разных областях(backend/fullstack/mobile/devops), но в основном backend. Также есть примеры людей с богатым опытом в разработке, но которым тяжело удаются easy задачи на литкоде. На мой взгляд это отдельный навык, который нужно прокачивать. Если вам или кому-то другому удаются задачи легко, я могу лишь позавидовать, тк мне это удалось с тяжелым трудом)
Я думаю, что вы также как и я когда-то думаете, что кодинг интервью - это ненужная часть, что эти алгоритмы в обычной жизни не нужны и отчасти это правда, потому что в основном ты делаешь что-то, чему это не нужно(если ты не разрабатываешь сервис для построение маршрутов и тд), но сейчас начал чуть иначе смотреть на код, недавно оптимизировал один метод, который занимал O(N^2) время, сейчас занимает O(N), но да, потребляет O(N) память, в данном случае это было оправдано, тк память лишняя есть, а вот метод вызывался часто и каждая секунда на счету. Ты не пытаешься использовать везде массив, а уже смотришь в сторону очередей, стека и тд.
Пока еще в процессе поиска, но уже прошел не одну кодинг интервью, где были как medium , так и hard задачи. Из последних - прошел Avito, Meta(провалил сисдиз этап, сейчас бросил усилия на эту часть). Если бы не начал решать эти задачи, то с вероятностью 99.9% я бы провалил все кодинг интервью
тут уже у каждого свой приоритет, весь прошлый год у меня был приоритет литкод и я в этом преуспел, не идеально конечно, но могу пройти собеседования, сейчас в приоритете кабанчик и систем дизайн.
сама суть посыла - найти время на что-то, что тебе нужно) мне было нужно решать задачи и научиться их решать, я до работы и после находил, на выходных, в то же время старался в зал ходить, гулять, чтоб еще и физическая активность была(но в моем случае легче конечно, тк детей нет, но уверен, что даже с детьми можно что-то придумать, хотя бы по 15-30 минут заниматься чем-то, что нужно тебе)
Полностью согласен, если нет сил решать задачу, я читал статьи, если нет сил читать, то смотрел как решают задачи.
ну и сама работа должна быть адекватной, чтоб ты не выгорал, а оставались силы после работы что-то делать)
:D к примеру)
Удивляет насолько легко люди говорят за всех) если бы не решал все эти задачи, я бы 100% завалил 99% интервью, смог бы решить задачи типа - узнать является ли строка палиндромом или анаграммой, не говоря уже о backtracking задаче после которой пришлось еще и binary search пройтись, чтоб решить задачу.
Зависит от того, где вы работаете, если строите сервисы по вычислению маршрутов и тп, где нужны знания алгоритмов, то да, со временем накопите опыт, иначе нет, у меня 8+ лет опыта, но ни разу не приходилось писать merge sort или алгоритм дейкстры и не смог бы решить задачи связанные с ними на интервью, а сейчас - пожалуйста.
Ну и нужно учесть изначальные знания, кого-то в школе учат программировать на Pascal, а кого-то печатать в word(мой случай)
Согласен, навык прохождения интерфью - это отдельный навык, который нужно прокачивать, относится к кодингу, к сисдизу, к бихейву и тд
Но в то же время это не бесполезные знания, которые совсем не пригодятся в работе
я понимал, что я писал, но нет предела совершенству, теперь чуть больше знаю как оптимизировать, что лучше использовать в тех или иных случаях.
речь тут не про то, что решение алгоритмов тебе дает суперсилу, это просто фундамент, который по идее нужно было изучать еще давно, но у меня руки дошли сейчас
не понял вопрос)
отвечу иначе - в итоге научился решать задачи, больше знаний по структурам данных, начал проходить успешно кодинг интервью
Это один из примеров, чему научился решая алгоритмические задачи.
Насчет 600 задач - это скорее не о том, что я такой крутой и решил 600 задач, а наоборот, тк некоторым достаточно даже 100 задач решить, чтоб понять все то, что я понял после решения 600 задач.
Не пойму негативного настроя) этот пост не для сторожил и не для тех, кто щелкает задачи как орешки, а для таких же как и я, которым недостаточно мотивации, которые думаю, что у них ничего не получится, которые не знаю с чего начинать, какие ресурсы использовать и тд
Точное время не скажу, но если коротко, то:
1. ~час утром и вечером
2. на выходных до 4-6 часов
Пока мне этого не понять, может вы и правы)
Нужно понимать, что люди разные, одному достаточно 1 раз прочесть про алгоритмы и понять, а другим необходимо по 10 раз перечитывать, чтоб до них это дошло)
В случае с алгоритмами я второй тип, некоторые задачи решал по 10-15 раз, тк каждый раз упускал какой-то момент.
И да, мне пришлось решить >600 задач, чтоб почувствовать уверенность в своих силах, но читал, что некоторым достаточно решать 100 задач, некоторым достаточно 300
согласен полностью)
это фундамент, без которого можно обойтись, но с ним ты станешь только лучше, поэтому во всех вакансиях Гугла на инженерную позицию, требуют опыт структур данных и алгоритмов от года и больше, тк любой может взять и выучить какой-нибудь ЯП и написать на нем что-то, но вот понимать как оно под капотом работает и как эффективнее использовать ту или иную структуру знают не все(в том числе и я когда-то, сейчас хотя бы лучше понимаю)
Армения и Лондон
На данный момент нет, есть работающие пет проекты над которыми работать сейчас нет мотивации
Дети у стоматолога? - берем планшет/книгу и читаем, изучаем пока им лечат зубы.
Я примерно так и делаю, отвез жену на почту - потратил 5-10 минут ожидания на чтение, пошли в ТЦ, пока жена что-то выбирает, сажусь на скамейку и читаю. Я к тому, что при должной мотивации время можно найти(встать на полчаса раньше, к примеру)
Согласен, при должной мотивации можно и больше решить)
Почему рано, если провалил только 1 вью из 5 в Meta? все кодинг сессии и бихейв прошел нормально, провалил сисдиз
Может быть, но это был не мой случай, я старший разработчик с большим опытом в разных областях(backend/fullstack/mobile/devops), но в основном backend.
Также есть примеры людей с богатым опытом в разработке, но которым тяжело удаются easy задачи на литкоде. На мой взгляд это отдельный навык, который нужно прокачивать.
Если вам или кому-то другому удаются задачи легко, я могу лишь позавидовать, тк мне это удалось с тяжелым трудом)
Старший разработчик, если я правильно понял вопрос(зубрежка чего?)
8+ лет, в разных компаниях.
Чтобы держать мозг в тонусе и нет пределу совершенства
Это уже азарт, хочется выше, дальше, быстрее)
Я думаю, что вы также как и я когда-то думаете, что кодинг интервью - это ненужная часть, что эти алгоритмы в обычной жизни не нужны и отчасти это правда, потому что в основном ты делаешь что-то, чему это не нужно(если ты не разрабатываешь сервис для построение маршрутов и тд), но сейчас начал чуть иначе смотреть на код, недавно оптимизировал один метод, который занимал O(N^2) время, сейчас занимает O(N), но да, потребляет O(N) память, в данном случае это было оправдано, тк память лишняя есть, а вот метод вызывался часто и каждая секунда на счету.
Ты не пытаешься использовать везде массив, а уже смотришь в сторону очередей, стека и тд.
Пока еще в процессе поиска, но уже прошел не одну кодинг интервью, где были как medium , так и hard задачи. Из последних - прошел Avito, Meta(провалил сисдиз этап, сейчас бросил усилия на эту часть).
Если бы не начал решать эти задачи, то с вероятностью 99.9% я бы провалил все кодинг интервью