FAANG зовет! | Работа в ИТ от $100К в год
371 subscribers
49 photos
2 files
54 links
Канал о поиске и подготовке к работе в ИТ в Европе с зарплатой от $100К в год

Контакты: @srgpan
Download Telegram
Самый популярный follow-up вопрос на интервью в Meta и Amazon

Всем привет! Прорабатываем сейчас с менти тему алгоритмов и структур данных (DSA), и я понял, что могут быть трудности с ответом на самый популярный follow-up вопрос на интервью в Meta и Amazon.

Итак, вы написали решение алгоритмической задачи, проверили решение. И интервьюер вас спрашивает: 'Какая у вас time & space complexity?'

Для ответа на вопрос про time complexity для любого алгоритма, можно использовать такой подход, который хорошо работает для меня:

1) определить переменную для размера входных данных, ту самую 'n' (размер массива, количество вершин графа и т.п.)

2) понять, сколько шагов в алгоритме

3) дать 'цену' для каждого шага (постоянная работа - константа, цикл - число повторений, известные операции типа сортировки - n log n, бинарный поиск log n)

4) просуммировать 'цены' всех шагов, беря в расчет только 'порядок' роста (константа + константа = константа, n + n = n, n + n^2 = n ^2)

5) Сказать это словами как O(n) ('Big O of n')

С этим подходом, зная 'цену' (сложность) стандартных операций вроде поиска в хеш-таблице (константа, ищется за постоянное время, оно же О(1)), можно без зубрежки уверенно отвечать на этот главный follow-up интервьюеров.

Для space complexity еще проще - нужно оценить объем памяти для дополнительных структур данных, которые вы используете. Выразить это в привязке к длине входных данных.

Например, на входе массив из n элементов и вы его копируете в другой массив такого же размера у вас в коде - space complexity будет O(n).

Тонкий момент касается рекурсий - вы вроде как в явном виде не создаете новых структур данных, но при рекурсии в памяти создается стек вызова и ваша space complexity будет равна размеру этого стека.

⚠️ Важное уточнение: говоря о такой сложности, нужно различать среднюю и worst-case сложности.

Для worst-case сложности вам надо сначала сформулировать, что это такое:

Например, искомый элемент в массиве находится в самом конце и при поиске сначала мы его найдем, только просмотрев все n -1 остальных элементов.

Или дерево, у которого у каждого узла всегда по 1-му потомку - тогда оно превращается в линейный список и поиск в глубину (DFS) для поиска числа в конечном листе этого дерева, должен будет пройти все n узлов.

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

👉@faangiscalling
--------------------------------
Было интересно? Подпишитесь и поделитесь с друзьями!👋
TelegramYouTube
🔥21
Пример one-pager CV инженера из React Core Team (Meta, Google)

Я сейчас работаю над новой фичей в React DevTools и увидел там много кода, написанного Брайаном Воном (Brian Vaughn).

Я решил узнать о нем больше и нашел его персональный сайт, где есть его резюме.

📝 Это резюме - хороший пример one-pager, который вы можете использовать как образец.

Ссылка на CV: https://www.bvaughn.me/resume.pdf

👉@faangiscalling
--------------------------------
Было интересно? Подпишитесь и поделитесь с друзьями!👋
TelegramYouTube
🔥6
Отвечайте себе на этот вопрос для подготовки к behavioral-интервью

Behavioral-интервью сделаны не только для того, чтобы сбить с толку и завалить хороших инженеров 🙂

Это оценка уровня зрелости и уровня самоанализа человека.

Популярные follow-up вопросы интервьюера после вашего описания ситуации/истории:

"Какие выводы/уроки вы из этого сделали? Что бы вы сделали по-другому?"

Задавайте себе эти вопросы еженедельно к происходящим на работе (да и в жизни) ситуациям. Это развивает навык самоанализа и позволяет выйти на уровень зрелости, который ожидается на behavioral-интервью в Big tech.

⚠️ Мой менеджер на работе тоже любит задавать такой вопрос всем инженерам – чтобы это не выглядело, как критика с его стороны и навязывание каких-то решений, а чтобы ты сам подумал и сам себе сказал, что можно сделать лучше в следующий раз. Это правильный подход.

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

👉@faangiscalling
--------------------------------
Было интересно? Подпишитесь и поделитесь с друзьями!👋
TelegramYouTube
👍4
PostHog (опен-сорс аналитика) набирает 55 человек на full-remote 🕺🕺🕺
Привет! PostHog, полностью remote команда, разрабатывающая опен-сорс решение для продуктовой аналитики. Оценка компании – $1.4 млрд. Зарплаты инженеров - $100K+ в год.

Помимо чисто аналитики там уже и FeatureFlags и AI и еще много всего.

Они подняли раунд на $75 млн неделю назад и начали активно искать 55 (!) человек себе в команду в последнем квартале этого года.

Много product engineer (они продвигают эту роль активно как компания), backend полей.

✌️Full remote, при этом.

🔗 Полный список и подача на вакансии: https://posthog.com/teams/talent

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

👉@faangiscalling
--------------------------------
Было интересно? Подпишитесь и поделитесь с друзьями!👋
TelegramYouTube
1
Разбираемся с Git раз и навсегда 👨‍💻

На пути к '10х инженеру' разобрался с тем, как работает Git, чтобы вам не нужно было.

После этого 10-минутного видео у вас будет много 'a-ha' моментов - и вы начнете 'чувствовать' Git как ваш собственный код.

100 строк на Python с основными командами, которые мы используем каждый день:
- git init
- git add
- git commit
- git log
- git checkout

Разобравшись с Git за 10 минут, вы будете ближе к работе вашей мечты.

Видео:
https://youtu.be/p5CTL2s2Xno

Репозиторий: https://github.com/spanarin/nano-git

👉@faangiscalling
--------------------------------
Понравилось? Подпишитесь и поделитесь с друзьями!👋
TelegramYouTube
👍1
🔗 Полезное: бесплатный курс Английского для Айтишников 🧑‍💻👩‍💻

Мне попалась полезная ссылка от ребят из freeCodeCamp - можно довести Английский до уровня А2 и получить сертификат бесплатно.

Уровень А2 - довольно базовый, хорошо подойдет для тех, кто только начинает.

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


🔗Узнать подробнее и начать учиться: https://www.freecodecamp.org/news/freecodecamps-a2-english-for-developers-certification-is-now-live/

👉@faangiscalling
--------------------------------
Понравилось? Подпишитесь и поделитесь с друзьями!👋
TelegramYouTube
🔥3
Мой первый off site в Париже 🇫🇷

А рядом оказалось кафе Monocle, в которое я давно хотел сходить – ведь кофе это моя страсть 🥳 Monocle – это такой красивый лайфстайл журнал из Лондона.

Последние несколько лет я работал удаленно из Франции – сначала на AI-стартап в Лондоне 🇬🇧 , потом на B2B SaaS скейлап из Цюриха🇨🇭, который автоматизирует документооборот по ипотеке для швейцарских банков с активами в $30 млрд.

Я соскучился по людям и нашел работу с офисными днями в Париже – в AI акселераторе крупнейшей французской фармкомпании Sanofi (выручка $50 млрд, 70 тысяч сотрудников в 70 странах).

На прошлой неделе у меня был первый off site с командой в самом центре Парижа – было классно! Ты сворачиваешь с одной из самых туристических улиц и среди красивых османовских домов находится бизнес-центр, где мы работали. Продуктивно поработали, много обсуждали AI. Получилось очень по-парижски – работаешь и наслаждаешься красотой.

В перерыве заглянул в Monocle, но понял, что я 'перерос' это место ☕️

👉@faangiscalling
👍3
Митап NVIDIA в Париже 🇫🇷

В Париже сейчас очень много митапов по AI, недавно был от Claude Code у нас в офисе, а тут сама NVIDIA организовывала - захотел сходить.

Темы были очень технические, без маркетинга:
- HuggingFacе рассказывали про новую библиотеку для kernels
- Mistral рассказывал про особенности оптимизации перформанса с учетом их архитектуры с mixture of experts
- NVIDIA про Dynamo (их опен-сорс аналог vLLM)

Из инсайтов:
- сама NVIDIA активно работает с ключевыми клиентами, помогая им оптимизировать под их железо
- более кастомные архитектуры дают дополнительный уровень сложности примерно везде


👉@faangiscalling
🔥1