Happy Monday! 👋 На этой неделе будем искать пропущенные числа в массиве — https://bit.ly/2zog22e Показываю постепенный переход от простого решения к решению без дополнительной памяти, стараюсь показать ход мыслей, который, на мой взгляд, соответствует реальному интервью. PS. Нас ровно 2^8 человек, совпадение? Не думаю! 😉 Спасибо, что читаете.
Happy Monday! 👋 Задача этой недели — развернуть слова в строке (https://bit.ly/2z4w6py), без дополнительной памяти. Разберём in-place решение и какие нужно сделать допущения для решения на JavaScript.
Как правильно читать Cracking the Coding Interview
Недавно услышал следующее: «я прочитал весь Cracking the Coding Interview год назад и сейчас уже ничего не помню, открыл LeetCode на днях и не смог решить ни одной задачки». Не правильно вы читаете, дядя Фёдор.
В какой-то момент, для себя, я выработал следующий алгоритм «как правильно читать Cracking the Coding Interview» и он же подходит и для подготовки на LeetCode:
- сперва попробую решить сам; - если совсем ничего не придумывается через полчаса — смотрю подсказку; - если не получается ещё через полчаса — смотрю решение.
Есть некоторые общие принципы, техники, структуры данных, и надо научиться определять «что будет работать в данной задаче». Понимание приходит после некоторых мучений над задачей, пока наконец не наступает «aha moment».
По-моему, прогресс на втором шаге: когда уже полчаса помучился, получил инсайт и догадался до полного решения сам.
Если решаешь сразу сам, то задачки слишком простые — планку надо поднимать. Если приходится смотреть чужой код — планку надо опускать, рано для таких задач. Как я уже сказал, по-моему, прогресс где-то между.
А вы как «читаете LeetCode», помните свои aha-моменты? 🙂
На этой неделе ищем поддеревья — https://bit.ly/3bJPDKy Рассказываю про сериализацию, подробнее про сложение строк (спойлер: это не O(1)) и рекурсивный вариант решения.
PS. У канала есть чат, если хочется обсудить прочитанное и не только (работает кнопка "discuss").
Как вообще можно попасть на собеседование в Microsoft, Amazon, Google или Facebook?
Хочу поделиться лайфхаком, который работал для меня.
Во-первых, оформляем резюме на LinkedIn. Уже на этом этапе вы можете попасть на радары рекрутеров, в какой-то момент астрологи объявляют месяц найма и рекрутеры особенно активизируются.
Ну а что делать если никто не пишет, не ждать же у моря погоды, верно? И вот он лайфхак. Находим на LinkedIn людей, которые работают в нужных вам компаниях и пересекаются с вами каким-то образом: скажем бывшие коллеги, или учились в одном вузе, ну или наконец просто тоже русскоговорящие — тут главное, чтобы было с чего начать разговор.
В моем случае я нашёл бывших коллег из Яндекса, с которыми лично не знаком, но все равно было легко добавиться в друзья, поспрашивать как там работается, и, в итоге, попросить рекомендацию (рефер). Это значит, что сотрудник компании рекомендует вас рекрутеру напрямую, передавая резюме. Правда, это никак не влияет на сами собеседования далее. Обычно люди охотно делятся реферами, в случае вашего найма — им премия 🙂
Через несколько дней рекрутер вам напишет, в том числе и с отказом, если ваше резюме не подходит, т.е. в любом случае вы получаете обратную связь. Отправляя заявку через форму на сайте, обычно ответа не дождаться.
Мой хороший друг и бывший коллега в Яндексе, Олег Громов, завёл Telegram-канал. У Олега необычный путь в разработке: Яндекс, учёба в США, удалённая работа в Америке и переезд в Швецию, а теперь вот и работа в Facebook в Лондоне. Про разработку, свои проекты, жизнь — подписывайтесь, должно быть интересно!
Happy Monday! 👋 Продолжаем решать задачи по списку, на этой неделе разбираем — Can Place Flower (https://bit.ly/34Tx43J). Я даже не знаю как это перевести чтобы не смешно было (но в статье всё равно сделал это) 🙂
Хочу порекомендовать канал Фёдора Меньшикова, автора книги «Олимпиадные задачи по программированию». Фёдор ведёт канал на YouTube «3.5 задачи в неделю», где разбирает в прямом эфире (с чатиком) по одной задаче раз в 2 дня. Я сам занимался с Федей индивидуально, когда активно готовился к собеседованиям. https://t.me/it_interviews
Happy Monday! 👋 На этой неделе будем сливать бинарные деревья — https://bit.ly/34AFtsW Рассмотрим рекурсивный и итеративный варианты решения. Stackoverflow это не только сайт, но и исключение 😉, поэтому итеративный вариант может оказаться полезным.
Несколько человек спрашивали про английский язык: как учу и всё такое. Как раз недавно пришли результаты IELTS, пока свежо — написал про это пост: https://www.instagram.com/p/B-E9_DmoSFl/
Первая неделя 30-Day LeetCoding Challenge закончена. Учавствуете? Если хотите обсудить решения задач (любых 😉) — добро пожаловать в чат для (лит)кодеров: https://t.me/joinchat/BM7LSxcZZGr0YlLbBT-ixQ
Задача этой недели: поиск «счастливого числа» — https://bit.ly/2UcaZcV Рекурсия и практическое применение «поиска цикла в связном списке». Ссылка на твит.