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

У микрофона Виктор @vitkarpov. ex-Amazon, ex-Yandex
Download Telegram
💻 Coding interviews in a nutshell pinned «О чём этот канал? Всем привет! Меня зовут Виктор. Я увлекаюсь алгоритмами, всякими олимпиадными задачками (решил ~250 задач на LeetCode, если вам это о чём-то говорит). Собеседовался в крупные западные компании: Amazon, Google, Facebook, Microsoft. В итоге…»
Happy Monday! 👋

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

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

Задача на этой неделе — определить является ли одна строка анаграммой другой (https://www.notion.so/Valid-Anagram-84ee94987be34cf2898addad80f93d20). По ходу решения поговорим про хэш-таблицы и кодировки.
Нас уже 89 человек, это очень круто! 🎉 Хочу немного познакомиться, для этого запущу несколько опросов.
Какой ваш основной язык программирования?
Final Results
44%
JavaScript/TypeScript
27%
C/C++/Rust
5%
PHP
15%
Java & JVM languages
8%
Python
Про мок-интервью

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

Если у вас есть клуб единомышленников, с которыми можно регулярно собираться и проводить собеседования друг другу — это идеальный вариант. Например, как минимум, один такой клуб есть в Москве. Кстати, если кто-то посещал его или организовал подобное в своём городе — напишите, плз, про свой опыт: очень любопытно.

Недавно я писал про LeetCode, что за сервис и как им пользоваться при подготовке к собеседованиям. После мне написала бывшая коллега из Яндекса с замечанием: «LeetCode это хорошо, но почему не говоришь про мок-интервью и сервис Pramp?». Исправляюсь.

Сервис pramp.com даёт возможность потренироваться с коллегами по всему миру. Прямо в браузере у вас есть видео- и аудиосвязь, редактор кода с возможностью совместного редактирования, и задачи, которые вы должны задать друг другу (решение своей задачи вы получаете за сутки до встречи).

Даже если с решением алгоритмических задач проблем у вас нет, всё равно стоит воспользоваться сервисом. И вот почему:

- английский язык: «разговориться», привыкнуть к акцентам, подтянуть термины (например, как будет O-большое от эн, округление с недостатком/избытком, оператор [], два в степени n и т.д.);
- в роли интервьюера вам нужно направить человека, дать правильную подсказку, поняв где он буксует — для этого вам придётся хорошо разобраться в решении задачи, которую вы будете задавать;
- привыкнуть к формату: 5 минут рассказ про себя (который будет отлетать от зубов через пару раз), вникнуть в задачу, задать вопросы, предложить тесты, обсудить сложность предлагаемого решения.

Как-то так. Кстати, тренироваться можно и с другом: сервис позволяет сгенерировать ссылку на комнату, которую можно просто пошарить. Если кому-то интересно потренироваться вместе со мной — пишите в личку 😉
Happy Monday! 👋

На этой неделе будем разворачивать бинарное дерево – https://www.notion.so/Invert-Binary-Tree-f22b253e9e234ed5b6ae1d007f9f082c.
Да-да, та самая задача из-за которой автора Homebrew, по его собственным словам, не взяли в Google.
Happy Monday! 👋

На этой неделе разбираемся с изоморфными строками — https://www.notion.so/Isomorphic-Strings-cc8bc767e0104dfda754111f553336f4
Вспомним что такое инварианты, а так же классический приём при работе со строками — т.к. алфавит сильно ограничен, то можно использовать массивы вместо Map & Set.
Привет, хочу поделиться любопытной статьей: чувак собеседовался в 5 разных компаний в Долине так, что онсайты были каждый день в течение недели. Моё путешествие с одного онсайта в Лондоне, в понедельник, на другой онсайт в Эдинбурге, в четверг — просто детская забава 😆 В статье есть дельные советы по подготовке. Так же есть перевод на русский на Хабре.
Happy Monday! 👋

На этой неделе считаем количество простых чисел не превосходящих nhttp://bit.ly/2ICBfGU. Кажется, классическая задача.

Разберём подробнее «магическое» ограничение «искать надо до корня из `n`», от брутфорса плавно перейдём к решету Эратосфена. Есть и другие, кстати, поэтому даю ссылку на статью для тех кому сильно интересны простые числа.

Если у вас есть твитер и желание помочь в распространении контента — вот ссылка на твит, буду благодарен 😊
Привет! Если вы вдруг, как и я, кроме программирования изучаете английский язык, не могу не посоветовать видео на YouTube собственного исполнения — https://www.youtube.com/watch?v=lrRLLqAurXc. Разбираю задачу Implement Trie (Prefix Tree) с LeetCode. Дайте, пожалуйста, фидбек: интересен ли такой формат или нет ничего лучше чтения.
Happy Monday! 👋

Задача этой недели: поиск «счастливого числа» — https://bit.ly/2UcaZcV
Рекурсия и практическое применение «поиска цикла в связном списке».
Ссылка на твит.
Аттракцион невиданной щедрости, Udacity даёт доступ ко всем курсам бесплатно на месяц. А то на карантине скучно. Stay safe!

https://www.udacity.com/courses/all
С первого апреля на LeetCode стартует «контест» продолжительностью в месяц! Как раз к карантину 😊 Будет выдаваться одна задача в день. Каждая решенная задача соотвественно увеличивает рейтинг и начисляет литкоины, можно за них мерч прикупить 😃 https://leetcode.com/discuss/general-discussion/551411/30-day-leetcoding-challenge
Happy Monday! 👋 На это неделе вращаем массив — https://bit.ly/2UNqreG. Сравним несколько вариантов решений: от брутфорса к хорошей сложности.