🔥 Собеседование по System Design: Как большинство кандидатов не раскрывают свой потенциал за 60 минут?
➡️ Домены
Давай я расскажу, что это и как применять
Без доменов — ты строитель без чертежей.
Но что такое "домен"? Проще говоря:
Домен = автономная бизнес-логика с чёткими границами.
Внутри — высокая связность, снаружи — минимум зависимостей.
Как прийти к доменам? Шаг за шагом:
1️⃣ Функциональные требования (ЧТО система делает):
Пример: "Трекинг заказов, сбор статистики, оплата товаров".
2️⃣ Нефункциональные требования (КАК она это делает):
Пример: "Нагрузка 10K RPS, 99.9% uptime для платежей".
3️⃣ Домены — мостик между ними!
Вот как это выглядит на практике:
Смотрим на картинку
▫️ Аналитика: группировка + выгрузка данных
▫️ Платежи: оплата + история + возвраты
▫️ Товары: показ + редактирование
Как проверить, что домены выделены верно?
✔️ Тест на независимость: Изменения в одном домене не ломают другие.
Пример: Новая выгрузка в «Аналитике» = ноль изменений в «Платежах».
✔️ Тест на простоту: Описываешь домен одной фразой без "и".
Плохо: "Отвечает за пользователей и рассылки".
Хорошо: "Управление жизненным циклом заказа".
🔪 Осторожно: 2 частые ошибки!
Слишком мелкие домены:
Ошибка: Домен "Отображение платежей" (слишком мелко!).
Решение: "Платежи" как единый домен.
Технические псевдодомены:
Ошибка: "Сервис кеша" или "Модуль БД".
Исключение: "Единый механизм бэкапов" — да, если это бизнес-требование.
А микросервисы?
🚫 НЕ путай домены с микросервисами!
— Домен = логическая единица бизнес-логики.
— Микросервис = физическая реализация.
Один домен может жить в:
• 1 микросервисе (простой домен)
• Нескольких сервисах (сложный домен, например "Платежи")
• Монолите (если не нужна изоляция).
💡 Фишка для собеса:
Говори: "Выделяю домен X, потому что он инкапсулирует логику Y и изолирует данные Z. Это позволит независимо масштабировать/менять его без влияния на систему!"
P.S. Нефункциональные требования — твой компас для масштабирования. 10K RPS при покупках? Усиливай «Платежи». Частые ошибки от внешних интеграций? Добавь fallback паттерны
А если хочешь заглянуть дальше доменов, то держи бесплатник на Stepik. В нем проходится вся база для проектирования, собирается система и разбирается собес по system-design
➡️ Домены
Давай я расскажу, что это и как применять
Без доменов — ты строитель без чертежей.
Но что такое "домен"? Проще говоря:
Домен = автономная бизнес-логика с чёткими границами.
Внутри — высокая связность, снаружи — минимум зависимостей.
Как прийти к доменам? Шаг за шагом:
1️⃣ Функциональные требования (ЧТО система делает):
Пример: "Трекинг заказов, сбор статистики, оплата товаров".
2️⃣ Нефункциональные требования (КАК она это делает):
Пример: "Нагрузка 10K RPS, 99.9% uptime для платежей".
3️⃣ Домены — мостик между ними!
Вот как это выглядит на практике:
Смотрим на картинку
▫️ Аналитика: группировка + выгрузка данных
▫️ Платежи: оплата + история + возвраты
▫️ Товары: показ + редактирование
Как проверить, что домены выделены верно?
✔️ Тест на независимость: Изменения в одном домене не ломают другие.
Пример: Новая выгрузка в «Аналитике» = ноль изменений в «Платежах».
✔️ Тест на простоту: Описываешь домен одной фразой без "и".
Плохо: "Отвечает за пользователей и рассылки".
Хорошо: "Управление жизненным циклом заказа".
🔪 Осторожно: 2 частые ошибки!
Слишком мелкие домены:
Ошибка: Домен "Отображение платежей" (слишком мелко!).
Решение: "Платежи" как единый домен.
Технические псевдодомены:
Ошибка: "Сервис кеша" или "Модуль БД".
Исключение: "Единый механизм бэкапов" — да, если это бизнес-требование.
А микросервисы?
🚫 НЕ путай домены с микросервисами!
— Домен = логическая единица бизнес-логики.
— Микросервис = физическая реализация.
Один домен может жить в:
• 1 микросервисе (простой домен)
• Нескольких сервисах (сложный домен, например "Платежи")
• Монолите (если не нужна изоляция).
💡 Фишка для собеса:
Говори: "Выделяю домен X, потому что он инкапсулирует логику Y и изолирует данные Z. Это позволит независимо масштабировать/менять его без влияния на систему!"
P.S. Нефункциональные требования — твой компас для масштабирования. 10K RPS при покупках? Усиливай «Платежи». Частые ошибки от внешних интеграций? Добавь fallback паттерны
А если хочешь заглянуть дальше доменов, то держи бесплатник на Stepik. В нем проходится вся база для проектирования, собирается система и разбирается собес по system-design
👍5🔥2
Как функциональные требования могут убить твою систему?🔪
Представь, что ты разработчик в Big Tech. И вот тебе выдали задачу, где общие требования:
1️⃣ DAU 50 mln
2️⃣ Важна минимальная задержка между обновлением данных в источнике и в нашей системе
3️⃣ В нашей системе любые задержки неприемлемы, так как для сервиса критичен response time
Иначе говоря, бизнес хочет максимальную согласованность между данными в источнике и на нашей стороне. Но в то же время мы не можем позволить себе ходить во внешние API.
И вот ты садишься, считаешь нагрузку, пытаешься что-то сделать день/два/три. А еще ты нервничаешь, что, наверное, не вывозишь задачу и вообще какое тебе место в Big Tech!😨
Но на самом деле все проще: нужно оспаривать бизнес по поводу их требований.
Так и здесь: нужно делать выбор — хотим ли мы 100% точности в системе или же нам важнее скорость. Так как скорость страдать не может, то жертвуем точностью🎯
А как аргументировать свой подход? — Об этом расскажу в следующей части🔜
#функциональныетребования #нагрузка
Представь, что ты разработчик в Big Tech. И вот тебе выдали задачу, где общие требования:
Иначе говоря, бизнес хочет максимальную согласованность между данными в источнике и на нашей стороне. Но в то же время мы не можем позволить себе ходить во внешние API.
И вот ты садишься, считаешь нагрузку, пытаешься что-то сделать день/два/три. А еще ты нервничаешь, что, наверное, не вывозишь задачу и вообще какое тебе место в Big Tech!
Но на самом деле все проще: нужно оспаривать бизнес по поводу их требований.
Как гласит CAP-теорема: невозможно сделать систему одинаково согласованной и доступной.
Так и здесь: нужно делать выбор — хотим ли мы 100% точности в системе или же нам важнее скорость. Так как скорость страдать не может, то жертвуем точностью🎯
А как аргументировать свой подход? — Об этом расскажу в следующей части
#функциональныетребования #нагрузка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
А как говорить с Бизнесом, когда требования — фантастика? 🤯
Привет! В прошлый раз мы залипли на том, что хотеть 100% согласованности данных + нулевых задержек + бесконечной доступности — это как мечтать о вечном двигателе. Значит, нужно идти к Бизнесу и... спорить😱
Но кто этот ваш "Бизнес"? Чаще всего на другом конце — BizDev (Business Development). Их задача — растить рынок, завоевывать клиентов, заключать партнерства и ставить амбициозные цели. Технические детали — не их профиль (хотя бывают и приятные исключения!).
Проблема: Как донести до BizDev'а, что его "просто сделайте" — это путь в технический ад? 🤔 Всё зависит от его "технической просвещенности":
1. Тип "Вообще Не Шарю":
Как выглядит: Глаза стекленеют при словах "база данных", "репликация". Для него система — черный ящик: "Закинул данные -> получил результат".
Как аргументировать:
🔹 Аналогии из жизни: "Представь, ты хочешь, чтобы курьер мгновенно доставлял пиццу в любую точку города, абсолютно горячей, и при этом стоил копейки. Так не бывает? Вот и с данными так же: скорость, точность, цена (ресурсы) — выбирай два".
🔹 Фокус на бизнес-последствиях: "Если мы попробуем сделать именно так, как в требованиях, система будет падать каждый час, и пользователи уйдут к конкурентам. Готовы ли мы к такому риску?"
🔹 Простота: Никаких "CAP", "Paxos" или "кворумов". Только суть: "Скорость или точность? Выбирай приоритет".
2. Тип "Чуть-Чуть Шарю":
Как выглядит: Знает слова "API", "база", "нагрузка", но глубоко не копает.
Как аргументировать:
🔹 Упрощенная визуализация: Схемка потока данных, где видно узкое горлышко или источник задержек. "Видишь эту стрелочку? Вот здесь при таких требованиях будет пробка".
🔹 Оценка в цифрах (очень грубо): "Ты хочешь обновлять данные для 50 млн DAU мгновенно. Даже если мы сделаем магию и обновим 1 запись за 1 мс, на всех это займет ~14 часов. Это реалистично?"
🔹 Предложение конкретных альтернатив: "Мы не можем гарантировать мгновенную точность для всех. Но можем: а) Гарантировать для премиум-пользователей; б) Гарантировать точность с задержкой 5 сек для всех; в) Гарантировать, что 99.9% данных будут точны через 10 сек. Что важнее для реального сценария?"
Итого: Независимо от типа BizDev, твоя ключевая задача как инженера — перевести технические ограничения на язык бизнес-рисков и возможностей. Умение делать этот перевод — критически важный навык, который часто приходит с опытом. Многие junior-middle разработчики фокусируются только на технической стороне, упуская бизнес-контекст.
В конце накину еще пару примеров:
🔹 Вместо “из-за кеширования могу быть неточности в данных” → “Чтобы ответить пользователю максимально быстро, мы используем предварительно подготовленные данные. Это может приводить к небольшим задержкам в актуальности информации, но критично ускоряет работу сервиса.” (Фокус на цели "скорость" и компромисс)
🔹 Вместо “У нас Postgres в этих сервисах, поэтому мы не сможешь просто так шардировать” → “Текущая архитектура хранения данных оптимизирована под надежность и сложные запросы. Ее масштабирование для таких нагрузок потребует значительных изменений и времени, так как простое ‘разделение’ данных здесь неприменимо.” (Фокус на последствиях - время/ресурсы и причина - "надежность/сложность запросов")"
#bizdev #коммуникации #карьера #softskills
Привет! В прошлый раз мы залипли на том, что хотеть 100% согласованности данных + нулевых задержек + бесконечной доступности — это как мечтать о вечном двигателе. Значит, нужно идти к Бизнесу и... спорить
Но кто этот ваш "Бизнес"? Чаще всего на другом конце — BizDev (Business Development). Их задача — растить рынок, завоевывать клиентов, заключать партнерства и ставить амбициозные цели. Технические детали — не их профиль (хотя бывают и приятные исключения!).
Проблема: Как донести до BizDev'а, что его "просто сделайте" — это путь в технический ад? 🤔 Всё зависит от его "технической просвещенности":
1. Тип "Вообще Не Шарю":
Как выглядит: Глаза стекленеют при словах "база данных", "репликация". Для него система — черный ящик: "Закинул данные -> получил результат".
Как аргументировать:
🔹 Аналогии из жизни: "Представь, ты хочешь, чтобы курьер мгновенно доставлял пиццу в любую точку города, абсолютно горячей, и при этом стоил копейки. Так не бывает? Вот и с данными так же: скорость, точность, цена (ресурсы) — выбирай два".
🔹 Фокус на бизнес-последствиях: "Если мы попробуем сделать именно так, как в требованиях, система будет падать каждый час, и пользователи уйдут к конкурентам. Готовы ли мы к такому риску?"
🔹 Простота: Никаких "CAP", "Paxos" или "кворумов". Только суть: "Скорость или точность? Выбирай приоритет".
2. Тип "Чуть-Чуть Шарю":
Как выглядит: Знает слова "API", "база", "нагрузка", но глубоко не копает.
Как аргументировать:
🔹 Упрощенная визуализация: Схемка потока данных, где видно узкое горлышко или источник задержек. "Видишь эту стрелочку? Вот здесь при таких требованиях будет пробка".
🔹 Оценка в цифрах (очень грубо): "Ты хочешь обновлять данные для 50 млн DAU мгновенно. Даже если мы сделаем магию и обновим 1 запись за 1 мс, на всех это займет ~14 часов. Это реалистично?"
🔹 Предложение конкретных альтернатив: "Мы не можем гарантировать мгновенную точность для всех. Но можем: а) Гарантировать для премиум-пользователей; б) Гарантировать точность с задержкой 5 сек для всех; в) Гарантировать, что 99.9% данных будут точны через 10 сек. Что важнее для реального сценария?"
Итого: Независимо от типа BizDev, твоя ключевая задача как инженера — перевести технические ограничения на язык бизнес-рисков и возможностей. Умение делать этот перевод — критически важный навык, который часто приходит с опытом. Многие junior-middle разработчики фокусируются только на технической стороне, упуская бизнес-контекст.
В конце накину еще пару примеров:
🔹 Вместо “из-за кеширования могу быть неточности в данных” → “Чтобы ответить пользователю максимально быстро, мы используем предварительно подготовленные данные. Это может приводить к небольшим задержкам в актуальности информации, но критично ускоряет работу сервиса.” (Фокус на цели "скорость" и компромисс)
🔹 Вместо “У нас Postgres в этих сервисах, поэтому мы не сможешь просто так шардировать” → “Текущая архитектура хранения данных оптимизирована под надежность и сложные запросы. Ее масштабирование для таких нагрузок потребует значительных изменений и времени, так как простое ‘разделение’ данных здесь неприменимо.” (Фокус на последствиях - время/ресурсы и причина - "надежность/сложность запросов")"
#bizdev #коммуникации #карьера #softskills
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👏4
Почему "это невозможно" — худшая фраза в диалоге с Бизнесом? 🚫
Привет! В прошлом посте мы разобрали стратегии общения с BizDev, когда их требования кажутся нереальными. Сегодня — о главной ловушке, в которую часто попадают инженеры: фраза "это невозможно".
Почему это проблема? 🤔
Помнишь, BizDev обычно не погружен в технические детали (это просто не их фокус!). Но когда они слышат "невозможно":
🔹 Это звучит как отказ без объяснений. Бизнес не понимает почему, чувствует нежелание искать решение.
🔹 Подрывает доверие. "Не может команда X, а команда Y смогла?" — подумают они. И да, скорее всего, они пойдут к другим командам за альтернативами.
🔹 Твоя команда теряет. Меньше интересных задач → меньше возможностей для роста. Зачем доверять сложные фичи тем, кто сразу говорит "нет"? 😟
Что сказать вместо "невозможно"?
Вспомни главный принцип из прошлого поста: переводи технические ограничения в бизнес-термины и предлагай альтернативы!
Пример:
❌ "Невозможно сделать мгновенное обновление для 50 млн пользователей!"
✅ "Прямое обновление для 50 млн DAU в реальном времени потребует огромных ресурсов и может сделать систему нестабильной (риск для пользователей!). Давай подумаем:
• Гарантированное обновление данных за 5 секунд для всех?
• Или мгновенно — но только для премиум-сегмента?
Что критичнее для сценария?"
Суть:
▫️ Фраза "Давай подумаем, как это реализовать в рамках ограничений":
→ Переводит диалог в конструктивное русло
→ Показывает твою экспертизу
→ Сохраняет доверие и задачи в твоей команде! 💪
#коммуникации #bizdev #карьера #softskills
Привет! В прошлом посте мы разобрали стратегии общения с BizDev, когда их требования кажутся нереальными. Сегодня — о главной ловушке, в которую часто попадают инженеры: фраза "это невозможно".
Почему это проблема? 🤔
Помнишь, BizDev обычно не погружен в технические детали (это просто не их фокус!). Но когда они слышат "невозможно":
🔹 Это звучит как отказ без объяснений. Бизнес не понимает почему, чувствует нежелание искать решение.
🔹 Подрывает доверие. "Не может команда X, а команда Y смогла?" — подумают они. И да, скорее всего, они пойдут к другим командам за альтернативами.
🔹 Твоя команда теряет. Меньше интересных задач → меньше возможностей для роста. Зачем доверять сложные фичи тем, кто сразу говорит "нет"? 😟
Что сказать вместо "невозможно"?
Вспомни главный принцип из прошлого поста: переводи технические ограничения в бизнес-термины и предлагай альтернативы!
Пример:
❌ "Невозможно сделать мгновенное обновление для 50 млн пользователей!"
✅ "Прямое обновление для 50 млн DAU в реальном времени потребует огромных ресурсов и может сделать систему нестабильной (риск для пользователей!). Давай подумаем:
• Гарантированное обновление данных за 5 секунд для всех?
• Или мгновенно — но только для премиум-сегмента?
Что критичнее для сценария?"
Суть:
▫️ Фраза "Давай подумаем, как это реализовать в рамках ограничений":
→ Переводит диалог в конструктивное русло
→ Показывает твою экспертизу
→ Сохраняет доверие и задачи в твоей команде! 💪
#коммуникации #bizdev #карьера #softskills
👍5🔥2👏1
Ну, лента😅
Казалось, есть лента в любой социальной сети. Что там сложного: берёшь посты юзеров и накидываешь в общий пул постов. А ещё какую-нибудь рандомную сортировку — вообще великолепно.
Но не тут-то было✋
Во-первых, тебе нужно учитывать подписчиков пользователя. Во-вторых, тебе нужно понимать, что есть так называемые селебрити, у которых много подписчиков, а есть обычные пользаки. В-третьих, а что если пользователь давно не был в сети?
А ещё есть много способов доставки этих постов в ленту. Например, сравним 3 подхода:
- Храним все посты юзеров в кеше у Feed Service. При запросе ленты получаем подписчиков юзера и делаем feed-merge (подготовка ленты).
- Храним посты в кеше у Feed Service только для активных пользователей. А если неактивный: получить подписчиков и затем выгребать посты из сервиса постов.
- Храним посты в кеше у Feed Service, но делаем fallback strategy на Post Service, чтобы в случае отказа ленты у нас был запасной вариант. И ещё сюда можно прикрутить circuit breaker.
В чём➕ и 〰️ подходов? Для первого требуется гигантский RAM, но меньше response time. Для второго меньше RAM, но потенциально выше response time. Третий более надежный, но требует более сложной логики и долгой настройки.
А ещё можно поставить кеш перед Feed Service, чтобы первые 10 постов были всегда готовы (допустим, для всех пользаков). И таким образом мы можем сначала отдать из кеша, а попутно запустить поток готовить ленту дальше.
Как ты видишь, даже у 1 элемента в системе можно набросать множество вариантов. Но у каждого будут свои сильные и слабые стороны. Это называют trade-off📎
В след посте расскажу, а почему важно уметь прорабатывать разные варианты, если ты хочешь получить senior и выше👆
#лента #архитектура
Казалось, есть лента в любой социальной сети. Что там сложного: берёшь посты юзеров и накидываешь в общий пул постов. А ещё какую-нибудь рандомную сортировку — вообще великолепно.
Но не тут-то было
Во-первых, тебе нужно учитывать подписчиков пользователя. Во-вторых, тебе нужно понимать, что есть так называемые селебрити, у которых много подписчиков, а есть обычные пользаки. В-третьих, а что если пользователь давно не был в сети?
А ещё есть много способов доставки этих постов в ленту. Например, сравним 3 подхода:
- Храним все посты юзеров в кеше у Feed Service. При запросе ленты получаем подписчиков юзера и делаем feed-merge (подготовка ленты).
- Храним посты в кеше у Feed Service только для активных пользователей. А если неактивный: получить подписчиков и затем выгребать посты из сервиса постов.
- Храним посты в кеше у Feed Service, но делаем fallback strategy на Post Service, чтобы в случае отказа ленты у нас был запасной вариант. И ещё сюда можно прикрутить circuit breaker.
В чём
А ещё можно поставить кеш перед Feed Service, чтобы первые 10 постов были всегда готовы (допустим, для всех пользаков). И таким образом мы можем сначала отдать из кеша, а попутно запустить поток готовить ленту дальше.
Как ты видишь, даже у 1 элемента в системе можно набросать множество вариантов. Но у каждого будут свои сильные и слабые стороны. Это называют trade-off
В след посте расскажу, а почему важно уметь прорабатывать разные варианты, если ты хочешь получить senior и выше
#лента #архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤1😎1
Хочешь стать senior в Яндексе — умей видеть несколько вариантов реализации системы
В прошлом посте я говорил, что важно видеть несколько вариантов реализации системы. Обязательно прочитай посты выше (если ещё не видел).
🔍 Разберём реальные ситуации:
1️⃣ Спроектировать MVP системы и реализовать её за месяц
2️⃣ Распилить монолит и превратить его в микросервисы
3️⃣ Полгода на проект — нужно сделать всё идеально с первого раза
📌 Кратко по шагам для каждого случая
🚀 Быстрое MVP
- Главный компромисс — сложность против скорости:
- Можно пожертвовать надёжностью (durability), чтобы уложиться в срок
- Не делать всю функциональность, а только необходимую часть
- Обязательно провести load testing
🔨 Разделение монолита
- Анализ нагрузки каждого модуля (чтение/запись/CPU)
- Проработка зависимостей между сервисами
- Чёткий план миграции (не растягивать на годы!)
⏳ Полугодовой проект
- Прописать fallback-стратегии
- Заложить peak multipliers
- Продумать rollout: сначала только на X городов/Y% пользователей
- Не забыть про observability
👉 Как видишь, разные задачи требуют разного подхода.
📚 Пример из обучения
Со студентами обсуждали выбор структур данных для геозон:
- GeoHash
- KD-Tree
- R-Tree
- Quad-Tree
💡 Вывод:
Любая система многогранна. Оценивай свой проект под этим углом — и увидишь множество путей реализации.
PS: если хочешь проверить свой уровень проектирования, то записывайся на бесплатную диагностику
#разработка #архитектура #советы
В прошлом посте я говорил, что важно видеть несколько вариантов реализации системы. Обязательно прочитай посты выше (если ещё не видел).
🔍 Разберём реальные ситуации:
1️⃣ Спроектировать MVP системы и реализовать её за месяц
2️⃣ Распилить монолит и превратить его в микросервисы
3️⃣ Полгода на проект — нужно сделать всё идеально с первого раза
📌 Кратко по шагам для каждого случая
🚀 Быстрое MVP
- Главный компромисс — сложность против скорости:
- Можно пожертвовать надёжностью (durability), чтобы уложиться в срок
- Не делать всю функциональность, а только необходимую часть
- Обязательно провести load testing
🔨 Разделение монолита
- Анализ нагрузки каждого модуля (чтение/запись/CPU)
- Проработка зависимостей между сервисами
- Чёткий план миграции (не растягивать на годы!)
⏳ Полугодовой проект
- Прописать fallback-стратегии
- Заложить peak multipliers
- Продумать rollout: сначала только на X городов/Y% пользователей
- Не забыть про observability
👉 Как видишь, разные задачи требуют разного подхода.
📚 Пример из обучения
Со студентами обсуждали выбор структур данных для геозон:
- GeoHash
- KD-Tree
- R-Tree
- Quad-Tree
💡 Вывод:
Любая система многогранна. Оценивай свой проект под этим углом — и увидишь множество путей реализации.
PS: если хочешь проверить свой уровень проектирования, то записывайся на бесплатную диагностику
#разработка #архитектура #советы
🔥1
Я считаю, что программисты должны только писать код🖥
Смелое заявление, которое делают некоторые люди. Давай посмотрим на это с разных сторон.
Если ты не прорабатываешь задачу, не рисуешь архитектуру от и до, не выбираешь подходы, не набрасываешь product manager'у контраргументы на его предложения — ты отвечаешь только за свой маленький кусочек. И если другие звенья уйдут в отпуск или уволятся, тебе будет сложно — и оценка на ревью окажется не такой прекрасной.
А что, если ты захочешь попасть в западный Big Tech или создать свой проект? Тебе нужно уметь смотреть на проект шире, чем «вот ТЗ — напиши по нему».
Помни, что работа должна развивать тебя как специалиста, чтобы ты не оказался позади рынка. А если ты бездумно выполняешь задачи по ТЗ, то о каком развитии может идти речь❓
Если согласен, то ставь палец вверх👍
#архитектура #yandex
Смелое заявление, которое делают некоторые люди. Давай посмотрим на это с разных сторон.
Если ты не прорабатываешь задачу, не рисуешь архитектуру от и до, не выбираешь подходы, не набрасываешь product manager'у контраргументы на его предложения — ты отвечаешь только за свой маленький кусочек. И если другие звенья уйдут в отпуск или уволятся, тебе будет сложно — и оценка на ревью окажется не такой прекрасной.
А что, если ты захочешь попасть в западный Big Tech или создать свой проект? Тебе нужно уметь смотреть на проект шире, чем «вот ТЗ — напиши по нему».
Помни, что работа должна развивать тебя как специалиста, чтобы ты не оказался позади рынка. А если ты бездумно выполняешь задачи по ТЗ, то о каком развитии может идти речь
Если согласен, то ставь палец вверх👍
#архитектура #yandex
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥1🤯1
Какой же алгоритм для прохождения system design?🔧
Очень часто меня просят рассказать про этапы собеса по system-design. А также, что стоит делать на каждом.
Я решил подготовить ультимативный шаблон для этой секции, где будут шаги и примеры.
Забирай по ссылке
Если оказалось полезным, то ставь ❤️
#собес #шаблон
Очень часто меня просят рассказать про этапы собеса по system-design. А также, что стоит делать на каждом.
Я решил подготовить ультимативный шаблон для этой секции, где будут шаги и примеры.
Забирай по ссылке
Если оказалось полезным, то ставь ❤️
#собес #шаблон
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍2
Думаю устроить созвон через недельку где-то. Пообщаемся с вами на разные темы: от программирования до карьерных моментов.
Можете накидывать вопросы в комментах. По времени скажу чуть позже: в Екб в пятницу вечером лечу и будет +2 Мск
PS: если будешь, то ставь лайк (ну или как минимум хочешь зайти)
Можете накидывать вопросы в комментах. По времени скажу чуть позже: в Екб в пятницу вечером лечу и будет +2 Мск
PS: если будешь, то ставь лайк (ну или как минимум хочешь зайти)
👍35
Решено) В это воскресенье в 11:00 по Мск проведем эфир. Я буду в Екб, там +2
Если кто-то живет в Екб, то можете писать мне в личку — увидимся лично.
PS: а если ты с Москвы, то тоже можешь писать мне. Можем лично увидеться и поболтать
Если кто-то живет в Екб, то можете писать мне в личку — увидимся лично.
PS: а если ты с Москвы, то тоже можешь писать мне. Можем лично увидеться и поболтать
👍6🔥5❤🔥2
Через минут 25 начнем эфир)
Если у кого-то есть конкретные вопросы, то кидайте в комменты
Если у кого-то есть конкретные вопросы, то кидайте в комменты
👍3