Happy quarantine! 👋 Задача на этой неделе — проверить можно ли сделать массив неубывающим изменив не более 1 элемента. (https://bit.ly/34idii3).
vitkarpov on Notion
Non-decreasing Array | Notion
Неубывающий массив
Первая неделя 30-Day LeetCoding Challenge закончена. Учавствуете? Если хотите обсудить решения задач (любых 😉) — добро пожаловать в чат для (лит)кодеров: https://t.me/joinchat/BM7LSxcZZGr0YlLbBT-ixQ
Несколько человек спрашивали про английский язык: как учу и всё такое. Как раз недавно пришли результаты IELTS, пока свежо — написал про это пост: https://www.instagram.com/p/B-E9_DmoSFl/
Instagram
Viktor Karpov
Про английский язык. На днях сдавал IELTS для рабочей визы, результат — overall score 7.0 (Good user), уровень C1. Самое время сделать дамп своих мыслей по поводу изучения английского. Первый раз собеседование на английском у меня было летом 2016 года, в…
Happy Monday! 👋
На этой неделе будем сливать бинарные деревья — https://bit.ly/34AFtsW
Рассмотрим рекурсивный и итеративный варианты решения. Stackoverflow это не только сайт, но и исключение 😉, поэтому итеративный вариант может оказаться полезным.
На этой неделе будем сливать бинарные деревья — https://bit.ly/34AFtsW
Рассмотрим рекурсивный и итеративный варианты решения. Stackoverflow это не только сайт, но и исключение 😉, поэтому итеративный вариант может оказаться полезным.
vitkarpov on Notion
Merge Two Binary Trees
Слияние двух деревьев
Хочу порекомендовать канал Фёдора Меньшикова, автора книги «Олимпиадные задачи по программированию». Фёдор ведёт канал на YouTube «3.5 задачи в неделю», где разбирает в прямом эфире (с чатиком) по одной задаче раз в 2 дня. Я сам занимался с Федей индивидуально, когда активно готовился к собеседованиям. https://t.me/it_interviews
Telegram
LeetCode Problems
You will get one leetcode problem every 2 days. Also you can LeetcodeBot to own telegram group.
По всем вопросам и предложениям обращаться @emil_dev и @FyodorMenshikov
По всем вопросам и предложениям обращаться @emil_dev и @FyodorMenshikov
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-й наибольший элемент в потоке