Тимур Тибеев | BigTechDream – Telegram
Тимур Тибеев | BigTechDream
2.15K subscribers
99 photos
5 videos
1 file
337 links
Senior Backend Engineer @ Canva
Бывший Яндексоид

🧑🏻‍💻Пишу про карьерный рост в IT
📚Делюсь советами, как пройти собеседования в MAANG
👨‍🏫Обучаю алгоритмам и структурам данных

👋Новопришедшие, читайте закрепленный пост
Download Telegram
👁‍🗨 Каковы шансы устроиться в Google?

🥵 Каждый год в Гугл приходят порядка 3 млн откликов по ваканисиям, из них компания нанимает только 20 тысяч кандидатов. Вероятность получить оффер 0.67%!!! Статистически больше шансов поступить в Harvard или Stanford, чем устроится в Google.

🧑‍🏫 Прежде, чем допустить к system design и googlyness интервью, кандидата несколько раз пропустят через фильтр problem solving. Поэтому этот этап является ключевым. Если кандидат не проходит его или проходит неубедительно - это красный флаг .

🎥 Поэтому в пятницу будет первый стрим, посвященный теме "Что хочет услышать интервьюер?"
Разберем следующие темы:
- ⛹️ На каких платформах можно тренироваться
- 👩‍💻 Как решать, куда нажимать
- 🙅 Методология по алгоритмической секции: как не провалить собеседование
- 🙋‍♀️ Еще проведем пару пробных интервью на желающих

🗓 Время: 14 октября, 20:00 по Астане

🤍Лайки, репосты привествуются 🙂

☝️Добавляйте событие в календарь, чтобы не пропустить.
https://calendar.google.com/event?action=TEMPLATE&tmeid=NmE5dHRnYnNsNm9sNzB1c2JyZW5pamhobmIgNzI5ZjQ1NzUwNjg3MTU0NGJhZTQ2M2Q1YWQxZjM2ZTUwOGViNTQ0MmU5Y2Y0MjliZGJkYjk0OWQzZjYyNjZkZEBn&tmsrc=729f457506871544bae463d5ad1f36e508eb5442e9cf429bdbdb949d3f6266dd%40group.calendar.google.com
👏5👍1
🧩 Задача 7/200

Задача на геометрию, сколько точек лежат внутри круга?
Не очень люблю такие задачи, потому что требуют не логики, а знаний конкретных формул. Но кто сказал, что они не могут попасться на интервью 🥲
https://leetcode.com/problems/queries-on-number-of-points-inside-a-circle/
Сложность: Средняя, Процент успешных попыток 86.5%

#problemoftheday
👍2
😎 Если вы целитесь на уровень выше middle, то практически в любой компании будут вопросы по дизайну систем.

🏚 Если вы не сталкивались с такими, то вот вам пример - "придумайте архитектуру мессенджера".

🛠 Требуется обосновать выбор технологий и протоколов, нагрузку и узкие горлышки. Вопросы открытые и как правило на них нет "правильных" ответов.

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

🪜 Хорошим начальным курсом будет материал от educative. Покрывает основные понятия и разбирает наиболее частые вопросы, аля задизайнить "Twitter" или "Instagram".
https://www.educative.io/courses/grokking-the-system-design-interview
👍2👌1
🧩 Задача 9/200

Сегодня интересная задача, довольно больше похожа на архитектурную секцию. 👷
Нужно реализовать класс, который может кодировать строку в короткую ссылку, а также уметь возвращать обратно изначальную строку.
https://leetcode.com/problems/encode-and-decode-tinyurl/
Сложность: Средняя, Процент успешных попыток 85.7%

#problemoftheday
🔥3
Тимур Тибеев | BigTechDream
👁‍🗨 Каковы шансы устроиться в Google? 🥵 Каждый год в Гугл приходят порядка 3 млн откликов по ваканисиям, из них компания нанимает только 20 тысяч кандидатов. Вероятность получить оффер 0.67%!!! Статистически больше шансов поступить в Harvard или Stanford…
Всем привет! 👋

🤳 Напоминаю, что сегодня в 20:00 по Астане будем стрим, пройдемся по темам:
- ⛹️ На каких платформах можно тренироваться
- 👩‍💻 Как решать, куда нажимать
- 🙅 Методология по алгоритмической секции: как не провалить собеседование
- 🙋‍♀️ Еще проведем пару пробных интервью на желающих

Ссылку на звонок скину чуть позже.
🍾2👍1
Доброй пятницы 🍺
Пришла новость, в Astana Hub запускается программа Beta Career для помощи трудоустройства в IT отрасли. Пишут, что и готовят в FAANG👨‍💻.

📨 Выжимка из письма:

Beta Career - это комплексная онлайн программа, которая поможет Вам успешно пройти собеседование и другие этапы оценки кандидатов, а также расскажет о том, как начать и построить успешную карьеру в IT.

Курс подходит для студентов, выпускников колледжей/вузов и начинающих IT-специалистов.

На курсе собраны самые важные и актуальные инсайты, советы и рекомендации от ведущих отраслевых экспертов!


Кому интерсно, вот ссылка. Если кто будет участвовать, пожалуйста поделитесь фидбеком потом 🙂.
https://astanahub.com/l/betacareer2022
🙏1
👋 Всем доброго понедельника. На стриме предложили хорошую идею, каждую неделю посвещать определенной теме.
Эта неделя будет про строки. Пока элементарные операции над строками, со временем усложним на более продвинутые алгоритмы.

🧩 Задача 11/200

https://leetcode.com/problems/rotate-string/
Сложность: Легкая, Процент успешных попыток 54.0%

Необходимо узнать, можно ли из первой строки получить вторую, путем смещения одного символа влево.
Попробуйте решить за линейное время и без создания дополнительной строки.

#problemoftheday
🔥2
💣String

Частой ошибкой является предположение, что операции над строками ничего не стоят:
- конкатинация строк это тоже самое что сложение двух чисел
- или проверка на вхождение подстроки, тоже самое что и хэштаблицах
- или сравнение строк делается за единицу времени 😅

👍 Но стоит относится к строкам больше как к массивам из символов (чем они по сути и являются), соотвественно они наследуют все плюсы и минусы массивов. То, что приведу ниже относится больше к java, но скорее всего в других ЯП примерно также.

1️⃣ Доступ к элементу: s.charAt(i), s[i]
Время O(1).
Тоже самое, что и для массива. Есть указатель на начало массиво, который смещается на i символов вправо, это довольно быстрая операция для процессора.

2️⃣ Добавление символа к строке: s = s + 'a'
Время O(N), Память O(N).
Нужно выделить память под новую строку, проитерироваться по всем символам и скопировать их.

3️⃣ Конкатинация двух строк: s = t + w
Время O(N + M), Память O(N + M).
Тоже самое, что и добавление символа, выделяем память равную сумме длинн. Копируем все символы из первой, потом из второй строки.

4️⃣ Проверка на содержание подстроки: s.contains(t), s.indexOf(t)
Время O(N * M).
Возможно в продвинутых языках используется более быстрая проверка на вхождение строки, но в большинство случаев используется посимвольное сравнение, два вложенных цикла.

5️⃣ Разворот строки: s = t.reverse()
Время O(N), Память O(N).
Выделяем память, вставляем символы в обратном порядке.

6️⃣ Сравнение строк: s.equals(t), s == t
Время O(N).
Посимвольно сравниваем строки.
👍6🥱1
🧩 Задача 12/200

https://leetcode.com/problems/string-to-integer-atoi/
Сложность: Средняя, Процент успешных попыток 16.6%

Нередко в ходе решения приходится парсить строку в число. Обычно это делается стандартными методами языка, но в данной задаче предлагается самому реализовать таковую. Удачи. 🤞

#problemoftheday
1
Public Chat

👀 Поступил запрос, что иногда хочется пообсуждать некоторые темы или просто пофлудить, и формат канала не очень под этого подходит.

Поэтому создал отдельную группу, добавляйтесь 👋

Задавайте вопросы, скидывайте мемы, делитесь материалами 😸

https://news.1rj.ru/str/bigtechdreampublic
👍1
Тимур Тибеев | BigTechDream pinned «Ресурсы для подготовки к system design интервью 👩‍🎓 Курсы: https://www.udemy.com/course/system-design-interview-prep/ https://www.educative.io/courses/grokking-the-system-design-interview https://www.coursera.org/specializations/software-design-architecture…»
Как научиться думать вслух 🗣

😷 На собесах нельзя молчать. Из уст всегда должны излагаться вопросы, идеи (даже тупые), решения.
Интервьюер хочет понять, как ты думаешь, насколько креативно подходишь к решению задач, умеешь ли объяснять свой код, не уходишь ли в лес. В идеале интервью от начала до конца должно проходить без пауз, все время нужно что-то говорить.
Большие молчаливые паузы это минус в финальный отчет кандидата.

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

👥 Поэтому я при подготовке к собесам использую https://www.pramp.com/. Бесплатный сервис, который матчит двух кандидатов и вы поочереди собеседуете друг друга. Ценен не фидбек второго кандидата, а то насколько ты можешь комментировать свое решение. Навык довольно быстро осваивается.
Вторая ценность pramp, это то, что твоим собеседующим может стать любой инженер с любым уровнем английского. Страх перед интервьюерами из Индии уходит буквально через пару звонков 🇮🇳.
👍5
Салем друзья! 👋

Новая неделя, новые идеи. 🙂

Появилась мысль подготовить довольно подробный план на 3-4 месяца по подготовке к Google и Amazon. И не просто решать задачи, читать посты/книги, а больше увязать получение знаний с текущий местом работы. Что это значит? сейчас объясню

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

Дизайн систем - тут тоже есть последовательность действий и некоторые необходимые базовые знания. Но очень хорошо тут заходит реальный опыт, поэтому синьоры обычно его лучше проходят, чем секцию с алгоритмами. А это значит, что ничего не мешает взять разобрать архитектуру вашего текущего проекта, попытаться нарисовать схему, попробовать найти узкие места и устранить их, или хотя бы подсветить для своего лида. Так же можно напроситься на проектирование какой-нибудь новой фичи, нового микросервиса, схем базы и так далее. По мне это лучше, чем просто рисовать абстрактные схемки для твитера, инстаграмма и так далее.

Ситуационные вопросы (behavioral questions) - для меня самая сложная часть собеседований. В отличии от двух предыдущих, тут не обойдись просто знаниями как правильно/неправильно, нужно рассказывать про свой реальный опыт из жизни. Поэтому легко попасть в ситуацию, когда начинаешь просто придумывать/подстраивать нерелевантный опыт под вопрос собеседующего. Мой главный инсайт после собеседований - ты уже на текущием месте работы должен следовать принципам Гугла/Амазона/Меты и просто нужно продемонстировать использование этих принципов на реальном интервью. Значит берем потенциальные ситуации и пробуем их спровоцировать на текущем проекте, нарабатываем необходимый опыт.

Подготовка резюме (CV screening) - тоже не люблю придумывать достижения на ровном месте, высасывать из пальца. Лучше наоборот, ввязываться в задачи, которые могут показать прирост пользователей/ускорение работы сервиса/больше денег бизнесу/управление командой. И отказываться от простых задач, которые несут ноль пользы твоему портфолио, рефакторинг кода, фикс багов, написание тестов и так далее.

Если кратко, то идея перевернуть игру. Стать тем, кто следует принципам лидерства Amazon уже сейчас. Стать гуглером, который временно работает в другой компании. Быть, делать, иметь.

Поделюсь, как накидаю шаблон. Stay tuned. 💻
🔥8👍1👏1