Comments 25
Вы какие-то ужасы рассказываете, ну либо за последние годы требования серьезно выросли.
1000 задач - это уже серьзное задроство, которым имеет смысл заниматься только если нравится сам процесс. Мне кажется, что для получения оффера в FAANG это избыточно. Я никогда настолько сильно не задрачивался - решил, может быть, 100 или около того задач. В большинстве случае от соискателя и не ждут, что он сходу придумает решение на уровне победителя олимпиады и сразу накатает на доске безупречный код без единой ошибки, никуда не подглядывая. Цель таких собеседований - проверить способность соискателя анализировать и решать неизвестные задачи. Я во время подготовки просто утром выбирал какую-нибудь задачку и по дороге на работу не спеша обдумывал возможные подходы к ее решению. В большинстве случаев, когда добирался до работы, у меня уже было в голове какое-то решение. Естественно, оно почти всегда было прямолинейным и далеким от оптимального. Уже после этого начинал обдумывать, что в нем можно улучшить и как вписаться в требования по производительности. На собесах действовал точно так же, только шаг 1 проговариал вслух и потом так же анализировал вслух слабые места предложенного решания и возможные способы их устранения.
Но повторюсь, это было лет почти 10 лет назад, может быть, сейчас FAANG совсем зажрались и чтобы к ним попасть нужно действительно так заморочиться.
Спасибо, что поделились своим опытом!
Да, согласен, чтобы попасть в FAANG подобную компанию 1000 это слишком. В статье я пишу, что оптимально, если вы решили около 500, но подаваться можно и с 250 - 300.
И да, я думаю, что сложность собеседований скорее выросла, исходя даже из того факта, что сейчас желающих войти в айти гораздо больше, чем 10 лет назад, соответственно, больше желающих = более жесткий отбор.
А что, желающие войти вытаются сделать это через Фейсбук и Гугл?
А как отличить, что человек сам решил или просто зашел в решенное и скопировал решение и выдал за своё? То есть налицо без проблем сделать себе нужное.
Чето 500 это тоже овердофига. Есть мнение, что достатрчно 150.
Мне, если что, больше моих 104 решать уже лень.
Если на 49-ти задачах на уровне Нуб 100% задач – easy, то как на 51-ой задаче на уровне Новичок 70% оказываются уровня medium?
Во первых, статья заказная, реклама какого-то neetcode. Во вторых - я уже устал читать про количество задач. Можно за день скопировать хоть 2000 задач из форума который в одном клике рядом. Единственная метрика которой можно доверять - это рейтинг на контестах в том же литкоде, там условия приближенные к боевым - 4 задачи за полтора часа (из них 1-2 харда) считается время, потраченное на решение и решения не нагуглить. А просто количество задач - это ничто, фикция, меньше чем ничего.
Спасибо большое за статью! Очень информативно, особенно для самых маленьких и тупых, но целеустремленных
every day =)
А у меня стрик 1035 дней (2 года, 10 месяцев и 1 день). Жалко он там не рисуется нигде. И три футболки. https://leetcode.com/joric/
Вот, нашел статус подходящий, как на галя ру
https://line.romanticcollection.ru/ba/10_79b_5E83AF50_RyPneprerqvnoPreSaUPlitkodikPuZe_0_.gif
Если цель готовиться к собеседованиям то я бы добавил пару пунктов.
1. Разные компании спрашивают разные задачи, стоит поискать список задач для конкретной компании (за деньги можно посмотреть в премиуме литкода).
2. Решение на листочке или в базовом редакторе онлайн не имеет ничего общего с решениями в IDE без таймера.
>На этом этапе вам нужно стремиться к решению задачи оптимальным способом за 25 минут, потому что собеседующий может добавить follow up к задаче и вы должны его решить в изначальное отведенное время.
Я бы сразу начинал с 25 минут и белого листа.
3. Стоит повторять задачи, если вы полгода назад могли записать задачу на листе, не факт что сможете сегодня. Как минимум проговаривать как в пункте
>В начале, не написав ни строчки кода, вы должны объяснить, как вы будете решать эту задачу, какие алгоритмы и структуры данных будете использовать, какая сложность по времени и памяти у них.
Решение на листочке или в базовом редакторе онлайн не имеет ничего общего с решениями в IDE без таймера.
Вот труъ. Для собеседований нужно прокачивать стресс в первую очередь, а это контесты и моки. Все моё бесконтрольное "осознанное обучение" сводилось к тому что я копипастил решение очередной задачи и переходил к следующей, в 90% случаев. Ну и мозг ничего не запоминает толком без стресса.
А как себя оценить в случае если решаешь задачи а-ля Leetcode на том же Codeforces/Codechef/ACMP?
Это же как надо хотеть работать в какой-то компании, чтобы буквально угробить кучу времени на какой-то суррогат знаний? За время, потраченное на решение даже сотни задач, можно изучить раздел математики и стать гораздо более ценным специалистом, умеющим решать реальные задачи, а не проходить собеседования в фейсбук.
Успокойтесь, А* с нейросетями лучше вас в алгоритмах и в программировании)
https://arxiv.org/abs/2006.08381
И всего 10-40 секунд на среднюю задачу из SyGuS. (на CPU)
Что вы собираетесь делать? Устраиваться в Twitter?
Или в чудо-Гугл?)
А что делать, если даже самая простая задача на ЛитКоде кажется просто страшной и темным лесом?
И насколько сильно в решении задач на ЛитКоде решает знание математики?
Потому что мне начинает казаться, что топовых программистов как раз и выделяет знание математики.
(я недавно в айти)
Интересно, а какой уровень нубятины вот такое?
Уровень 5. Бог. Решенных задач 1000+
Уровень 6. Ascended being. Прорешал Euler+ на hackerrank.
"Вы должны пострадать на этом уровне" - я так понимаю вариант "учиться с у довольствием" не предусмотрен?
From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5