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

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

👋Новопришедшие, читайте закрепленный пост
Download Telegram
🧩 Задача 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
Еще раз привет!

😅 Я как-то плавно обошел знакомство, поэтому наверстываю упущенное.
Меня зовут Тибеев Тимур, мне 30 лет, senior backend engineer в Яндексе, по совместительству тимлид бэкендеров в продуктовой команде. Больше года провожу алгоритмические секции и последние полгода провожу финальные интервью в команды.

UPD: Я уже бывший Яндексоид и нынешний Канванафт (Canva, Sydney)

🎓 Закончил Костанайский казахско-турекцкий лицей. Бакалавр сделал в Suleyman Demirel University, магистратуру в Nazarbayev University.

🦾 Участвовал в олимпиадах по программированию, призер республиканских и международных соревнований. Доходил до полуфинала ACM среди студенческих команд. Сейчас иногда участвую в онлайн контестах, но это больше как хобби.

👩‍🚀 Участвовал в Google Summer of Code, как студент и два раза как ментор. Некоторое время усиленно занимался opensource проектом Checkstyle, еще заопенсорсил sdk для сервиса Toloka.

Этой весной и летом подавал в разные компании свою кандидатуру, вот мои результаты:
⁃ Meta (London) - прошел предварительный online coding, заморозили найм.
⁃ Amazon (Germany) - прошел все интервью, получил офер на L5, отказал
⁃ Google (Zurich) - прошел все интервью, получил офер на L4, отказал
⁃ Revolut (Porto) - прошел все интервью, получил офер на middle/senior, отказал
⁃ Bolt (Talinn) - прошел все интервью, получил офер на senior, отказал
⁃ Canva (Sydney) - прошел все интервью, получил офер на senior, принял

🙅 Я не сильно готовился к собеседованиям, совершал ошибки, как следствие не везде смог получить высокую оценку. Я слишком стар, чтобы опять начинать расти из мидла вверх, поэтому решил, что лучше потрачу время, чтобы наполнить резюме значимыми показателями и улучшить свои навыки прохождения интервью.

🤞 Моя цель на следующий год получить офер от Google на уровень L6, в принципе поэтому и появился этот канал, чтобы делиться опытом подготовки и самому получать опыт от других ребят. Вместе идти к целям интереснее и легче.

Будем знакомы 🖖
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍131
Оферы за 2 дня 🏃‍♂️

Обычно весь процесс интервью занимает от пару недель до месяца.
Не всем это подходит, поэтому компании иногда проводят hiring event, где за короткое время собеседуют множество кандидатов и сразу могут предложить офер.

Яндекс не исключение, они периодически проводят такие события и скажу они пользуются спросом.

👾 29-30 октября будет Weekend Offer Backend для бэкенд разработчиков.
Что нужно сделать, чтобы попасть?
- до 26 октября решить 4 задачи на платформе Яндекс.Контекст
- 29 октября пройти два онлайн собеседования с инженерами Яндекса
- 30 октября получить офер и познакомиться с командой
Все полностью онлайн!

👨‍💻 Даже если вы не планируете устраиваться в Яндекс, это все равно шанс прокачать свои навыки прохождения интервью, попробуйте получить максимально выгодный офер. Вас никто не заставит потом подписывать с ними контракт, но зато получите приличный буст к самооценке 😅

Больше информации тут:
https://yandex.ru/promo/events/weekend-backend-291022
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥1👍1👎1