es
Feedback
💻 Coding interviews in a nutshell

💻 Coding interviews in a nutshell

Ir al canal en Telegram

Разбор задач для собеседований, по одной каждую неделю. У микрофона Виктор @vitkarpov. ex-Amazon, ex-Yandex

Mostrar más
5 859
Suscriptores
+924 horas
+477 días
+16730 días
Archivo de publicaciones
👋 Happy Friday! По вторникам, в 20 часов по Москве, решили стримить с Тиной Думилиной (твитерским привет 👋) — в прямом эфире будем решать задачу с литкода, по пути обсуждать разработку, холиварить, и вот это всё. https://youtu.be/i0mEzjgetmo Первая ласточка уже полетела, в прошлый раз решали очередную задачу на sliding window, но в конце заговорили про «бинарную магию» и вот следующий стрим будем разбираться с «ёлочками» в джаваскрипте. Зачем нужны операторы бинарного сдвига, что такое маски, как можно легко решить задачу про поиск всех сабсетов с помощью ноликов и единичек.

Happy Monday! 👋 На этой неделе находим первую и последнюю позиции числа в отсортированном массиве. https://www.youtube.com/watch?v=od5kVTR5t4w

Happy Friday! 👋 Продолжаем решать задачи на sliding window с Тиной Думилиной, задача этой недели — собрать максимальное количество очков снимая карты из колоды сверху и снизу. https://www.youtube.com/watch?v=Wsr1jFHp9x0

За последнее время несколько человек спрашивали могу ли я посоветовать ментора для подготовки к собеседованиям в FAANG. Спойлер: Да. Расскажу историю. В своё время я занимался с Фёдором Меньшиковым (@FyodorMenshikov), и это помогло, кратко расскажу как это работает. Далее по тексту «клиент» — я, а «тренер» — Фёдор. Клиент и тренер согласуют набор задач. У меня был один первоначальный созвон по скайпу, чтобы познакомиться, определиться с уровнем (предлагается решить задачку) и целями — что хочется получить от этих занятий в итоге. Для клиентов начального уровня у тренера есть список избранных Easy задач с Leetcode. Для более продвинутых могут быть разные стратегии подготовки, например, можно идти по уменьшению степени популярности задачи в компании, куда клиент хочет подаваться (на Leetcode есть статистика если оплатить подписку). Думаю, что у Фёдора есть ещё парочка стратегий про запас, из опыта. После согласования стратегии клиент решает задачи, а тренер помогает. Далее, по каждой задаче, возможен один из трёх вариантов. 1. Клиент решил задачу и сдал на Leetcode, тогда тренер смотрит код, смотрит оценки алгоритмической сложности в комментариях к коду - и отмечает, что можно улучшить, а также иногда просит найти решение с улучшенными показателями сложности. Иногда на этом этапе удаётся найти недопонимание клиента относительно сложности работы тех или иных языковых конструкций. 2. Клиент застрял в решении, вроде какой-то код есть, но сдать не выходит - тренер может подобрать небольшой тест, который поможет в отладке и понимании где логика хромает. 3. Клиент не придумал решение задачи - в этом случае он обсуждает с трененом различные подходы, получает подсказку (в крайнем случае, полный код решения, но обычно так не делают, потому что не ясно какой толк). Всё общение протекает в письменном виде, асинхронно, обычно в пулл-реквестах на Bitbucket (в приватном репо). Фёдор гарантирует ответ в течение 24 часов, но в моем случае было в течении часа-двух. Количество задач, над которыми идёт работа, зависит только от клиента. Я специально узнал, что по стоимости сейчас, потому что я занимался несколько лет назад. Сейчас это — 24 тысячи рублей в месяц. Если интересно, пишите Фёдору в личку, благословение на этот пост я взял 😊

Happy Monday! 👋 Открываем второй сезон, про бинарный поиск. На этой неделе решаем задачу Peak Index in a Mountain Array. https://www.youtube.com/watch?v=eH_vqboPfX4

Новость-молния для тех, кто планировал попасть на летнюю стажировку в Яндекс, но откладывал подачу заявки — мы продлеваем сро
Новость-молния для тех, кто планировал попасть на летнюю стажировку в Яндекс, но откладывал подачу заявки — мы продлеваем сроки набора до 5 июля⚡️ Но это ещё не всё. Чтобы вы могли провести это время с пользой и лучше подготовиться к одному из самых сложных этапов собеседований — приглашаем на тренировки по алгоритмам! Вас ждёт четыре недели лекций и домашних заданий — с ответами на ваши вопросы и разборами решений задач. Занятия бесплатные и пройдут онлайн со 2 по 30 июня. Это возможность подтянуть свои знания перед подачей заявки или разобрать ошибки с прошлых собеседований и подготовиться к следующему отбору. Присоединяйтесь! Программа тренировок и регистрация: https://clck.ru/Uwor2

Happy Friday! 👋 Открываем новый формат — литкодим с Тиной Думилиной (tinathedev) 💻 Тина выпускница и амбассадор Яндекс.Практикума, и сейчас стажируется фронтендером в Яндексе. В этом видео разбираемся с такой штукой как sliding window, небольшая теоретическая вставка, а потом переходим к поиску анаграмм в строке. https://www.youtube.com/watch?v=UVXjrl31RFU

Привет, вопрос в связи с последними изменениями формата, как удобнее получать разборы задач?
Anonymous voting

Happy Monday! 👋 На этой неделе будем удалять k цифр числа так, чтобы получить наименьшее возможное число. Жадный алгоритм, решение со стеком. https://www.youtube.com/watch?v=LBuObFA3h2g

Happy Friday! 👋 Помимо разборов задач по понедельникам записываю теорию по структурам данных. В этом видео говорю про стек, про сложность, и даже зачем-то реализую стек на плюсах. https://www.youtube.com/watch?v=u1keZtyEx7A

Happy Monday! 👋 Задача этой недели — сделать строчку великой (опять). Нужно рекурсивно удалить все пары «плохих» символов. Спойлер: снова стеки. https://www.youtube.com/watch?v=RrzsZLgbyVM

Happy Monday! 👋 Продолжаем решать задачи на стеки, на этой неделе — вычисляем выражения в обратной польской нотации. https://www.youtube.com/watch?v=AtVhd6ISayc

Happy Monday! 👋 Прохожу тренинги для интервьюеров в Амазоне. Вот вам парочка инсайтов о том, какие сигналы собираются на интервью. 👉 Понимание проблемы По статистике, одна из самых частых ошибок — люди начинают решать какую-то другую задачу, не ту, что спрашивает интервьюер. Я не имею в виду, что кандидат «выучил решение». Это скорее про то, что люди придумывают алгоритм исходят из какого-то одного, чаще всего, удобного примера. Понятное дело, что в таком случае и алгоритм получается неверный. Умение сперва задать правильные вопросы и понять «а точно ли мы должны этого хотеть» (👋 Яндексу, где очень крутые коллеги научили меня задавать этот вопрос) — важное умение в работе над реальными продуктами (по крайней мере теми, которые через полгода не превратятся в лапшу). Это первый сигнал, который должен получить интервьюер. 👉 Коммуникация Ошибку, которую часто допускают люди — начать сыпать терминами в духе «ну тут вкрутим граф, тут отсортируем на всякий случай, тут мемоизацию используем», на самом деле не понимая до конца а точно ли это всё здесь нужно. Умение объяснить простыми словами так, чтобы было понятно — важное умение. Аналогично и в работе над реальными продуктами. Можно начать «обмазываться кубернетисом» не до конца понимая зачем, а потом всё это долго и мучительно поддерживать. Это второй сигнал, который должен получить интервьер. 👉 Умение писать код на выбранном языке На собеседования на разработчика приходит довольно много людей, которые как бы всё понимают, но написать не могут. 🤷 Если кандидат 5 лет каждый рабочий день пишет код на определённом языке, то вряд ли он забудет как объявить переменную или какую-то функцию из стандартной библиотеки, верно? Кстати, писать на доске или в гуглодоке, без автокомплитов и богатых IDE, это просто способ получить сигнал чище. Последний сигнал – умеет ли человек с естественного языка перевести на язык программирования, выразить идею в коде. Если кандидат пишет «на фреймворках» или на сниппетах со Stack Overflow, то на данном этапе это должно быть видно. PS. Еженедельные разборы переезжают на YouTube — https://www.youtube.com/playlist?list=PLtRFPaw3fD55QtDdLVruhKa0M9Wv1l3SR с фокусом на более простые, но важные для построения фундамента, задачи. Прямо сейчас решаем задачи на стек (сезон 1), stay tuned! 🎬

Happy Saturday! 👋 В новом, экспериментальном еженедельном формате на YouTube, я выкладываю записи своих уроков по алгоритмам на JavaScript для «тех кто входит в IT» 💻 — https://www.youtube.com/playlist?list=PLtRFPaw3fD55QtDdLVruhKa0M9Wv1l3SR, никаких предварительных знаний не требуется. Разбираемся с нуля. «Алгосики для самых маленьких» могут быть полезны если вы учитесь фронтенду без бекграунда в программировании. Уроки помогут развить алгоритмическое мышление и научиться в «нативный джаваскрипт». Синьоры-🍅, расскажите тем кто только входит в профессию.

Happy Monday! 👋 На этой неделе будем перебирать пути в матрице чисел. Задача на обход в глубину и мемоизацию. https://vitkarpov.me/posts/longest-inc-path-in-a-matrix/

Happy Monday! 👋 Задача этой недели — Ones and Zeroes, из апрельского челенджа на LeetCode. Стараюсь показать ход мыслей: начнём с того, почему жадный алгоритм не работает и перейдём к решению через динамическое программирование. https://vitkarpov.me/posts/ones-and-zeroes/

Всем привет! 👋 Как научиться дизайну систем, который нужен для устройства в топовые ИТ компании? Нужен опыт, который можно получить в тех самых топовых компаниях — замкнутый круг. Коллеги из Яндекса и Фейсбука запускают проект для решения этой проблемы: https://nerdia.io/ — это симулятор работы в IT-компании. Записывайтесь в альфу, должно быть любопытно.

Happy Monday! 👋 Возьму перевыв в разборах на недельку-другую, а пока — решаем мартовский челендж, по задаче каждый день https://leetcode.com/explore/challenge/card/march-leetcoding-challenge-2021/. В чате обсуждаем решения, добавляйтесь если ещё нет https://t.me/ctci_chat_ru

Happy Monday! 👋 На этой неделе будем определять является ли указанное дерево двоичным деревом поиска. Хорошая задача на рекурсию и деревья, разберём два решения. https://vitkarpov.me/posts/validate-binary-search-tree/

Всем привет! 👋 Не мог пройти мимо и не поделиться ссылкой на прекрасный, 5 часовой (!) подробный видос по динамическому программированию. Alvin Zablan из Coderbyte рассказывает про 4 классические задачи: Фибоначчи, количество путей в матрице, сумма из списка чисел (размен монет), конкатенация слова из словаря. https://www.youtube.com/watch?v=oBt53YbR9Kk Отличное поставка задач, рисунки деревьев с анимациями, реальный код в редакторе с комментариями — качество подачи материала огонь. Часть этих задач я разбирал у себя в блоге, поэтому было любопытно сравнить подходы. PS. Изначально ссылкой поделились в чате канала, так я узнал про курс. Добавляйтесь если ещё нет, там интересно и полезно! :-)