Skip to content

Вопросы на собеседовании: Архитектор решений

100 реальных вопросов с образцовыми ответами и пояснениями для уровня Junior.

Смотреть пример резюме: Архитектор решений

Тренировка флешкарточками

Интервальное повторение · Hunter Pass

Вопросы

cloud-fundamentals

Облачные вычисления предоставляют технологические ресурсы по запросу через сеть с учётом фактического потребления.

  • К ресурсам относятся вычисления, хранилища, базы данных, сети и управляемые прикладные сервисы.
  • Клиенты могут выделять ёмкость через консоль или API вместо предварительной покупки и установки оборудования.
  • Крупные провайдеры, такие как AWS, Azure и GCP, управляют базовыми дата-центрами и сервисными платформами.

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

cloud-modelscloud

IaaS, PaaS и SaaS различаются прежде всего тем, какую часть технологического стека обслуживает провайдер.

  • IaaS предоставляет виртуальные машины, хранилища и сеть, а клиент управляет операционной системой и приложением.
  • PaaS предоставляет управляемую среду выполнения и платформу деплоя, а клиент загружает код и данные приложения.
  • SaaS предоставляет готовое приложение через браузер или API, например Microsoft 365 или Salesforce.

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

cloud-fundamentals

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

  • Провайдер защищает физические площадки, оборудование и базовую инфраструктуру управляемых сервисов.
  • Клиент защищает учётные записи, данные, конфигурацию и нагрузки в объёме, зависящем от выбранного сервиса.
  • В IaaS у клиента больше обязанностей, чем в сервисах с высокой степенью управления, таких как SaaS.

Зачем это спрашивают: Интервьюер оценивает понимание того, что переход в облако не передаёт провайдеру все обязанности по безопасности.

availabilitycloud-regionshigh-availability

Регион представляет географическое расположение облака, а зона доступности представляет изолированную площадку внутри региона.

  • Регион выбирают с учётом задержки, требований законодательства, доступности сервисов и присутствия бизнеса.
  • Зоны доступности имеют раздельные системы питания, сети и площадки, чтобы ограничивать связанные сбои.
  • Размещение в нескольких зонах помогает региональному приложению работать при отказе одной зоны.

Зачем это спрашивают: Сильный ответ отличает географическое размещение от изоляции отказов внутри одной географии.

hybrid-cloud

Эти модели описывают владельца инфраструктуры и способ соединения сред организации.

  • Публичное облако использует общую инфраструктуру провайдера для многих клиентов с логической изоляцией.
  • Частное облако выделено одной организации и может работать в её дата-центре или у хостинг-провайдера.
  • Гибридное облако соединяет частную инфраструктуру с публичными облачными сервисами для совместной работы нагрузок и данных.

Зачем это спрашивают: Интервьюер проверяет, можете ли вы описать модели развёртывания, не смешивая их с IaaS, PaaS и SaaS.

compute

Облачная виртуальная машина представляет изолированный программный компьютер на общем физическом оборудовании.

  • У неё есть виртуальные CPU, память, диски, сеть и собственная гостевая операционная система.
  • Гипервизор разделяет несколько виртуальных машин на одном физическом хосте.
  • AWS EC2, Azure Virtual Machines и GCP Compute Engine служат распространёнными сервисами виртуальных машин.

Зачем это спрашивают: Интервьюер проверяет понимание базовой вычислительной абстракции IaaS.

serverless

Serverless позволяет запускать код или приложения без прямого выделения и обслуживания серверов клиентом.

  • Провайдер управляет инфраструктурой, доступностью среды выполнения и значительной частью масштабирования.
  • Сервисы функций, такие как AWS Lambda и Azure Functions, запускают код по запросам или событиям.
  • Оплата обычно зависит от запросов, времени выполнения или потреблённых ресурсов, а не от постоянно работающего сервера.

Зачем это спрашивают: Сильный ответ объясняет уровень абстракции и модель выполнения, а не утверждает, что серверов вообще нет.

containerscompute

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

  • Контейнеры обычно меньше и запускаются быстрее, поскольку не загружают отдельную операционную систему.
  • Виртуальные машины дают более сильную границу изоляции и могут запускать разные операционные системы на одном хосте.
  • Docker собирает и запускает контейнеры, а Kubernetes координирует их работу в кластере.

Зачем это спрашивают: Интервьюер оценивает понимание разных уровней изоляции и упаковки.

kubernetes

Управляемый сервис Kubernetes обслуживает control plane кластера, а клиент развёртывает и сопровождает свои нагрузки.

  • Провайдер поддерживает Kubernetes API и доступность компонентов control plane.
  • Клиент по-прежнему отвечает за описания нагрузок, образы контейнеров, политики доступа и часто за ёмкость рабочих узлов.
  • AWS EKS, Azure AKS и Google GKE служат основными облачными примерами.

Зачем это спрашивают: Сильный ответ разделяет обязанности провайдера и клиента.

kubernetesawslambda

Эти сервисы AWS закрывают основные задачи вычислений, контейнеров, баз данных и хранения.

  • EC2 предоставляет виртуальные машины, Lambda запускает событийные функции, а EKS предоставляет управляемый Kubernetes.
  • RDS обслуживает поддерживаемые реляционные СУБД, такие как PostgreSQL и MySQL.
  • S3 хранит объекты, например файлы, резервные копии, логи и статические ресурсы сайтов.

Зачем это спрашивают: Интервьюер проверяет, правильно ли вы размещаете основные сервисы AWS по архитектурным слоям.

compute

Эти сервисы Azure предоставляют три разных способа запуска приложений.

  • Azure Virtual Machines дают контроль на уровне операционной системы над постоянными вычислительными инстансами.
  • Azure Functions запускает событийный код в serverless-модели.
  • AKS предоставляет управляемый Kubernetes для оркестрации контейнерных приложений.

Зачем это спрашивают: Интервьюер оценивает знание основных вычислительных абстракций Azure.

kubernetes

Эти сервисы GCP запускают нагрузки на уровнях виртуальных машин, управляемых контейнеров и Kubernetes.

  • Compute Engine предоставляет настраиваемые виртуальные машины.
  • Cloud Run запускает образы контейнеров на управляемой платформе и масштабирует инстансы по запросам.
  • GKE предоставляет управляемые кластеры Kubernetes для оркестрации контейнеров.

Зачем это спрашивают: Интервьюер проверяет, различаете ли вы вычислительные сервисы GCP по уровню абстракции.

cloud-storage

Объектное, блочное и файловое хранилища используют разные способы организации данных и доступа к ним.

  • Объектное хранилище держит целые объекты с метаданными в бакетах и предоставляет доступ через API.
  • Блочное хранилище предоставляет сырые тома, которые операционная система форматирует и монтирует как диск.
  • Файловое хранилище предоставляет общие каталоги и файлы по протоколам вроде NFS или SMB.

Зачем это спрашивают: Сильный ответ различает модели доступа к хранилищам, а не только называет продукты.

aws

Amazon S3 представляет сервис объектного хранения, который размещает объекты внутри бакетов.

  • У каждого объекта есть ключ, содержимое, метаданные и при необходимости данные о версии.
  • У бакетов есть имена, региональное размещение, политики доступа и настройки вроде lifecycle rules.
  • Приложения обращаются к S3 через API, а не монтируют его как обычный блочный диск.

Зачем это спрашивают: Интервьюер проверяет понимание модели бакетов и объектов в S3.

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

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

Зачем это спрашивают: Сильный ответ отделяет защиту от потери данных от возможности немедленно обратиться к сервису.

cloud-storageversioning

Версионирование сохраняет несколько редакций объекта, а lifecycle policies автоматизируют хранение и перемещение объектов.

  • Версионирование защищает от случайной перезаписи или удаления за счёт сохранения старых версий.
  • Lifecycle rules могут переносить старые объекты в более дешёвые классы хранения или удалять их через заданный срок.
  • Обе функции требуют планирования срока хранения и стоимости, поскольку сохранённые версии занимают место.

Зачем это спрашивают: Интервьюер оценивает знание базовых функций управления данными помимо загрузки объектов.

networking

VPC или виртуальная сеть представляет логически изолированное сетевое пространство внутри облачного провайдера.

  • У него есть диапазон IP-адресов, разделённый на подсети для организации ресурсов.
  • Таблицы маршрутов, шлюзы и средства безопасности определяют пути трафика.
  • AWS использует название VPC, а Azure обычно называет сервис Virtual Network или VNet.

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

networking

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

  • В публичных подсетях часто размещают внешние балансировщики или шлюзы.
  • В частных подсетях часто размещают серверы приложений и базы данных с доступом по внутренним маршрутам.
  • Ресурсу также нужны подходящий адрес и правила безопасности, поэтому один тип подсети не гарантирует доступ.

Зачем это спрашивают: Сильный ответ связывает тип подсети с маршрутизацией, а не только с названиями ресурсов.

networking

Таблица маршрутов сопоставляет диапазоны адресов назначения со следующим узлом для трафика.

  • Локальный маршрут обеспечивает связь между подсетями внутри виртуальной сети.
  • Маршрут по умолчанию может направлять интернет-трафик в интернет-шлюз или NAT gateway.
  • Путь пакета обычно определяет наиболее конкретный подходящий маршрут.

Зачем это спрашивают: Интервьюер оценивает понимание базового механизма направления облачного сетевого трафика.

networking

Облачные файрволы и security groups управляют разрешённым входящим и исходящим трафиком ресурсов.

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

Зачем это спрашивают: Интервьюер проверяет понимание контроля сетевого доступа на границе ресурса.

Закрытые вопросы

  • 21

    Для чего нужен NAT gateway?

    gatewaynetworking
  • 22

    Какую роль DNS играет в облачной архитектуре?

    dns
  • 23

    В чём разница между балансировкой нагрузки на уровнях L4 и L7?

    load-balancing
  • 24

    В чём разница между вертикальным и горизонтальным масштабированием?

    scaling
  • 25

    Чем масштабируемость отличается от эластичности?

    scalability
  • 26

    Что означает высокая доступность?

    high-availability
  • 27

    Чем отказоустойчивость отличается от высокой доступности?

    high-availability
  • 28

    Почему размещение в нескольких зонах доступности повышает доступность?

    availabilityhigh-availabilitydeployment
  • 29

    Почему stateless-инстансы приложения легче масштабировать горизонтально?

    scalingcompute
  • 30

    Для чего нужен health check в распределённом приложении?

    distributedhealth-checks
  • 31

    Что такое кеширование и зачем его используют в архитектуре систем?

    system-designcaching
  • 32

    Что такое CDN?

    cdn
  • 33

    Что такое TTL и инвалидация кеша?

    caching
  • 34

    В чём разница между базами данных SQL и NoSQL?

    sqlnosqldatabase
  • 35

    Что такое управляемый сервис реляционной базы данных?

    database
  • 36

    Что такое Azure Cosmos DB?

  • 37

    Чем репликация базы данных отличается от резервной копии?

    databasereplicationbackups
  • 38

    Что означает ACID для транзакций базы данных?

    databasetransactionsacid
  • 39

    Что такое монолитная архитектура приложения?

    monolithmicroservices
  • 40

    Что такое микросервисная архитектура?

    microservices
  • 41

    Каковы основные принципы REST API?

    rest
  • 42

    Что такое API gateway?

    gatewayapi-gatewayapi
  • 43

    Чем синхронная интеграция сервисов отличается от асинхронной?

    async
  • 44

    Что такое очередь сообщений?

    queuesmessagingdata-structures
  • 45

    Что такое обмен сообщениями по модели публикация-подписка?

  • 46

    Что такое событийная архитектура?

    eventsevent-driven
  • 47

    Что такое bounded context в Domain-Driven Design?

    design
  • 48

    Что такое Infrastructure as Code?

    iac
  • 49

    Как Terraform и AWS CloudFormation связаны с Infrastructure as Code?

    terraformiaccloudformation
  • 50

    Каковы столпы AWS Well-Architected Framework?

    well-architected
  • 51

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

  • 52

    Команде нужен небольшой HTTP API с редким и непредсказуемым трафиком. С какого варианта вычислений вы начнёте?

    http
  • 53

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

    databasetransactions
  • 54

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

    design
  • 55

    Как спроектировать базовое веб-приложение, которое должно вырасти от сотен до десятков тысяч пользователей?

    design
  • 56

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

    scalingcomputesessions
  • 57

    Каждое утро в будни трафик растёт, и один сервер приложения перегружается. Какое изменение архитектуры вы предложите?

    architecture
  • 58

    Как сделать небольшое production-приложение устойчивым к потере одной зоны доступности?

    availabilityhigh-availability
  • 59

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

    databasebackups
  • 60

    После регионального сбоя бизнес допускает четыре часа простоя и потерю одного часа данных. С чего вы начнёте проектирование восстановления?

    designcloud-regions
  • 61

    Большинство дней обработчик файлов простаивает, но иногда одновременно приходят тысячи файлов. Как его спроектировать?

    designconcurrency
  • 62

    Когда вы не стали бы использовать serverless-функции для новой нагрузки?

    serverless
  • 63

    У команды есть один stateless API в контейнере и нет опыта с Kubernetes. Стоит ли размещать его в EKS, AKS или GKE?

    kubernetescontainersapi
  • 64

    Команде нужно развернуть несколько сервисов в Kubernetes. Какую базовую архитектуру вы предложите?

    kubernetesdeploymentarchitecture
  • 65

    Облачные dev-окружения работают ночью и по выходным, хотя ими никто не пользуется. Как сократить расходы?

  • 66

    Мониторинг показывает, что виртуальная машина месяц использует меньше 10% CPU и мало памяти. Что вы порекомендуете?

    computemonitoringmemory
  • 67

    Медиаархив в объектном хранилище быстро растёт, но большинство файлов не читают после 90 дней. Что вы измените?

    cloud-storage
  • 68

    Облачный счёт резко вырос после того, как приложение начало раздавать большие файлы по всему миру. Как вы найдёте и сократите расходы?

  • 69

    Компания хочет перенести небольшое локальное приложение в облако. Что вы оцените до выбора сервисов?

  • 70

    Как при миграции legacy-приложения выбрать между переносом виртуальной машины без изменений и переходом на управляемые сервисы?

    computecloud-migrationmigrations
  • 71

    Как перенести локальную реляционную базу в управляемую облачную базу с коротким простоем?

    database
  • 72

    Какой план отката вы подготовите до перевода production-трафика в новое облачное окружение?

    rollback
  • 73

    Облачное приложение должно обращаться к базе данных, которая остаётся в локальном дата-центре. Как спроектировать подключение?

    databasequeriesdesign
  • 74

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

  • 75

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

    system-designdesign
  • 76

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

  • 77

    Платёжный провайдер отправляет вебхуки и может несколько раз повторить одно событие. Как безопасно их принимать?

    resiliencewebhooks
  • 78

    Критичный сценарий вызывает сторонний SaaS API, который иногда недоступен. Как защитить приложение?

    dependenciescloudapi
  • 79

    Два облачных сервиса должны вызывать друг друга без хранения долгоживущих паролей. Как их аутентифицировать?

    passwords
  • 80

    Как спроектировать базовый периметр безопасности для публичного трёхуровневого веб-приложения?

    design
  • 81

    Приложение хранит пароль базы данных внутри образа контейнера. Какое изменение архитектуры вы предложите?

    containersdatabasepasswords
  • 82

    Команда разработки просит права администратора на весь облачный аккаунт ради деплоя одного сервиса. Что вы предложите?

    deployment
  • 83

    Для удобства базу данных и внутренние сервисы разместили в публичных подсетях. Как улучшить сетевую архитектуру?

    designnetworkingdatabase
  • 84

    Публичный API получает вредоносный трафик, из-за которого растут расходы и ошибки. Какие меры вы добавите?

    api
  • 85

    Решение хранит данные клиентов и передаёт их между сервисами. Как защитить эти данные?

  • 86

    Какой мониторинг вы добавите до запуска нового пользовательского сервиса?

    monitoring
  • 87

    Запрос пользователя проходит через API gateway, два сервиса и базу, но место сбоя трудно найти. Что вы добавите?

    gatewayapi-gatewayapi
  • 88

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

    cloud-regions
  • 89

    На архитектурной схеме production показаны один экземпляр приложения и одна база. Как вы оцените риск?

    computedatabase
  • 90

    Веб-приложение замедлилось, потому что база данных достигла предела мощности. Какие варианты вы оцените сначала?

    decision-makingdatabasecapacity
  • 91

    Каталог товаров часто читают, но меняют лишь несколько раз в час. Где в архитектуре уместен кеш?

    caching
  • 92

    Интернет-магазин раздаёт изображения товаров, публичные страницы и персональные страницы аккаунта. Как использовать CDN?

    discoverycdn
  • 93

    Команда из пяти человек хочет разделить новое бизнес-приложение на двенадцать микросервисов. Что вы порекомендуете?

    microservices
  • 94

    Как разделить ответственность за заказы, остатки и клиентов в архитектуре приложения?

    design
  • 95

    Команда создаёт облачные ресурсы вручную, и тестовое окружение отличается от production. Что вы измените?

    test-environments
  • 96

    Terraform сообщает, что production-ресурс отличается от репозитория. Как вы обработаете drift?

    terraformiac
  • 97

    Что вы включите в архитектурную схему облачного приложения для design review?

    design
  • 98

    Заказчик просит спроектировать высокодоступную платформу, но не сообщает трафик и требования к восстановлению. Что вы спросите сначала?

    stakeholder-managementdesigncommunication
  • 99

    Более дешёвая архитектура восстанавливается медленнее, чем дорогой вариант. Как вы представите выбор?

    design
  • 100

    Два управляемых сервиса выглядят подходящими для новой интеграции. Как выбрать между ними?