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

У микрофона Виктор @vitkarpov. ex-Amazon, ex-Yandex
加入频道
Happy Friday! 👋

Открываем новый формат — литкодим с Тиной Думилиной (tinathedev) 💻 Тина выпускница и амбассадор Яндекс.Практикума, и сейчас стажируется фронтендером в Яндексе.

В этом видео разбираемся с такой штукой как sliding window, небольшая теоретическая вставка, а потом переходим к поиску анаграмм в строке.

https://www.youtube.com/watch?v=UVXjrl31RFU
Новость-молния для тех, кто планировал попасть на летнюю стажировку в Яндекс, но откладывал подачу заявки — мы продлеваем сроки набора до 5 июля⚡️

Но это ещё не всё. Чтобы вы могли провести это время с пользой и лучше подготовиться к одному из самых сложных этапов собеседований — приглашаем на тренировки по алгоритмам! Вас ждёт четыре недели лекций и домашних заданий — с ответами на ваши вопросы и разборами решений задач.

Занятия бесплатные и пройдут онлайн со 2 по 30 июня. Это возможность подтянуть свои знания перед подачей заявки или разобрать ошибки с прошлых собеседований и подготовиться к следующему отбору. Присоединяйтесь!

Программа тренировок и регистрация: https://clck.ru/Uwor2
За последнее время несколько человек спрашивали могу ли я посоветовать ментора для подготовки к собеседованиям в FAANG. Спойлер: Да. Расскажу историю.

В своё время я занимался с Фёдором Меньшиковым (@FyodorMenshikov), и это помогло, кратко расскажу как это работает. Далее по тексту «клиент» — я, а «тренер» — Фёдор.

Клиент и тренер согласуют набор задач. У меня был один первоначальный созвон по скайпу, чтобы познакомиться, определиться с уровнем (предлагается решить задачку) и целями — что хочется получить от этих занятий в итоге.

Для клиентов начального уровня у тренера есть список избранных Easy задач с Leetcode. Для более продвинутых могут быть разные стратегии подготовки, например, можно идти по уменьшению степени популярности задачи в компании, куда клиент хочет подаваться (на Leetcode есть статистика если оплатить подписку). Думаю, что у Фёдора есть ещё парочка стратегий про запас, из опыта.

После согласования стратегии клиент решает задачи, а тренер помогает. Далее, по каждой задаче, возможен один из трёх вариантов.

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

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

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

Всё общение протекает в письменном виде, асинхронно, обычно в пулл-реквестах на Bitbucket (в приватном репо). Фёдор гарантирует ответ в течение 24 часов, но в моем случае было в течении часа-двух. Количество задач, над которыми идёт работа, зависит только от клиента.

Я специально узнал, что по стоимости сейчас, потому что я занимался несколько лет назад. Сейчас это — 24 тысячи рублей в месяц. Если интересно, пишите Фёдору в личку, благословение на этот пост я взял 😊
👋 Happy Friday!

По вторникам, в 20 часов по Москве, решили стримить с Тиной Думилиной (твитерским привет 👋) — в прямом эфире будем решать задачу с литкода, по пути обсуждать разработку, холиварить, и вот это всё.

https://youtu.be/i0mEzjgetmo

Первая ласточка уже полетела, в прошлый раз решали очередную задачу на sliding window, но в конце заговорили про «бинарную магию» и вот следующий стрим будем разбираться с «ёлочками» в джаваскрипте. Зачем нужны операторы бинарного сдвига, что такое маски, как можно легко решить задачу про поиск всех сабсетов с помощью ноликов и единичек.
Happy Monday! 👋

Сезон про бинарный поиск идёт к концу, задача этой недели — найти индексы пары чисел в отсортированном массиве, которые в сумме дают определённое число.

https://www.youtube.com/watch?v=-0qaa-_VyCs

PS. Это классическая задача из видоса «как собеседуют в Гугл» (https://www.youtube.com/watch?v=XKu_SEDAykw)
Всем привет! 👋

Завтра, в 20 часов по Москве, уже третью неделю подряд будем литкодить и общаться с Тиной (https://twitter.com/tinathedev). Подумал, вместо того, чтобы смотреть кривой стрим на YouTube — а приходите сразу в зум! Мне кажется, что дискуссия может получиться более оживленной 😊

Viktor Karpov is inviting you to a scheduled Zoom meeting.

Topic: Литкодим с Тиной Думилиной @ Алгосики для самых маленьких
Time: Jun 15, 2021 06:00 PM London

Join Zoom Meeting
https://us02web.zoom.us/j/88572873777

Meeting ID: 885 7287 3777
Passcode: 5zfz1c
Happy Monday! 👋

Открываем третий сезон — divide and conquer. Первая задача найти самый часто встречающийся элемент в массиве. Решаем всеми способами: сортировка, счетчики, и «разделяй и властвуй».

Бонус: подробно говорим про понятия О-большого и сложности вообще.

https://www.youtube.com/watch?v=VgcBi3L321Y
Всем привет! 👋

Сегодня вторник, а значит вечером будем литкодить с Тиной!
Залетайте на стрим — https://www.youtube.com/watch?v=u0Wdjrpi7f4

Будем решать https://leetcode.com/problems/open-the-lock/, задачка на обход графа в ширину.

Или прямо в зум, если хочется активно участвовать 💪
Topic: Литкодим с Тиной Думилиной
Time: Jun 22, 2021 08:00 PM Moscow
https://us02web.zoom.us/j/81968945243
Passcode: 352391
На последнем стриме упоминал Пашу Маврина, с его методом доказательств «помашем руками». Просили скинуть ссылку, делюсь — https://www.youtube.com/channel/UC9WDkCyUlNTncq1Y-mFSgLQ

Имхо, лучшие лекции по алгоритмам. Всё очень подробно и с юмором, правда может быть несколько сложно для начинающих.

PS. В следующий вторник, в 20 часов по Мск, будем решать что-нибудь на деревья. Stay tuned! 😊
Очень любопытная рефлексия https://yangx.top/topizza/762, которая, наверное, совпадает с тем, почему я вообще стал упарываться по алгосикам.

По прошествии лет, кучи собесов, и почти года в Амазоне, понимаю, что это — желание доказать себе, что «я не тупой, я не просто менюху на реакте могу верстать, я умею в эти ваши графы, я и на взрослых языках могу писать». Увлекательно, но не must have.

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

Забейте на алгосики, не надо деревьями вращать если не кайф, не надо новые фреймворки учить каждую неделю: двигайтесь в своём темпе.

Вы как с синдромом самозванца, боретесь?
Happy Monday! 👋

Задача этой недели — quickselect, или находим k-ю порядковую статистику. Где квикселект, там и квиксорт, поэтому любопытно разобрать в рамках сезона про «разделяй и властвуй». Пожалуй, это уже классическая история.

https://www.youtube.com/watch?v=pf77IP4m3Kw
Leadership Principles

Саша Горин принёс в чатик прекрасный шаблон для подготовки к бехейв-секции в Амазоне (в целом, ответы универсальные).

На каждый принцип есть пример с ответом по методу STAR.

Наш чатик прекрасен 😊

https://www.notion.so/BE-Interview-8adc74cf14ad450fab3083e0633d2821#d4f0576593024ede834e6f2cef5f350e
Фил Ранжин пишет про «людей, которые сами себе проиндексируют - сменой работы» https://yangx.top/myobrechenychannel/349
А мне кажется, что это не так работает.

Собеседоваться — стресс, а ещё отдельный скилл. Не все ходят по собеседованиям и знают свою цену на рынке. Зачастую люди годами сидят с той самой «индексацией в 5%».

Зависимость удовлетворенность-от-работы/сколько-я-зарабатываю сильно нелинейная, логарифм получается. Есть плато на котором «деньги не важны» (шутка из твитера про то, что хочу зарабатывать столько, чтобы говорить всем, что деньги не приносят счастья) и влияют другие факторы: команда, продукт, технологии.

> «Типа, что, вот так взять и поднять человеку зп втрое, потому что бакс скакнул? Да.»

Если речь про компании из РФ, то, скорее всего, и зарабатывают они на русскоязычном рынке, а значит прибыль в три раза не увеличилась. Откуда деньги разработчикам?

Плюс, кажется, что компании в России не конкурируют за разработчиков с компаниями из условной Долины, где нормальная зарплата в пересчете на рубли может приближаться к мульту в месяц. Почему?

Не все знают хорошо английский, готовы к удалённой работе, и вообще знают, что «так можно было». Соответственно, если не поднимать зп, то как бы ничего и не произойдёт — ну какой-то незначительный процент людей заведут трактор, но не все.

Вы как, ходите по собеседованиям чтобы знать текущий курс козули?