💻 Coding interviews in a nutshell
7.4K subscribers
24 photos
214 links
Разбор задач для собеседований, по одной каждую неделю.

У микрофона Виктор @vitkarpov. ex-Amazon, ex-Yandex
Download Telegram
February 2, 2020
February 2, 2020
На этой неделе будем объединять два отсортированных массива. Задача по форме похожа на объединение двух отсортированных списков, которую мы разбирали ранее.

Посмотрим на брутфорсное решение, а после модифицируем его до решения без дополнительной памяти, что ожидается на собеседовании за «дополнительный плюс в карму».
February 2, 2020
Про мой опыт собеседования с Амазоном: сколько заняло времени, как общался с рекрутером, примерно что спрашивали и что отвечал — https://leetcode.com/discuss/interview-experience/498867/Amazon-or-SDE2-(Front-End)-or-Edinburgh-UK-or-Jan-2020-Offer
February 4, 2020
February 4, 2020
Задача этой недели про «доминантный» элемент, звучит-то как! Это мой вольный перевод слова majority, а найти нужно число, которое повторяется больше половины длины массива раз.

В этой задаче я привожу небольшой экскурс в «О-большое», два разных решения для оценки трейд-офов, а так же алгоритм Бойера-Мура, который со всех сторон оптимальный, но есть и обратная сторона медали — относительно сложный для понимания.

Обычно, на собеседовании это не ожидается, но будет жирным плюсом в карму, конечно. Главное помнить, что время ограничено и нужно успеть написать код и протестировать, что с «хитрыми алгоритмами» может занять больше отведённого под секцию времени.
February 10, 2020
О чём этот канал?

Всем привет! Меня зовут Виктор. Я увлекаюсь алгоритмами, всякими олимпиадными задачками (решил ~250 задач на LeetCode, если вам это о чём-то говорит). Собеседовался в крупные западные компании: Amazon, Google, Facebook, Microsoft. В итоге, устроился в Amazon, в Эдинбурге 🇬🇧

Еженедельно публикую статьи рассчитанные на 5-10 минут чтения и разбора кода и, возможно, ещё немного времени для чтения «дополнительной литературы», ссылки на которую я буду стараться давать где это имеет смысл. Код написан на JavaScript в императивном стиле, и, в основном, без использования специальных конструкций языка, так что выглядит почти как С 😉

Пока задач 27, из списка на LeetCode, который был подготовлен кем-то из комьюнити на форуме и многими одобрен как «отлично подходящий для начинающих». К сожалению, оригинальная тема на форуме пропала, но список я успел сохранить себе.

Кроме общих задач, таких как конвертер римских чисел, есть задачи на определённые темы: списки, деревья, хеш-таблицы, sliding window, и даже одна задача про дизайн хэш-таблицы с нуля.

Кроме самих решений я буду стараться сопровождать все небольшим экскурсом в используемые структуры данных, как например в задачах про списки.

Можно смело писать в личку в Телеграме, буду рад обсудить задачи, ответить на вопросы и просто пообщаться 😊
February 10, 2020
February 10, 2020
Happy Monday! 👋

На этой неделе реализуем свой стек с функций min, которая возвращает минимальный элемент на стеке — https://www.notion.so/Min-Stack-4061d04ad12f4223b7de592196f91805

Я рассматриваю две разные реализации и сравниваю время рантайма на LeetCode — отличие на порядок, что явно демонстрирует разницу между O(n) и O(1) 😊
February 17, 2020
Happy Monday! 👋

Задача на этой неделе — определить является ли одна строка анаграммой другой (https://www.notion.so/Valid-Anagram-84ee94987be34cf2898addad80f93d20). По ходу решения поговорим про хэш-таблицы и кодировки.
February 24, 2020
February 27, 2020