All streams
Search
Write a publication
Pull to refresh
38
0
Suleiman Dibirov @idsulik

Senior Software Engineer

Send message

в яндексе как раз были простые алгоритмы, которые я смог решить будучи не готовым к собеседованию)
а вот если вы прошли в ФААНГ, то это не значит, что у других тоже такой же уровень знаний. как и писал тут в комментах, одни в школе информацтии печатают в word-е, когда другие уже учатся программировать.
спефицика хабра видимо, что много крутых разработчиков, которые думаю, что все такие и не принимают других))

А к binary search, graph traversal можно самому прийти?) вряд ли кто-то впервые увидел отсортированный массив и подумал, что можно использовать бинарный поиск, также вряд ли, что кто-то увидел граф и подумал, что можно использовать стэк для обхода в глубину и очередь для обхода в ширину. Это такие же знания, которые нужно приобрести, как и алгоритм дейкстры, да , алгоритм дейксты более сложный алгоритм, нежели другие, но и тому и другому надо научиться) кто-то делает это в школе, кто-то в универе, а кто-то Я) в работа никогда не пригодилось, но теперь я все это знаю и могу пройти большинство кодинг интервью, то есть цель выполнена)

https://habr.com/ru/articles/786184/comments/#comment_26374766

кабанчик(designing data-intensive applications)
Alex Xu(System design volume 2)
Видео на ютуб(interview-pen, exponent, ...)
Статьи

Есть и большая, я решал на php/go/java и после видео на канале neetcode решил попробовать решать на python и это был свежий глоток воздуха, потому что ты не тратишь время на большие конструкции как в Java(List<Integer> items = new ArrayList<>()), не вспоминаешь как в php функцию передавать аргументы, потому что там хаос, в случае с go нужно конвертировать в разные типы, что тоже отнимает время и теряется читабельность.
Python очень лаконичен, есть встроенные функции, которые упрощают работу и на кодинг интервью ни разу не отказывали, когда я спрашивал можно ли использовать встроенную функцию подсчета символов(collections.Counter), к примеру. То есть ты тратишь время только на саму задачу, а не на конструкцию языка.

Но с простотой порой приходит и проблема - я один раз потратил кучу времени, тк не мог понять, почему код работает неправильно, хотя все выглядит правильно, оказалось, что сделал опечатку в имени переменной и python создал новую переменную, но это редкость.

Очень рекомендую для задач python, легко изучить и использовать

ощущение, что все мы работаем в одной сфере и над одним проектом)
почему нет предположения, что один люди работают в гейм дев, где нужна геометрия, физика, другие разрабатывают трейдинговые системы, где нужны алгоритмы, а третьи перекладывают json

Сравнение не очень правильное, тк алгоритмы и структуры данных сделают тебя только лучше как инженера, а знание анекдотов повысят твои soft skill-ы(в зависимости от анекдотов и их уместности).

чем binary tree отличается от binary search tree? зачем balanced tree, если есть обычне деревья? почему MySQL использовать btree дерево, а не binary search tree? почему в некоторых случаях лучше использовать array, а в некоторых linked list?


Мне вот помогло) прошел уже несколько и уверен, что в других не потеряюсь, потому что уже знаю куда двигаться, что можно использовать, как можно подойти к решению задачи, какие вопросы можно задать и тд

кровельщику нужно знать фундамент кровельных работ, сишному инфраструктурщику знать фундамент в своей области) я это имел в виду

Смотря, что вам нужно) если устроиться в FAANG like компанию, то без этих знаний никуда не пойдешь, также в РФ в крупных компаниях спрашивают.
У меня была цель научиться решать и проходить кодинг интервью, но в процессе оказалось, что это полезно и интересно, сейчас продолжаю решать для души)

Завидую) если бы мне также легко удавалось, я бы точно не написал эту статью))

Я уже несколько раз объяснял, почему именно 600) не было цели решить конкретное количество задач, была цель решить столько задач, чтоб хватило для прохождения собеседований - я достиг этой цели, прошел кодинг интервью в разных компаниях.
Почему 600? Тоже ответил, кому-то нужно меньше, мне пришлось больше усилий приложить, видимо не слишком умен)

Я не в Армении, но да, Мета была готова релоцировать из моего текущего расположения в Лондон.
Гражданство РФ

Знать фундамент важно во всех областях)

результат - спокойно прохожу кодинг интервью)
фитнес для мозга)
понимания разных структур данных, алгоритмов, подходов, big O

Если в колледже все это усвоили, то остается только завидовать) у меня в универе было подобное, тот же алгоритм дейкстры, но тогда я не уделил этому внимание и сейчас далось все тяжело, тк пришлось все изучить.
После 5 задач на хард - это сильно, мне бы так

Поэтому я решил написать эту статью и дать направление таким же как и я)
Все самое полезное, что я нашел оставил в статье, но мне к сожалению пришлось все собирать по крупицам.
Но да, согласен, если бы более структурировано делал, то быстрее получилось бы, один из советов начинать с низов и потихоньку двигаться в сторону сложных структур, я же пытался то на массивы решать задачи, то деревья, то графы и даже динамическое программирование и backtracking

сейчас мне тоже легко удаются easy, но когда начинал с большим трудом решал и все время хотелось плакать от своей тупости. на данном этапе уже интереснее medium решать и поглядывать на hard, в идеале интересно было бы участвовать в contest-ах и занимать какие-то места, чисто ради удовольствия)

да, тут нужно отталкиваться от конкретной задачи и ситуации, порой что-то пишешь временно, а оно остается навечно, а порой что-то пишешь очень хорошо и потом это нужно переделывать, потому что бизнес решил не делать этого) натыкался и на то и на другое, и притом неоднократно

да, порой heap поможет быстрее решить задачу, нежели сортировать данные, что обычно занимает nlogn время
а насчет количества, тут уже все индивидуально, кому-то достаточно 50 задач решить, чтоб понять все, кому-то 200-300, а кому-то все 600 и больше

Information

Rating
Does not participate
Registered
Activity