Happy Monday! 👋
Продолжаем решать задачи по списку, на этой неделе разбираем — Can Place Flower (https://bit.ly/34Tx43J). Я даже не знаю как это перевести чтобы не смешно было (но в статье всё равно сделал это) 🙂
Продолжаем решать задачи по списку, на этой неделе разбираем — Can Place Flower (https://bit.ly/34Tx43J). Я даже не знаю как это перевести чтобы не смешно было (но в статье всё равно сделал это) 🙂
vitkarpov on Notion
Can Place Flowers
Можно ли посадить цветы
Мой хороший друг и бывший коллега в Яндексе, Олег Громов, завёл Telegram-канал. У Олега необычный путь в разработке: Яндекс, учёба в США, удалённая работа в Америке и переезд в Швецию, а теперь вот и работа в Facebook в Лондоне. Про разработку, свои проекты, жизнь — подписывайтесь, должно быть интересно!
👋 ! Любопытно узнать как читают посты, потому что переходов по ссылкам в ноушен относительно мало.
Final Results
45%
Я перехожу по ссылкам и читаю разбор задач
29%
Я читаю только тизер в телеграме, по ссылкам не хожу
16%
Я не читаю вообще, открываю чтобы сбросить непрочитанные
10%
Другое (пишите в чатик канала или личку)
Как вообще можно попасть на собеседование в Microsoft, Amazon, Google или Facebook?
Хочу поделиться лайфхаком, который работал для меня.
Во-первых, оформляем резюме на LinkedIn. Уже на этом этапе вы можете попасть на радары рекрутеров, в какой-то момент астрологи объявляют месяц найма и рекрутеры особенно активизируются.
Ну а что делать если никто не пишет, не ждать же у моря погоды, верно? И вот он лайфхак. Находим на LinkedIn людей, которые работают в нужных вам компаниях и пересекаются с вами каким-то образом: скажем бывшие коллеги, или учились в одном вузе, ну или наконец просто тоже русскоговорящие — тут главное, чтобы было с чего начать разговор.
В моем случае я нашёл бывших коллег из Яндекса, с которыми лично не знаком, но все равно было легко добавиться в друзья, поспрашивать как там работается, и, в итоге, попросить рекомендацию (рефер). Это значит, что сотрудник компании рекомендует вас рекрутеру напрямую, передавая резюме. Правда, это никак не влияет на сами собеседования далее. Обычно люди охотно делятся реферами, в случае вашего найма — им премия 🙂
Через несколько дней рекрутер вам напишет, в том числе и с отказом, если ваше резюме не подходит, т.е. в любом случае вы получаете обратную связь. Отправляя заявку через форму на сайте, обычно ответа не дождаться.
Хочу поделиться лайфхаком, который работал для меня.
Во-первых, оформляем резюме на LinkedIn. Уже на этом этапе вы можете попасть на радары рекрутеров, в какой-то момент астрологи объявляют месяц найма и рекрутеры особенно активизируются.
Ну а что делать если никто не пишет, не ждать же у моря погоды, верно? И вот он лайфхак. Находим на LinkedIn людей, которые работают в нужных вам компаниях и пересекаются с вами каким-то образом: скажем бывшие коллеги, или учились в одном вузе, ну или наконец просто тоже русскоговорящие — тут главное, чтобы было с чего начать разговор.
В моем случае я нашёл бывших коллег из Яндекса, с которыми лично не знаком, но все равно было легко добавиться в друзья, поспрашивать как там работается, и, в итоге, попросить рекомендацию (рефер). Это значит, что сотрудник компании рекомендует вас рекрутеру напрямую, передавая резюме. Правда, это никак не влияет на сами собеседования далее. Обычно люди охотно делятся реферами, в случае вашего найма — им премия 🙂
Через несколько дней рекрутер вам напишет, в том числе и с отказом, если ваше резюме не подходит, т.е. в любом случае вы получаете обратную связь. Отправляя заявку через форму на сайте, обычно ответа не дождаться.
Happy Monday! 👋
На этой неделе ищем поддеревья — https://bit.ly/3bJPDKy
Рассказываю про сериализацию, подробнее про сложение строк (спойлер: это не O(1)) и рекурсивный вариант решения.
PS. У канала есть чат, если хочется обсудить прочитанное и не только (работает кнопка "discuss").
На этой неделе ищем поддеревья — https://bit.ly/3bJPDKy
Рассказываю про сериализацию, подробнее про сложение строк (спойлер: это не O(1)) и рекурсивный вариант решения.
PS. У канала есть чат, если хочется обсудить прочитанное и не только (работает кнопка "discuss").
vitkarpov on Notion
Subtree of Another Tree | Notion
Дерево внутри другого дерева
Как правильно читать Cracking the Coding Interview
Недавно услышал следующее: «я прочитал весь Cracking the Coding Interview год назад и сейчас уже ничего не помню, открыл LeetCode на днях и не смог решить ни одной задачки». Не правильно вы читаете, дядя Фёдор.
В какой-то момент, для себя, я выработал следующий алгоритм «как правильно читать Cracking the Coding Interview» и он же подходит и для подготовки на LeetCode:
- сперва попробую решить сам;
- если совсем ничего не придумывается через полчаса — смотрю подсказку;
- если не получается ещё через полчаса — смотрю решение.
Есть некоторые общие принципы, техники, структуры данных, и надо научиться определять «что будет работать в данной задаче». Понимание приходит после некоторых мучений над задачей, пока наконец не наступает «aha moment».
По-моему, прогресс на втором шаге: когда уже полчаса помучился, получил инсайт и догадался до полного решения сам.
Если решаешь сразу сам, то задачки слишком простые — планку надо поднимать. Если приходится смотреть чужой код — планку надо опускать, рано для таких задач. Как я уже сказал, по-моему, прогресс где-то между.
А вы как «читаете LeetCode», помните свои aha-моменты? 🙂
Недавно услышал следующее: «я прочитал весь Cracking the Coding Interview год назад и сейчас уже ничего не помню, открыл LeetCode на днях и не смог решить ни одной задачки». Не правильно вы читаете, дядя Фёдор.
В какой-то момент, для себя, я выработал следующий алгоритм «как правильно читать Cracking the Coding Interview» и он же подходит и для подготовки на LeetCode:
- сперва попробую решить сам;
- если совсем ничего не придумывается через полчаса — смотрю подсказку;
- если не получается ещё через полчаса — смотрю решение.
Есть некоторые общие принципы, техники, структуры данных, и надо научиться определять «что будет работать в данной задаче». Понимание приходит после некоторых мучений над задачей, пока наконец не наступает «aha moment».
По-моему, прогресс на втором шаге: когда уже полчаса помучился, получил инсайт и догадался до полного решения сам.
Если решаешь сразу сам, то задачки слишком простые — планку надо поднимать. Если приходится смотреть чужой код — планку надо опускать, рано для таких задач. Как я уже сказал, по-моему, прогресс где-то между.
А вы как «читаете LeetCode», помните свои aha-моменты? 🙂
Happy Monday! 👋
Задача этой недели — развернуть слова в строке (https://bit.ly/2z4w6py), без дополнительной памяти.
Разберём in-place решение и какие нужно сделать допущения для решения на JavaScript.
Задача этой недели — развернуть слова в строке (https://bit.ly/2z4w6py), без дополнительной памяти.
Разберём in-place решение и какие нужно сделать допущения для решения на JavaScript.
vitkarpov on Notion
Reverse Words in a String | Notion
Развернуть слова в строке
Happy Monday! 👋
На этой неделе будем искать пропущенные числа в массиве — https://bit.ly/2zog22e
Показываю постепенный переход от простого решения к решению без дополнительной памяти, стараюсь показать ход мыслей, который, на мой взгляд, соответствует реальному интервью.
PS. Нас ровно 2^8 человек, совпадение? Не думаю! 😉 Спасибо, что читаете.
На этой неделе будем искать пропущенные числа в массиве — https://bit.ly/2zog22e
Показываю постепенный переход от простого решения к решению без дополнительной памяти, стараюсь показать ход мыслей, который, на мой взгляд, соответствует реальному интервью.
PS. Нас ровно 2^8 человек, совпадение? Не думаю! 😉 Спасибо, что читаете.
vitkarpov on Notion
Find All Numbers Disappeared in an Array | Notion
Найти пропущенные числа
Happy Monday! 👋
На этой неделе будем двигать битики, складывая два числа не используя операторы + и - → https://bit.ly/2LPwjQN
Поговорим про & и ^ в JavaScript и немного про 2s-complement представление отрицательных чисел.
На этой неделе будем двигать битики, складывая два числа не используя операторы + и - → https://bit.ly/2LPwjQN
Поговорим про & и ^ в JavaScript и немного про 2s-complement представление отрицательных чисел.
vitkarpov on Notion
Sum of Two Integers | Notion
Сложить два числа
Happy Monday! 👋
На этой неделе складываем слова из букв — https://bit.ly/2TyEncG
Немного затрагиваю ASCII и separation of concerns (читаем код как книгу).
На этой неделе складываем слова из букв — https://bit.ly/2TyEncG
Немного затрагиваю ASCII и separation of concerns (читаем код как книгу).
vitkarpov on Notion
Find Words That Can Be Formed by Characters | Notion
Можно ли сложить слова из данных символов
Happy Monday! 👋
На этой неделе ищем «пик» в массиве — https://bit.ly/2ZRDLD7
Говорим про правильные вопросы которые помогают понять задачу и пишем бинарный поиск.
На этой неделе ищем «пик» в массиве — https://bit.ly/2ZRDLD7
Говорим про правильные вопросы которые помогают понять задачу и пишем бинарный поиск.
vitkarpov on Notion
Peak Index in a Mountain Array
Найти пик
Happy Monday! 👋
На этой неделе пишем HashSet с нуля — https://bit.ly/3dDuTF7
Как работают хэш-таблицы (наши любимые словари под капотом), что такое хэш-функции и коллизии.
Постарался рассказать как можно практичнее, без «рассмотрим 10 лемм прежде чем перейти к теореме».
На этой неделе пишем HashSet с нуля — https://bit.ly/3dDuTF7
Как работают хэш-таблицы (наши любимые словари под капотом), что такое хэш-функции и коллизии.
Постарался рассказать как можно практичнее, без «рассмотрим 10 лемм прежде чем перейти к теореме».
vitkarpov on Notion
Design HashSet
Написать свой HashSet
Happy Monday! 👋
Задача этой недели – K-й наибольший элемент в потоке (https://bit.ly/3cZpKGd)
Плавно переходим к решению с кучей и сравниваем с наивным решением через сортировку, разница на порядок.
Задача этой недели – K-й наибольший элемент в потоке (https://bit.ly/3cZpKGd)
Плавно переходим к решению с кучей и сравниваем с наивным решением через сортировку, разница на порядок.
vitkarpov on Notion
Kth Largest Element in a Stream
Найти K-й наибольший элемент в потоке
Happy Monday! 👋
Задача этой недели — обойти N-ичное дерево в глубину (https://bit.ly/2YRTiAC)
Посмотрим на разные варианты обхода: preorder, postorder, inorder (и зачем они нужны),
напишем рекурсивное и итеративное решения.
Задача этой недели — обойти N-ичное дерево в глубину (https://bit.ly/2YRTiAC)
Посмотрим на разные варианты обхода: preorder, postorder, inorder (и зачем они нужны),
напишем рекурсивное и итеративное решения.
vitkarpov on Notion
N-ary Tree Preorder Traversal
Обход N-чного дерева (N-ary Tree) в глубину
Happy Monday! 👋
На этой неделе посмотрим на технику «скользящего окна» — https://bit.ly/3dOKnpe
Нужно найти наибольшую непрерывно возрастающую подпоследовательность.
Задача простая, тем не менее хорошо иллюстрирует суть техники. Так же даю ссылки на другие задачи по теме.
На этой неделе посмотрим на технику «скользящего окна» — https://bit.ly/3dOKnpe
Нужно найти наибольшую непрерывно возрастающую подпоследовательность.
Задача простая, тем не менее хорошо иллюстрирует суть техники. Так же даю ссылки на другие задачи по теме.
vitkarpov on Notion
Longest Continuous Increasing Subsequence | Notion
Наибольшая непрерывно возрастающая подпоследовательность
Друзья, следующая задача — последняя из списка 27 задач для начинающих. В итоге, получился неплохой сборник решений, который знакомит с форматом интервью.
Имеет ли смысл продолжать? На очереди список medium/hard задач, которые уже приближены по уровню к реальным интервью на последнем этапе, онсайте. Создам опрос, чтобы узнать ваше мнение о формате.
Имеет ли смысл продолжать? На очереди список medium/hard задач, которые уже приближены по уровню к реальным интервью на последнем этапе, онсайте. Создам опрос, чтобы узнать ваше мнение о формате.
Что думаете о разборе задач, имеет ли смысл продолжать?
Final Results
73%
я бы хотел получать разборы в том же формате (более сложных задач)
3%
я бы хотел получать разборы, но в другом формате (напишите, плз, в личку свой фидбек)
20%
честно, не слежу за разборами (канал висит на мьюте)
4%
хочу узнать результаты опроса (мне всё равно)
Happy Monday! 👋
Задача этой недели — подстричь бинарное дерево поиска (https://bit.ly/2YZvs7f).
Получилось аккуратное рекурсивное решение.
Это последняя задача в серии, весь список целиком — http://bit.ly/2GJijp7.
Спасибо всем, кто читает. Думаю продолжать в том же духе, но с более сложными задачами.
Задача этой недели — подстричь бинарное дерево поиска (https://bit.ly/2YZvs7f).
Получилось аккуратное рекурсивное решение.
Это последняя задача в серии, весь список целиком — http://bit.ly/2GJijp7.
Спасибо всем, кто читает. Думаю продолжать в том же духе, но с более сложными задачами.
vitkarpov on Notion
Trim a Binary Search Tree
Подстричь бинарное дерево поиска
Happy Monday! 👋
Продолжаем серию разборов, но с более сложными задачами — теми, что реально попадаются на онсайтах.
На этой неделе будем играть в домино и тримино → https://vitkarpov.me/posts/domino-and-tromino-tiling/
PS. Решил из ноушена переехать на собственный сайт: больше контроля над вёрсткой, аналитика, да и в маркдауне исходный текст привычнее 😊
Продолжаем серию разборов, но с более сложными задачами — теми, что реально попадаются на онсайтах.
На этой неделе будем играть в домино и тримино → https://vitkarpov.me/posts/domino-and-tromino-tiling/
PS. Решил из ноушена переехать на собственный сайт: больше контроля над вёрсткой, аналитика, да и в маркдауне исходный текст привычнее 😊