Ultimate System Design Checklist

Вы проектируете масштабируемую систему на System Design интервью в BigTech. Всё идёт хорошо, пока вам не задают неожиданный вопрос. От ответа на который зависит ваше прохождение. Разберём 10 популярных вопросов, ответы со схемами и примерами в ультимативном чеклисте. И закроем для себя этот важный аспект интервью. Скорей ответы

https://habr.com/ru/articles/966822/

#system_design #backend #system_design_интервью #подготовка_к_собеседованию #распределенные_системы #highload

Ultimate System Design Checklist

Успешные прохождения System Design Интервью возможны благодаря 3ём факторам: Теоретической проработки архитектуры. Практики решения популярных задач. Умения отвечать на конкретные вопросы по системе....

Хабр

Как я проходил собеседование на Senior Java

Всем привет! Сейчас я работаю Senior Java Developer в банке, и за последние годы мне довелось пройти немало собеседований — разных по уровню, стилю и степени жесткости. Сегодня я хочу рассказать об одном из них и поделиться опытом, который может быть полезен тем, кто тоже готовится к новым вызовам.

https://habr.com/ru/articles/968968/

#java #собеседование #spring #postgresql #kafka #system_design #собеседование_в_it #собеседование_вопросы

Как я проходил собеседование на Senior Java

Всем привет! Сейчас я работаю Senior Java Developer в банке, и за последние годы мне довелось пройти немало собеседований - разных по уровню, стилю и степени жесткости. Сегодня я хочу рассказать об...

Хабр

Снижаем когнитивную сложность при проектировании архитектуры приложения

Когнитивная сложность - это понятие, описывающее сложность процесса познания и мышления. Оно используется в разных областях: в психологии оно характеризует индивидуальную способность к восприятию и обработке информации. Более высокая когнитивная сложность означает, что система (будь то человек или программа) требует больше усилий для понимания и может быть трудной в поддержке. Когнитивная сложность при проектировании приложения часто возникает из-за смешения архитектуры кода и архитектуры приложения. В большинстве случаев эти термина никак не разделены, а также эти термины не имеют однозначного толкования, как по содержанию так и по контексту использования. В практике и литературе эти понятия часто используются как синонимы или в пересекающихся контекстах, что приводит к неоднозначности. В зависимости от контекста (например, обсуждение микросервисов, монолитов, паттернов проектирования или рефакторинга), один и тот же термин может обозначать как уровень организации кода, так и более высокий уровень организации приложения или системы. В профессиональной литературе и стандартах (например, TOGAF, ArchiMate) архитектура программного обеспечения охватывает оба аспекта и организацию кода, и организацию приложения, что еще больше стирает границы между этими понятиями. Пора этой порочной практике сказать решительное НЕТ! Сказать решительное НЕТ

https://habr.com/ru/articles/968170/

#архитектура_приложений #system_design

Снижаем когнитивную сложность при проектировании архитектуры приложения

Когнитивная сложность - это понятие, описывающее сложность процесса познания и мышления. Оно используется в разных областях: в психологии оно характеризует индивидуальную способность к...

Хабр

Как пройти секцию по System Design на Senior: не проектируй системы — проектируй компромиссы

Многие инженеры годами работают над реальными системами, но теряются на собеседованиях, когда их просят спроектировать архитектуру с нуля. Причина проста: System Design — это не про технологии. Это про умение видеть контекст , задавать правильные вопросы , взвешивать последствия решений и находить обоснованные компромиссы . В этой статье мы расскажем, как развить именно эти навыки — те самые, которые отличают Senior‑инженера от Middle, и которые ценятся в топовых компаниях. Это не просто руководство к прохождению собеседований. Это приглашение освоить фундаментальный профессиональный навык, который пригодится вам каждый день на работе. Перейти к разбору

https://habr.com/ru/companies/otus/articles/965618/

#system_design #Архитектура_приложений #архитектура #проектирование_систем #масштабирование #собеседование #инженерное_мышление #отказоустойчивость #highload

Как пройти секцию по System Design на Senior: не проектируй системы — проектируй компромиссы

Вместо предисловия Многие инженеры годами работают над реальными системами, но теряются на собеседованиях, когда их просят спроектировать архитектуру с нуля. Причина проста: System Design — это не про...

Хабр

[Перевод] Всё, что я знаю о хорошем системном дизайне

Хороший системный дизайн редко выглядит эффектно. В нём нет модных паттернов, десятков сервисов и Kafka на каждый чих. Он скучен — и именно поэтому работает. В этой статье автор рассуждает о том, почему простота — не наивность, а зрелость инженерного мышления; как состояние становится главным врагом стабильности; и почему настоящая архитектура рождается не из гениальных трюков, а из понимания границ и закономерностей сложных систем. Разобраться в сути

https://habr.com/ru/companies/otus/articles/960948/

#system_design #system_architecture #системный_дизайн #архитектура_приложений #распределённые_системы #масштабируемость #надежность #базы_данных #проектирование_сервисов

Всё, что я знаю о хорошем системном дизайне

Я встречаю много плохих советов по системному дизайну. Один из классических постов — « держу пари, вы никогда не слышали об очередях „оптимизированный для LinkedIn и...

Хабр

Mobile System Design

Mobile System Design — один из ключевых навыков мобильного инженера. Именно он часто определяет уровень зрелости: в реальной работе, на собеседованиях и в матрицах компетенций компаний. Но вокруг этой темы полно разночтений и разных трактовок — отсюда споры, путаница и хаос. В этой статье я систематизирую Mobile System Design как дисциплину: покажу, какие навыки действительно важны и как они проверяются. Это не личное мнение, а выжимка из опыта инженеров, требований собеседований, литературы и практики команд.

https://habr.com/ru/articles/958940/

#system_design #iOS #android #mobile_system_design

Mobile System Design

Mobile System Design — один из главных навыков мобильного инженера. В реальной практике или на собесе это определят твою сеньорность. Компании проводят секции с оценками. Указывают навык в матрице...

Хабр

Чек-лист, который превращает интеграцию из хаоса в процесс

Добрый день, дорогие читатели! Хотела бы поделиться своим накопленным опытом и предложить вам некий универсальный чек-лист или даже в некоторой степени перечень рекомендаций в разрезе активностей и ролей, который поможет вам при интеграции систем, подготовке новых проектов. Желаю вам приятного чтения!

https://habr.com/ru/articles/960234/

#интеграция #интеграция_сервисов #интеграция_систем #интеграция_приложений #интеграция_данных #проектирование_систем #system_design #архитектура #архитектура_приложений #архитектурные_паттерны

Чек-лист, который превращает интеграцию из хаоса в процесс

Агенда Добрый день, дорогие читатели! Достаточно много статей и рекомендаций уделяется теме интеграции систем. Многие специалисты делятся своими рецептами успешных паттернов интеграции, представляют...

Хабр

Разбор системы: Доставка котировок

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

https://habr.com/ru/companies/otus/articles/958988/

#доставка_котировок #фондовый_рынок #высокая_нагрузка #низкая_задержка #ultralow_latency #архитектура_системы #system_design

Разбор системы: Доставка котировок

Если ты когда‑то бывал на собеседовании по system design, то в курсе про все особенности данного этапа. Если же нет, то вкратце: Тебе даются функциональные требования...

Хабр

Как я в одиночку спроектировал API-шлюз на FastAPI, который держит 200к+ запросов в сутки

Привет, Хабр! я Python-инженер. Последние несколько лет я в одиночку строил довольно сложную бэкенд-систему, и за это время набил немало шишек и нашел, как мне кажется, несколько интересных решений. В этой статье я хочу поделиться не "историей успеха", а конкретными архитектурными проблемами и их решениями при построении высокопроизводительного сервиса на асинхронном Python. Статья будет полезна тем, кто работает с FastAPI, микросервисами и думает о надежности и масштабируемости своих систем.

https://habr.com/ru/articles/957898/

#fastapi #asyncio #python #rabbitmq #highload #devops #system_design #микросервисы

Как я в одиночку спроектировал API-шлюз на FastAPI, который держит 200к+ запросов в сутки

Архитектурные решения, грабли и RabbitMQ Привет! Я Python-инженер. Последние несколько лет я в одиночку строил довольно сложную бэкенд‑систему, и за это время набил немало шишек и нашел,...

Хабр

Процесс регистрации/авторизации пользователя по номеру телефону через Telegram

Всем привет. Недавно пришлось решать проблему идентификации пользователя по номеру телефона в маленьком стартапе, позволяющим оформлять и оплачивать заказы онлайн. Почему именно номер телефона, а не электронная почта, например, или авторизация через соц. сети? Телефон сейчас, как мне кажется, де-факто стандарт для таких кейсов - это во-первых, а во-вторых, используя телефонный номер, можно подключать разные варианты его подтверждения: от смс до звонков с дальнейшим вводом либо кода из смс, либо последних цифр звонившего номера. Думаю, тут всем знакомы подобные механики. Изначально я сразу и предложил использовать механику с СМС-шлюзом, но так как я тут имею дело со стартапом без инвестиций, то меня попросили придумать как на первоначальном этапе можно сэкономить (в идеале обойтись на этом этапе совсем без затрат), так как основной целью запуска было тестирование бизнес-идеи. По предварительным исследованиям целевая пользовательская аудитория продукта является пользователями мессенджера Telegram. Вот в эту сторону я и начал думать. “Коробочный” механизм авторизации через виджет Telegram не отдает номер телефона пользователя, а нам именно он и нужен. Городить велосипед по получению номера телефона по id пользователя идея не самая лучшая, поэтому я решил сделать своего ТГ-бота для механики авторизации. Я на паре сайтов уже видел подобные решения, быстрый поиск по примерам реализации этой механики не дал внятных результатов. При поиске “авторизация telegram” я наткнулся на сайт , который был первым в поисковой выдаче. Пошел смотреть как у них все устроено, рассмотрим по шагам:

https://habr.com/ru/articles/956162/

#бот #телеграмбот #авторизация #номер_телефона #регистрация #python #system_design #user_flow #user

Процесс регистрации/авторизации пользователя по номеру телефону через Telegram

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

Хабр