Закат битовых задач в алгосах
Все началось с простой задачи:
Дан массив чисел nums. Каждое число повторяется 2 раза, кроме одного. Нужно найти это число
Естественно, все очень быстро выучили оптимальное решение: нужно сделать xor всех элементов и получится число
А решение вот такое:
P.S. Работает чисто на битовой магии и честном слове
——
Потом, значица, компании ультанули и насоздавали вот таких задачек:
https://leetcode.com/problems/single-number-ii/description/
https://leetcode.com/problems/single-number-iii/
И если за бугром такие задачки хоть как-то прижились, то у нас их могут решить, пожалуй, только олимпиадники и число провалов зашкаливало (после чего задачи из пула компании убирались - сам видел)
Да и нужны были они в основном системным программистам, ибо там каждый бит считают
——
И сейчас мы наблюдаем закат этого битового безумия
Кстати, в своем старом ролике (https://www.youtube.com/watch?v=MSrv3iH65ow) на Ютабчике разбирал прикольные подходы к таким задачкам
Так что если все еще считаешь биты, пока выходить на следующий уровень 🌭)
Все началось с простой задачи:
Дан массив чисел nums. Каждое число повторяется 2 раза, кроме одного. Нужно найти это число
Ввод: [1,3,2,1,2,8,8]
Вывод: 3
Естественно, все очень быстро выучили оптимальное решение: нужно сделать xor всех элементов и получится число
А решение вот такое:
def find_single(nums):
result = 0
for n in nums:
result ^= n
return result
P.S. Работает чисто на битовой магии и честном слове
——
Потом, значица, компании ультанули и насоздавали вот таких задачек:
https://leetcode.com/problems/single-number-ii/description/
https://leetcode.com/problems/single-number-iii/
И если за бугром такие задачки хоть как-то прижились, то у нас их могут решить, пожалуй, только олимпиадники и число провалов зашкаливало (после чего задачи из пула компании убирались - сам видел)
Да и нужны были они в основном системным программистам, ибо там каждый бит считают
——
И сейчас мы наблюдаем закат этого битового безумия
Кстати, в своем старом ролике (https://www.youtube.com/watch?v=MSrv3iH65ow) на Ютабчике разбирал прикольные подходы к таким задачкам
Так что если все еще считаешь биты, пока выходить на следующий уровень 🌭)
🌭34❤🔥5🍓2
Ну что, готов проектировать мессенджер?
А это, между прочим, ТОП-3 задачка на проектирование по популярности, встречающаяся в Т-Банке, Авито и Яндексе
Вся сложность системы связана с real time и просто офигительной нагрузкой
В требованиях RPS на чтение может улетать под 100 000, а на запись — под 12 000 и выше
В этом посте хочу разобрать, в какой БД все это хранить, на примере продакшен опыта Discord-а
1) Discord начал с MongoDB
НО!
Не прошло и года, как съехали на Cassandra, ибо индексы перестали помещаться в память и запросы выполнялись нестабильно по времени
2) С Cassandra переехали на ScyllaDB
ИБО Cassandra написана на Java, и GC стал сильно аффектить на большой нагрузке
А ScyllaDB — та же Cassandra, но написанная на C++
3) В общем, ScyllaDB FOREVER
До сих пор ее используют
Нагрузка у Discord-а такого же порядка: десятки тысяч RPS на запись и сотни тысяч на чтение
—-
В общем, на собесе не вздумай брать MongoDB, PostgreSQL или MySQL для мессенджера при десятках тысяч RPS на запись. Бери или Cassandra, или ScyllaDB
Ну и это, бахни 🌭, если хочешь еще посты с System Design тематикой
А это, между прочим, ТОП-3 задачка на проектирование по популярности, встречающаяся в Т-Банке, Авито и Яндексе
Вся сложность системы связана с real time и просто офигительной нагрузкой
В требованиях RPS на чтение может улетать под 100 000, а на запись — под 12 000 и выше
В этом посте хочу разобрать, в какой БД все это хранить, на примере продакшен опыта Discord-а
1) Discord начал с MongoDB
НО!
Не прошло и года, как съехали на Cassandra, ибо индексы перестали помещаться в память и запросы выполнялись нестабильно по времени
2) С Cassandra переехали на ScyllaDB
ИБО Cassandra написана на Java, и GC стал сильно аффектить на большой нагрузке
А ScyllaDB — та же Cassandra, но написанная на C++
3) В общем, ScyllaDB FOREVER
До сих пор ее используют
Нагрузка у Discord-а такого же порядка: десятки тысяч RPS на запись и сотни тысяч на чтение
—-
В общем, на собесе не вздумай брать MongoDB, PostgreSQL или MySQL для мессенджера при десятках тысяч RPS на запись. Бери или Cassandra, или ScyllaDB
Ну и это, бахни 🌭, если хочешь еще посты с System Design тематикой
🌭176🤣6❤🔥1🍓1
Капец бесят push-уведомления
Поэтому у меня они везде выключены где-то еще с 2024
НО! Знать, как они работают, будет полезно. КАК-НИКАК SYSTEM DESIGN этого требует :)))
И вот важные факты
Рассылкой для андроидеров занимается FCM (Firebase Cloud Messaging)
И да — это сервис GOOGLE
Почему?
А чтобы, когда ты нажимаешь «Разрешить отправлять уведомления», тебя не задудосили и не наплевали на твой отказ
И схема такая
1) Ты разрешаешь отправлять уведомления, и FCM выписывает токен
2) Приложение отправляет токен на свой бекенд и сохраняет токен в БД
3) Когда наступает момент push-нотификации, то бекенд приложение инициирует нотификацию, отправляя запрос в FCM с твоим токеном и тот уже отправляет push
Что тебе это дает?
ДА ТЫ ТЕПЕРЬ БОГ НОТИФИКАЦИЙ!
Ну серьезно, этой инфы достаточно, чтобы нарисовать правильно стрелочки и квадратики на собесе
Недостаточно, конечно, чтобы ответить на вопросики по типу
- А когда токен протухает, что делать?
- Какие причины протухания могут быть?
- А всегда ли FCM рассылает или есть еще кто?
- ...
Но блин, лично меня об этом ни разу не спрашивали
ГЛАВНОЕ, что ты понял принцип работы рассылок, и как база этого более чем достаточно
Ну и бахни 🌭, если уже ждешь ПОЛНОЦЕННЫЙ видос про проектирование мессенджера на YouTube (уже монтируют его...)
P.S. Токен выписывается всегда на 1 устройство одного приложения... Именно поэтому и на планшете и на телефоне тебя спросят "хотите разрешить отправлять уведомления"
Поэтому у меня они везде выключены где-то еще с 2024
НО! Знать, как они работают, будет полезно. КАК-НИКАК SYSTEM DESIGN этого требует :)))
И вот важные факты
Рассылкой для андроидеров занимается FCM (Firebase Cloud Messaging)
И да — это сервис GOOGLE
Почему?
А чтобы, когда ты нажимаешь «Разрешить отправлять уведомления», тебя не задудосили и не наплевали на твой отказ
И схема такая
1) Ты разрешаешь отправлять уведомления, и FCM выписывает токен
2) Приложение отправляет токен на свой бекенд и сохраняет токен в БД
3) Когда наступает момент push-нотификации, то бекенд приложение инициирует нотификацию, отправляя запрос в FCM с твоим токеном и тот уже отправляет push
Что тебе это дает?
ДА ТЫ ТЕПЕРЬ БОГ НОТИФИКАЦИЙ!
Ну серьезно, этой инфы достаточно, чтобы нарисовать правильно стрелочки и квадратики на собесе
Недостаточно, конечно, чтобы ответить на вопросики по типу
- А когда токен протухает, что делать?
- Какие причины протухания могут быть?
- А всегда ли FCM рассылает или есть еще кто?
- ...
Но блин, лично меня об этом ни разу не спрашивали
ГЛАВНОЕ, что ты понял принцип работы рассылок, и как база этого более чем достаточно
Ну и бахни 🌭, если уже ждешь ПОЛНОЦЕННЫЙ видос про проектирование мессенджера на YouTube (уже монтируют его...)
P.S. Токен выписывается всегда на 1 устройство одного приложения... Именно поэтому и на планшете и на телефоне тебя спросят "хотите разрешить отправлять уведомления"
🌭103
Написал еще один сервис с AI
Давно хотел сервис, который будет контролировать AI-бюджет / собирать AI-запросы и ответы для дебага и т. д.
В общем, LLM Observability
И знаете — есть оч похожие сервисы на то, что мне нужно: Langfuse/OpenRouter/LiteLLM Proxy
И у каждого из них есть что-то хорошее, а что-то меня прям бесило или просто не было нужного
Так вот
За 3 дня я просто написал свое)
Нагрузка не оч большая планируется все равно, платить бабки не надо, все адаптировано под нужды команды
Это я к тому, что SaaS-продукты-то, кажется, умирать будут потихоньку
Просто каждый сможет выстроить нужную ему инфру
А заработают, как всегда, продавцы лопат(имеются в виду продавцы лопат в золотую лихорадку)
Так вот, синьоров, освоивших AI-тулы на профессиональном уровне, я считаю продавцами лопат
И бахни 🌭 если нашел для себя интересные мысли
Давно хотел сервис, который будет контролировать AI-бюджет / собирать AI-запросы и ответы для дебага и т. д.
В общем, LLM Observability
И знаете — есть оч похожие сервисы на то, что мне нужно: Langfuse/OpenRouter/LiteLLM Proxy
И у каждого из них есть что-то хорошее, а что-то меня прям бесило или просто не было нужного
Так вот
За 3 дня я просто написал свое)
Нагрузка не оч большая планируется все равно, платить бабки не надо, все адаптировано под нужды команды
Это я к тому, что SaaS-продукты-то, кажется, умирать будут потихоньку
Просто каждый сможет выстроить нужную ему инфру
А заработают, как всегда, продавцы лопат
Так вот, синьоров, освоивших AI-тулы на профессиональном уровне, я считаю продавцами лопат
И бахни 🌭 если нашел для себя интересные мысли
🌭36🤣4🍓3❤🔥1
А в чем проблема? Почему не дали хороший грейд?
В общем, зашел ко мне кореш за советом, как подготовиться к финалам
Техничка у него хорошая — я сам знаю и уверен
Так вот
Оказались мы в ситуации, когда после финала офер не катили и он спрашивает совета - что делать
Я даю ему стандартный быстрый тест:
Сходу понимаю какие самые вероятные проблемы, и говорю:
Это самое эффективное, что я знаю и чем сам пользуюсь
И говорю: сходи на 5 таких прожарок, и я сам потом добавлю, и не стал говорить, что мне не понравилось в моменте
Просто это не совет из разряда — скажу, и ты за 1 секунду исправишь
Там намного глубже проблема, и чтобы дойти до ее решения, нужна нормальная такая прожарка, чтобы осознать, что не так
ИИИИИ
Он сказал: пока делать этого не буду, не уверен, что проблема в этом
—-
Вы не поверите, но от меня регулярно просят совета, а потом не делают 😂
Или делают с ебанутым запозданием
Вот просил еще один кореш совета что делать с его стартапом чтобы деньги пошли, я ему сказал - забей на продукт он уже норм и иди продавать - и я бля зуб даю что он так и не стартанул эту ветку
Причем это именно с корешами
Те, кто, например, платят деньги за услугу, почему-то делают с бОльшим энтузиазмом, и у них срабатывает
В общем, бесплатные советы, как всегда, имеют наименьший КПД
Ну а вывод я лично для себя такой делаю
Во первых платить корешам деньги за их услуги если прям действительно жду ответа как от эксперта а не как от кореша (раньше этого не делал, сейчас начал)
Во вторых - раз пришел за советом то делать то что говорят или не спрашивать если не готов действовать
В третьих: если даю бесплатный совет то заранее толерантен к тому что его не сделают
Да и вообще может важен не мой совет а просто факт поддержки - так что максимальный чилл вообще
В общем, зашел ко мне кореш за советом, как подготовиться к финалам
Техничка у него хорошая — я сам знаю и уверен
Так вот
Оказались мы в ситуации, когда после финала офер не катили и он спрашивает совета - что делать
Я даю ему стандартный быстрый тест:
Ответить в голосовом на 3 вопроса как на собесе:
1. Какая самая сложная техзадача, которую решал?
2. Как устроены процессы в команде?
3. Чем вообще сам занимаешься в команде?
Сходу понимаю какие самые вероятные проблемы, и говорю:
Сгоняй на 5 финалов с лидами — найди их на GetMentor и попроси, чтобы позадавали вопросы и ставили тебе грейд
Потом говори желаемый грейд и спрашивай, чего не хватило
Это самое эффективное, что я знаю и чем сам пользуюсь
И говорю: сходи на 5 таких прожарок, и я сам потом добавлю, и не стал говорить, что мне не понравилось в моменте
Просто это не совет из разряда — скажу, и ты за 1 секунду исправишь
Там намного глубже проблема, и чтобы дойти до ее решения, нужна нормальная такая прожарка, чтобы осознать, что не так
ИИИИИ
Он сказал: пока делать этого не буду, не уверен, что проблема в этом
—-
Вы не поверите, но от меня регулярно просят совета, а потом не делают 😂
Или делают с ебанутым запозданием
Вот просил еще один кореш совета что делать с его стартапом чтобы деньги пошли, я ему сказал - забей на продукт он уже норм и иди продавать - и я бля зуб даю что он так и не стартанул эту ветку
Причем это именно с корешами
Те, кто, например, платят деньги за услугу, почему-то делают с бОльшим энтузиазмом, и у них срабатывает
В общем, бесплатные советы, как всегда, имеют наименьший КПД
Ну а вывод я лично для себя такой делаю
Во первых платить корешам деньги за их услуги если прям действительно жду ответа как от эксперта а не как от кореша (раньше этого не делал, сейчас начал)
Во вторых - раз пришел за советом то делать то что говорят или не спрашивать если не готов действовать
В третьих: если даю бесплатный совет то заранее толерантен к тому что его не сделают
Да и вообще может важен не мой совет а просто факт поддержки - так что максимальный чилл вообще
🌭34❤🔥5
Пообщался с рекрутером Яндекса про найм
Интересно было, куда рекрутеры тратят время при поиске кандидатов
Так вот, 80% — это HeadHunter и 20% — все остальные
При этом рекрутеры Яндекса долистывают аж до 100-й страницы, так как коллеги уже взяли других кандидатов в работу
Также есть интересный сервис: https://matchy.ru/
Как кандидат ты туда попасть не можешь, но твои резюмехи там все равно есть (LinkedIn вроде как парсят)
И вот оттуда, говорят, прям есть оч сильные ребята, кого нанимали
Также спросил про написание на email компании и т. д. — рекрутер сказал, что смотрят, но обычно вообще нерелевантное
И ПОСЛЕДНЕЕ
Оч много вакансий Яндекса закрывается по рефералкам и даже не доходит до рынка. Так что полезно заиметь своего «Яндексоида»
И бахни 🌭, если интересно про найм — много с кем поговорил и с кайфом напишу, если будет интерес
Интересно было, куда рекрутеры тратят время при поиске кандидатов
Так вот, 80% — это HeadHunter и 20% — все остальные
При этом рекрутеры Яндекса долистывают аж до 100-й страницы, так как коллеги уже взяли других кандидатов в работу
Также есть интересный сервис: https://matchy.ru/
Как кандидат ты туда попасть не можешь, но твои резюмехи там все равно есть (LinkedIn вроде как парсят)
И вот оттуда, говорят, прям есть оч сильные ребята, кого нанимали
Также спросил про написание на email компании и т. д. — рекрутер сказал, что смотрят, но обычно вообще нерелевантное
И ПОСЛЕДНЕЕ
Оч много вакансий Яндекса закрывается по рефералкам и даже не доходит до рынка. Так что полезно заиметь своего «Яндексоида»
И бахни 🌭, если интересно про найм — много с кем поговорил и с кайфом напишу, если будет интерес
🌭115🍓3
Как не отупеть с AI?
Мое главное правило: я не отдаю ему принятие решений — только исполнение
Например, мне нужно написать новый сервис
1. OpenAPI + схему БД + схему проекта продумываю сам (могу AI что-то просить, но жестко ревьюю)
2. фиксирую все в файлах (OpenAPI, миграции, AGENTS.md)
3. генерирую подкапотную логику через AI
P.S. В новом сервисе inbox и outbox иногда AI странно пишет, но вроде удалось его обучить через более строгие инструкции в AGENTS.md
——
В общем, в написании сервисов AI мне оч помогает, так как я понимаю, что должно быть
НО!
Если задача, например, на поиск бага, то тут уже совсем другая история…
Обязательно посвящу этому пост, но только если бахнешь 🌭
Мое главное правило: я не отдаю ему принятие решений — только исполнение
Например, мне нужно написать новый сервис
1. OpenAPI + схему БД + схему проекта продумываю сам (могу AI что-то просить, но жестко ревьюю)
2. фиксирую все в файлах (OpenAPI, миграции, AGENTS.md)
3. генерирую подкапотную логику через AI
P.S. В новом сервисе inbox и outbox иногда AI странно пишет, но вроде удалось его обучить через более строгие инструкции в AGENTS.md
——
В общем, в написании сервисов AI мне оч помогает, так как я понимаю, что должно быть
НО!
Если задача, например, на поиск бага, то тут уже совсем другая история…
Обязательно посвящу этому пост, но только если бахнешь 🌭
🌭101
Моя следующая цель в IT
- приход AI
- сокращение бюджетов компаниями на найм
- и в целом стрессовый фон
Это все продолжается не первый год и уже несколько раз ловил себя на мысли "а туда ли я иду?" "а точно ли оставаться в IT?"
И тут я понял, что все из-за отсутствия глобальной цели
Раньше я прыгал по грейдам как в дудл джамп: 1 год +1 грейд
Но в какой то момент все стало сложнее... Грейд перестал расти как на дрожжах, коллеги вокруг перестали быть такими воодушевленными как раньше... Конкуренция взмыла в небо...
В общем, накопилась усталость
Поэтому я решил поставить перед собой более стратигическую цель: хочу научится приносить как можно больше денег компании в которой я работаю
Казалось бы - есть 2 работы, валютные удаленки и т д...
Но это не совсем то куда мне хочется прийти через 10 лет, я хочу больше соприкасаться с бизнесом и влиять на cash flow компании
Потому что тот кто приносит много денег никогда не будет уволен
И я реально хочу делится своими наработками в этой теме
aka рубрика АНТИКРИЗИС В IT, чтобы ты мог рости в деньгах даже когда всех сокращают
РАСТИ НЕ ЧЕРЕЗ 2 РАБОТЫ, а через бОльшую пользу для компании
И в большей степени это про коммуникацию, да, да те самые soft skills - термин ставший жертвой популяризации
Бахни 🌭 если интересно было бы смотреть такой контент и параллельно внедрять его в свою работу
P.S. чем больше хот-догов тем больший приоритет отдаю теме (в конце неделе смотрю все посты и продолжаю писать про самое нужное)
- приход AI
- сокращение бюджетов компаниями на найм
- и в целом стрессовый фон
Это все продолжается не первый год и уже несколько раз ловил себя на мысли "а туда ли я иду?" "а точно ли оставаться в IT?"
И тут я понял, что все из-за отсутствия глобальной цели
Раньше я прыгал по грейдам как в дудл джамп: 1 год +1 грейд
Но в какой то момент все стало сложнее... Грейд перестал расти как на дрожжах, коллеги вокруг перестали быть такими воодушевленными как раньше... Конкуренция взмыла в небо...
В общем, накопилась усталость
Поэтому я решил поставить перед собой более стратигическую цель: хочу научится приносить как можно больше денег компании в которой я работаю
Казалось бы - есть 2 работы, валютные удаленки и т д...
Но это не совсем то куда мне хочется прийти через 10 лет, я хочу больше соприкасаться с бизнесом и влиять на cash flow компании
Потому что тот кто приносит много денег никогда не будет уволен
И я реально хочу делится своими наработками в этой теме
aka рубрика АНТИКРИЗИС В IT, чтобы ты мог рости в деньгах даже когда всех сокращают
РАСТИ НЕ ЧЕРЕЗ 2 РАБОТЫ, а через бОльшую пользу для компании
И в большей степени это про коммуникацию, да, да те самые soft skills - термин ставший жертвой популяризации
Бахни 🌭 если интересно было бы смотреть такой контент и параллельно внедрять его в свою работу
P.S. чем больше хот-догов тем больший приоритет отдаю теме (в конце неделе смотрю все посты и продолжаю писать про самое нужное)
🌭164🤣1
Вчера была заруба в комментах Ютуба
Обсуждали Big O
FIGHT!
Моя позиция такая: смысл Big O оценки — понять объем затрачиваемых ресурсов на исполнение какого-то куска кода
Простой пример
Вот 2 идентичные функции, но! Одна возвращает результирующий массив, а вторая просто печатает...
Если не оценивать результат, то память везде будет O(1), и различить такие функции нельзя — нужно лезть внутрь и разбираться
А если оценка роста памяти не линейная, а какая-нибудь O(k*log(n)+m)...
Это ж свихнуться можно будет, прежде чем поймешь, сколько реально занимает памяти результат
В общем!
Я считаю, что оценивать Big O нужно всегда, учитывая все накладные ресурсы, чтобы не лазить в функцию каждый раз и понимать скорость роста времени и памяти
Обсуждение я не нашел - видимо оппонент удалил сообщение, так что его позицию сказать не могу, но я готов продолжить в комментах под постом 😏
---
P.S. да, я знаю, что память бывает разная: stack, heap... И Big O оценивает все это в совокупности в самом простом случае (хотя лично я люблю разделять)
P.P.S. да, я знаю, что интервьюеры иногда просят оценить память без ответа — просто смотрят, не зазубрил ли ты ответ
Уверен, ты и сам знаешь что нужно делать с 🌭
Как то двусмысленно получилось, но так и задумывал. Везде маркетинг)
Обсуждали Big O
Я: в ролике оцениваю всегда память, учитывая результирующий массив
Оппонент: говорит, что оценивать результат в Big O не стоит
FIGHT!
Моя позиция такая: смысл Big O оценки — понять объем затрачиваемых ресурсов на исполнение какого-то куска кода
Простой пример
Вот 2 идентичные функции, но! Одна возвращает результирующий массив, а вторая просто печатает...
Если не оценивать результат, то память везде будет O(1), и различить такие функции нельзя — нужно лезть внутрь и разбираться
А если оценка роста памяти не линейная, а какая-нибудь O(k*log(n)+m)...
Это ж свихнуться можно будет, прежде чем поймешь, сколько реально занимает памяти результат
В общем!
Я считаю, что оценивать Big O нужно всегда, учитывая все накладные ресурсы, чтобы не лазить в функцию каждый раз и понимать скорость роста времени и памяти
---
P.S. да, я знаю, что память бывает разная: stack, heap... И Big O оценивает все это в совокупности в самом простом случае (хотя лично я люблю разделять)
P.P.S. да, я знаю, что интервьюеры иногда просят оценить память без ответа — просто смотрят, не зазубрил ли ты ответ
Уверен, ты и сам знаешь что нужно делать с 🌭
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭43
Я аутстафф в Яндексе и приняли наконец в штат
НО!
Неожиданно прошел собес в Т-Банк и хочу отменить финалы…
Вот такой запросик прилетел от кореша
Фактура такая:
1. Если на середине обрывать коммуникацию, то сделают пометку
2. Менять место работы и соглашаться на Т-Банк после того, как уже подписал переход на full time в Яндекс, 100% будет вызывать вопросы в будущем
В общем, на мой взгляд, самое безопасное решение такое
ДОПРОЙТИ ВСЕ ФИНАЛЫ В Т-БАНКЕ (как минимум для тренировки) И ПОЙТИ В ЯНДЕКС, так как уже подписался на full time
2-3 года назад я бы пушил в то, чтобы не ссал и шел в Т, если там лучше
НО!
Сейчас тренд на расследование резюме под лупой, и создавать повышенное внимание я бы точно не рискнул сам и тем более такое советовать
——
ЧТО БЫЛО НЕ ТАК (на мой взгляд)
Любое повышение/перевод в отдел/смена стека и т. д. я бы рассматривал как полноценную смену работы
Меняются обязанности, а значит, это = новая работа
В идеале нужно было делать так:
1. заранее проходить собесы в компании и выбирать не из одной, а из нескольких
2. идти туда, где наиболее перспективно и потенциально более комфортно будет расти
——
ПРОСТОЙ ПРИМЕР КАК ЭТО РАБОТАЕТ
Когда я работал в Huawei — я думал, лучше быть не может
Когда работал в Яндекс — думал, ну никто не переплюнет
Когда в Т-Банке — думал: “просто рай на земле”
Но если спросить меня сейчас куда бы я пошел работать, то скажу, что вернулся бы только в Т-Банк
Т. е. если ты мало где работал и не ходил по собесам, ты не можешь знать, где на самом деле тебе лучше, и будет круто иметь максимально широкий выбор
В общем, идею ты понял...
А где можно готовиться к собесам, ты и сами знаешь:
Ну и 🌭 бахнуть не забывай, если было полезно
🌭65
This media is not supported in your browser
VIEW IN TELEGRAM
❤🔥46🌭9🍓7
Осторожно, микроменеджер в здании!
Да, да — я был микроменеджером. Да еще каким…
Смотрел каждый MR под лупой, отслеживал статус каждого тикета, даже 1 раз сказал, что человек X2 хуже перформит, чем нужно...🤦♂️
Как вспомню, меня аж передергивает
Все потому, что первый полноценный опыт управления командой я получил еще 2 года назад в своем бизнесе (а не в найме)
А свои деньги всегда жалко X10…
В общем, слава богу, я прошел стадию ПРОДУКТИВНОГО МЕНЕДЖЕРА НА МАКСИМАЛКАХ
Больше всего мне помогли Даня и Саша — вовремя подсветили неадекватность...
Лечил я ее полгода. И сейчас готов выдать легкий рецепт, как это фиксить: нужно начать делать свою работу, а не контролировать чужую (кэп)
Вот реально, как только мне стало прилетать всего на 20% больше личных задач, я перестал ходить за всеми
P.S. По итогу истории с X2 перформансом я извинился
И после признания своей жесткой неадекватности все пошло как нужно
Да, да — я был микроменеджером. Да еще каким…
Смотрел каждый MR под лупой, отслеживал статус каждого тикета, даже 1 раз сказал, что человек X2 хуже перформит, чем нужно...
Как вспомню, меня аж передергивает
Все потому, что первый полноценный опыт управления командой я получил еще 2 года назад в своем бизнесе (а не в найме)
А свои деньги всегда жалко X10…
В общем, слава богу, я прошел стадию ПРОДУКТИВНОГО МЕНЕДЖЕРА НА МАКСИМАЛКАХ
Больше всего мне помогли Даня и Саша — вовремя подсветили неадекватность...
Лечил я ее полгода. И сейчас готов выдать легкий рецепт, как это фиксить: нужно начать делать свою работу, а не контролировать чужую (кэп)
Вот реально, как только мне стало прилетать всего на 20% больше личных задач, я перестал ходить за всеми
P.S. По итогу истории с X2 перформансом я извинился
И после признания своей жесткой неадекватности все пошло как нужно
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭33
А такое могут спросить на собесе?
Ну естественно!
Да, оптимальное решение требует знать алгоритм Флойда, чтобы решить за O(n) и O(1)
Да оно выглядит вот так
ДА! Тут нифига непонятно
Но это не значит, что тебя не спросят 😂
Что имеем, то имеем...
Благо задачку дают не часто, но если идешь в Озон, я б глянул ее заранее
Ну естественно!
Да, оптимальное решение требует знать алгоритм Флойда, чтобы решить за O(n) и O(1)
Да оно выглядит вот так
def find_duplicate_num(nums: list[int]) -> int:
# фаза 1: найти точку пересечения
slow = 0
fast = 0
while True:
slow = nums[slow]
fast = nums[nums[fast]]
if slow == fast:
break
# фаза 2: найти вход в цикл
slow = 0
while slow != fast:
slow = nums[slow]
fast = nums[fast]
return slow
ДА! Тут нифига непонятно
Что имеем, то имеем...
Благо задачку дают не часто, но если идешь в Озон, я б глянул ее заранее
🌭20❤🔥2
Сегодня отказал корешу…
В общем: у нас менторская программа появилась, где Java и Go доводим до оффера и мой кореш хотел пойти к нам ментором
При этом мы помогаем Middle -> Middle в BigTech или Middle -> Senior
Кореш 100% круто делает свою работу + в техничке достаточно сильный
НО!
Сейчас на собесах важно уметь презентовать свой опыт + объяснять как это делать ВООБЩЕ НА ВСЕХ ЭТАПАХ
Нужно не только в ЯП, но и SD разбираться и иметь практический опыт
И вот тут есть проблемесы…
В общем, менторы у нас остаются с 5+ лет коммерческого опыта и собственными оферами/опытом работы в BigTech и знаниями в SD
——
Тяжело все равно всегда отказывать знакомым, но понимаю, что и для кореша это доп. cтимул закрыть слабые места, а наши студенты получат пиздатый сервис
В общем, рассматриваю это как WIN-WIN и надеюсь на лучшее как говорится
——
ДЛЯ ТЕХ, КТО ХОЧЕТ ПЕРЕДАВАТЬ СВОЙ ОПЫТ
P.S. Кста, если:
* активно и успешно ходишь на собесы
* есть желание передавать свой опыт в качестве ментора
* есть жирные оферы от бигтехов на 400 000+
* 5+ лет в разработке и имеешь практический опыт с SD
Пиши @fatinmaks — буду рад новым менторам
P.P.S.Опыт не крутим, легенды не придумываем, проблем с работодателем не будет
Платим достойно
В общем: у нас менторская программа появилась, где Java и Go доводим до оффера и мой кореш хотел пойти к нам ментором
При этом мы помогаем Middle -> Middle в BigTech или Middle -> Senior
Кореш 100% круто делает свою работу + в техничке достаточно сильный
НО!
Сейчас на собесах важно уметь презентовать свой опыт + объяснять как это делать ВООБЩЕ НА ВСЕХ ЭТАПАХ
Нужно не только в ЯП, но и SD разбираться и иметь практический опыт
И вот тут есть проблемесы…
В общем, менторы у нас остаются с 5+ лет коммерческого опыта и собственными оферами/опытом работы в BigTech и знаниями в SD
——
Тяжело все равно всегда отказывать знакомым, но понимаю, что и для кореша это доп. cтимул закрыть слабые места, а наши студенты получат пиздатый сервис
В общем, рассматриваю это как WIN-WIN и надеюсь на лучшее как говорится
——
ДЛЯ ТЕХ, КТО ХОЧЕТ ПЕРЕДАВАТЬ СВОЙ ОПЫТ
P.S. Кста, если:
* активно и успешно ходишь на собесы
* есть желание передавать свой опыт в качестве ментора
* есть жирные оферы от бигтехов на 400 000+
* 5+ лет в разработке и имеешь практический опыт с SD
Пиши @fatinmaks — буду рад новым менторам
P.P.S.
🌭17🍓3
Поговорим про увольнения...
Сегодня написал кореш: бро, пришел hr bp с лидом и просят уйти через неделю
У каждого такое может быть. Вот чек лист:
1. В моменте ничего не подписывать
2. В целом оценить ситуацию (на сколько это для вас внезапно и в чем скорее всего реальная причина - часто ее не говорят)
3. Сходить к юристу со всей фактурой
Да, понимаю, что может быть лень идти к юристу - но на мой взгляд очень полезно будет узнать о своих правах
В общем, если вам предлагают через неделю на выход пройти - 100% можно чуть попереговариваться и увеличить срок минимум до месяца
А с юристом можно еще и 2-3 оклада получить :3
P.S. если проходил через такой процесс - будет интересно узнать реальный опыт
Сегодня написал кореш: бро, пришел hr bp с лидом и просят уйти через неделю
У каждого такое может быть. Вот чек лист:
1. В моменте ничего не подписывать
2. В целом оценить ситуацию (на сколько это для вас внезапно и в чем скорее всего реальная причина - часто ее не говорят)
3. Сходить к юристу со всей фактурой
Да, понимаю, что может быть лень идти к юристу - но на мой взгляд очень полезно будет узнать о своих правах
В общем, если вам предлагают через неделю на выход пройти - 100% можно чуть попереговариваться и увеличить срок минимум до месяца
А с юристом можно еще и 2-3 оклада получить :3
P.S. если проходил через такой процесс - будет интересно узнать реальный опыт
🌭34
А вот и видос подъехал новый (нет)
Был ИП, теперь ООО...
Эти 3 буквы магическим образом смогли остановить меня от выкладывания УЛЬТРА МЕГА ВИДОСА по SD
Засучиваю рукова и иду разбираться с. бюрократами и капиталистами - чтобы ты уже вечерком с кайфом мог посмотретьвместо "Спокойной ночи малыши" 🤦♂️ (осторожно, тупая шутка)
Давай соберем побольше 🌭, чтобы быстрее провернуть это капиталистическое колесо
Был ИП, теперь ООО...
Эти 3 буквы магическим образом смогли остановить меня от выкладывания УЛЬТРА МЕГА ВИДОСА по SD
Засучиваю рукова и иду разбираться с. бюрократами и капиталистами - чтобы ты уже вечерком с кайфом мог посмотреть
Давай соберем побольше 🌭, чтобы быстрее провернуть это капиталистическое колесо
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭105
Как же я жалею, что не делал это в найме…
Делать продукт с нуля — это пипец боль и страдание
В найме я просто программировал, а сейчас я:
* думаю, как продавать
* как продукт развивать
* как анализировать данные
И, конечно, как это всё запрогать 😂
Проблем стало X10, так что жалею только о том, что в найме:
* мало общался с PM (сейчас бы я хотел всё знать о пользователях)
* мало выстраивал процессов между командами
* мало в целом общался со смежными отделами
——
Да, я делал это больше, чем среднестатистический программист-баянист
НО!
Сейчас бы я делал это X20!
Просто потому, что это бесценный опыт как для карьеры в корпорате, так и для своего дела, и раскешить его можно на раз-два (если у тебя руководитель адекватный)
Но он у тебя 100% адекватный - иначе зачем бы ты там работал ;)
Делать продукт с нуля — это пипец боль и страдание
В найме я просто программировал, а сейчас я:
* думаю, как продавать
* как продукт развивать
* как анализировать данные
И, конечно, как это всё запрогать 😂
Проблем стало X10, так что жалею только о том, что в найме:
* мало общался с PM (сейчас бы я хотел всё знать о пользователях)
* мало выстраивал процессов между командами
* мало в целом общался со смежными отделами
——
Да, я делал это больше, чем среднестатистический программист-баянист
НО!
Сейчас бы я делал это X20!
Просто потому, что это бесценный опыт как для карьеры в корпорате, так и для своего дела, и раскешить его можно на раз-два
🌭28
Как только устроился в Huawei, меня ждали крышесносные шутки
Мой лид буквально был стендапером, который постоянно троллил своего друга-синьера
Ну что — я угорал
НО!
Когда я впервые за 3 месяца задержал задачку на 1 день относительно сроков, которые сам оценил
То что ты думаешь?
Шутки полетели уже в меня
Вот так я узнал, что такое командная культура во всей красе 😄
А теперь не очевидный вывод
Есть афигеть продуктивные команды с тролями на борту (где я и оказался) - и я ничего против них не имею, мы реально круто перформили все. Но работать там не буду больше
Просто есть твой характер и культура команды и хорошо бы понимать с кем метчишься (но пока не попробуешь не узнаешь)
Мой лид буквально был стендапером, который постоянно троллил своего друга-синьера
Ну что — я угорал
НО!
Когда я впервые за 3 месяца задержал задачку на 1 день относительно сроков, которые сам оценил
То что ты думаешь?
Вот так я узнал, что такое командная культура во всей красе
Просто есть твой характер и культура команды и хорошо бы понимать с кем метчишься (но пока не попробуешь не узнаешь)
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭32