TGViewer
Тимур Тибеев | BigTechDream Тимур Тибеев | BigTechDream @bigtechdream · 2.02K subscribers
Post #368 1.64K
👩‍🏫 Как практиковать систем дизайн?

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

Что это значит?

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

На практике же все превращается в кашу. Кандидат помнит, что должны быть очереди, но не помнит куда их поставить, кандидат говорит в целом правильные вещи, но сильно путается в деталях.

Поэтому видео должны дополнять практику, а не заменять ее.

Как готовлюсь я

Оставим за бортом изучение теории, представим на минуту, что я изучил основы Sql vs Nosql, sharding, balancing, protocols, etc.

Чтобы закрепить полученные знания, я должен научиться мыслить как архитектор. Я нахожу в интернете или придумываю сам себе любую задачу, например реализовать TikTok. Потом нахожу в офисе свободный кабинет с большой доской и начинаю рисовать.

Я иду по порядку
• Определить требования
• Попробовать расчитать нагрузку
• Накидать схемы таблиц и выбрать хранилище
• Нарисовать общую схему работы
• Попробовать найти узкие горлышки и устранить

Во время определения требований, я сам себе задаю вопросы и сам же на них отвечаю. Например, “Нужно ли реализовать комментарии к тик ток видео?”, “Давай пока нет, только лайки, но мы можем вернуться к этому вопросу потом”.

Потом во время решения, я задаю себе вопросы, почему я выбрал ту или иную технологию, могу ли я обосновать выбор?

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

Как понять, что я решил правильно?

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

Поэтому “Как понять, что я решил правильно?” - неверная постановка вопроса. Точнее будет “Что я не учел при проектировании системы?” “Можно ли было решить оптимальнее с учетом требований?”

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

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

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

Ставь 🔥 - если нравится решать system design задачки
Если не нравится, то 🤮
  • 🔥 48
  • ❤ 10
  • 👍 7
More from @bigtechdream
  1. Oct 14, 2026🏃️️️️️️Как не застрять на синьорском уровне: Моя история повышения Сколько раз, читая и п…
  2. Oct 13, 2026👑️️️️️️ Почему опыт работы становится важнее технологий Прочитал статью "Can Labor Market…
  3. Oct 12, 2026✈️ StackOverflow: Developer Survey 2026 Подъехал ежегодный отчет от stackoverflow, где опр…
  4. Oct 12, 2026Наткнулся на статью-мнение с очень успокаивающим названием “Почему разработка ПО незаменим…
  5. Oct 9, 2026💔 Почему следующие 2-3 года будут тяжелыми для джунов Тут недавно вышли две исследователь…
  6. Oct 7, 2026Кстати вот график, насколько вакансии упали по сравнению с 2022 годом
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →