Skip to content

Вопросы на собеседовании: FinOps-инженер

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

Смотреть пример резюме: FinOps-инженер

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

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

Вопросы

finops

FinOps помогает командам получать максимум бизнес-ценности от облачных расходов за счёт совместных и своевременных решений.

  • Инженеры получают данные о затратах, на которые можно повлиять, например рост стоимости сервиса с $800 до $1 100 в день.
  • Финансы получают объяснимый прогноз, а не неожиданный счёт после закрытия месяца.
  • Продукт может сопоставлять затраты с результатом, например снизить стоимость одного оплаченного заказа с $0,12 до $0,09.

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

finops-loopoptimizationforms

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

  • Inform распределяет счёт на $30 000 между командами, сервисами и продуктами, чтобы владельцы видели свою долю.
  • Optimize находит действие, например удалить пять простаивающих VM стоимостью $70 в месяц каждая.
  • Operate назначает ответственного, измеряет результат и повторяет проверку при изменении потребления или цен.

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

cloud-costcloud-usage

Потребление показывает объём использованного ресурса, а затраты показывают плату за этот объём с учётом цены и модели скидок.

  • Работа VM в течение 100 часов является потреблением; при цене $0,10 в час валовые затраты составят $10.
  • После скидки затраты могут снизиться при тех же 100 часах, поэтому нужно проверять обе величины.
  • Скачок затрат может быть вызван ростом потребления на 30 процентов, более дорогим регионом или окончанием скидки.

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

cost-basiscommitments

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

  • Unblended cost провайдера сохраняет unblended-ставку каждой строки потребления и даёт близкое к прайс-листу представление без претензии на универсальную основу затрат.
  • Amortized или effective cost распределяет авансовые и регулярные платежи и выгоды обязательств по покрытому потреблению и времени.
  • Net views зависят от схемы: AWS NetUnblended и NetAmortized применяют скидки платёжной организации, а FOCUS BilledCost и EffectiveCost отражают суммы счёта и стоимость с учётом обязательств; строки кредитов остаются отдельными от скидок.

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

Надёжное закрытие объединяет признание начисленных расходов финансами, контекст потребления от инженеров и бизнес-объяснение от продукта.

  • Финансы признают начисленные расходы до получения финального счёта, например $9 800 по суточным данным, пока ожидаются запоздалые строки.
  • Инженеры объясняют изменения, например новый кластер добавил 2 000 вычислительных часов за календарный расчётный период.
  • Продукт подтверждает, что дополнительные $600 дали результат, например 15 000 дополнительных клиентских транзакций.

Зачем это спрашивают: Вопрос проверяет базовое понимание расчётного периода и начислений вместе с моделью общей ответственности FinOps.

cloud-cost

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

  • Измерения провайдера включают аккаунт или подписку, сервис, регион и ID ресурса.
  • Бизнес-измерения включают продукт, команду, центр затрат, клиента и окружение.
  • Счёт на $12 000 можно сначала разделить по аккаунтам, затем по тегу продукта, а оставшиеся $900 пометить как нераспределённые.

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

allocation

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

  • Аккаунты AWS, подписки Azure и проекты GCP группируют ресурсы и начисления внутри именованного контейнера.
  • Раздельные контейнеры production и development позволяют распределить затраты $7 000 и $2 000 без проверки каждого ресурса.
  • Это крупные границы, поэтому в общем аккаунте всё равно нужны теги или данные по ресурсам для разделения команд.

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

finops

Теги или labels добавляют к ресурсам бизнес-контекст, чтобы начисления можно было группировать и назначать владельцам.

  • Ресурс с тегами product=checkout и environment=prod можно показать и в отчёте по продуктам, и в отчёте по окружениям.
  • Ключи и значения нужно нормализовать, потому что Team=Payments и team=payments могут образовать разные группы.
  • Теги не должны содержать чувствительные данные; лучше использовать стабильные идентификаторы, а не отображаемое имя сотрудника.

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

allocation

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

  • Лучше требовать небольшой набор cost_center, owner, product и environment, чем 20 необязательных ключей.
  • Допустимые значения проверяют в инфраструктурном коде или policy-инструментах, отклоняя env=production, если стандарт требует env=prod.
  • Compliance нужно считать еженедельно, например из $1 000 затрат подходящих ресурсов корректно размечены $920, значит показатель равен 92 процентам.

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

cloud-cost

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

  • Некоторые сборы за поддержку, налоги, начисления marketplace и сервисы уровня провайдера не имеют ресурсного тега.
  • Их нужно помещать в именованную категорию вроде Shared Platform, а не молча относить к unknown.
  • Сбор за поддержку $1 000 можно распределить по доле подходящих затрат команд или оставить централизованным, если такова согласованная политика.

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

cloud-cost

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

  • Общую стоимость control plane Kubernetes в $3 000 можно разделить по запрошенным CPU, если requests отражают зарезервированную ёмкость.
  • Платформу логирования можно распределить по принятым GB: если команда A отправила 60 GB, а команда B 40 GB, доли составят 60/40.
  • Драйвер нужно опубликовать, а при слабых измерениях сохранить централизованную долю вместо сомнительного распределения.

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

allocation

Showback показывает отнесённые на команду затраты, а chargeback отражает их в её бюджете или бухгалтерском учёте.

  • Showback-дашборд может показать Payments потребление на $8 400, не меняя бюджет команды.
  • Chargeback проводит эти $8 400 по центру затрат Payments в бухгалтерской книге, поэтому ошибки распределения влияют на финансовый результат.
  • Команды часто начинают с showback, чтобы повысить качество данных до внедрения контролей chargeback.

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

allocation

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

  • cost_center=CC120 связывает начисление $4 000 с бюджетной структурой финансов.
  • owner=payments-platform назначает инженерную команду ответственной за проверку начисления.
  • environment=prod отделяет затраты обслуживающей клиентов системы от dev или test, которые можно выключать по расписанию.

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

allocation-coveragecoverageallocation

Allocation coverage показывает долю подходящих затрат, назначенную принятому владельцу или бизнес-измерению.

  • Если из $100 000 подходящих затрат у $92 000 есть корректный владелец, покрытие равно 92 процентам.
  • Явно нераспределяемые позиции исключают только по документированному правилу, а не ради улучшения KPI.
  • Нужно отслеживать и покрытие затрат, и compliance ресурсов, потому что одна дорогая база без тега важнее 100 мелких ресурсов.

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

Иерархия определяет, как начисления, скидки и владение сворачиваются из дочерних аккаунтов в платёжную организацию.

  • Управляющий или платёжный аккаунт получает начисления от связанных аккаунтов, подписок или проектов.
  • Папки бизнес-юнитов или organizational units позволяют свернуть дочерние аккаунты на $5 000 и $7 000 в итог подразделения $12 000.
  • Перенос аккаунта в середине месяца усложняет сравнения, поэтому изменения иерархии требуют дат вступления в силу и истории соответствий.

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

aws-cur

Для базовой проверки таблицы Athena из legacy AWS CUR нужны поля типа начисления, времени, сервиса, потребления, ресурса и стоимости.

  • line_item_line_item_type различает Usage, Tax, Credit, Refund и записи, связанные с обязательствами.
  • line_item_usage_start_date, product_product_name и line_item_usage_type показывают, когда и что было потреблено.
  • Если для отчёта включены resource IDs, line_item_resource_id связывает начисления поддерживаемых ресурсов с line_item_usage_amount и line_item_unblended_cost.

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

sqlaws-cur

Я бы агрегировал столбец стоимости по сервису за ограниченный расчётный период и отсортировал результат по убыванию.

  • Нужно отфильтровать реальные столбцы партиций таблицы, обычно year и month, а также ограничить line_item_usage_start_date нужными датами потребления.
  • В SELECT указать product_product_name и SUM(line_item_unblended_cost), затем выполнить GROUP BY по полю сервиса.
  • Результат отсортировать по сумме затрат по убыванию и ограничить десятью строками, проверив, нужны ли в выборке кредиты и налоги.

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

cost-explorer

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

  • Фильтр по одному linked account, июню и EC2 позволяет ответить на конкретный вопрос вместо просмотра всего счёта.
  • Группировка по типу инстанса, региону или cost allocation tag помогает найти сегмент, вызвавший рост на $2 000.
  • При сравнении нужно сохранять одну метрику затрат и детализацию, чтобы не сопоставлять дневной unblended-график с месячным amortized-графиком.

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

focus

FOCUS 1.4 CostAndUsage нормализует платёжные данные, чтобы затраты и потребление разных провайдеров имели единые названия и значения.

  • BillingAccountId, SubAccountId, ServiceName, ChargePeriodStart и ChargePeriodEnd определяют иерархию, сервис и период начисления.
  • BilledCost и EffectiveCost дают представления для счёта и стоимости с учётом обязательств, а ConsumedQuantity и ConsumedUnit описывают потребление.
  • ChargeCategory классифицирует Usage, Purchase, Credit, Tax и Adjustment; ChargeClass отмечает исправление закрытого периода, а не общий тип начисления.

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

consistencyfinopsfreshness

FinOps-отчёт должен указывать свежесть данных и допускать изменение недавних периодов при поступлении запоздалых записей.

  • Если пайплайн загрузил данные по 06:00 UTC, нужно показать эту отметку, а не называть сегодняшний итог $4 200 окончательным.
  • Скользящее окно, например последние семь дней, нужно пересчитывать для захвата задержанного потребления и исправленных начислений.
  • Итоги месяца фиксируют или версионируют только после согласованной с финансами точки закрытия, а поздние корректировки учитывают отдельно.

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

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

  • 21

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

  • 22

    Как обрабатывать несколько платёжных валют в отчётности по затратам?

  • 23

    От чего зависит on-demand стоимость виртуальной машины?

    pricing
  • 24

    VM стоит $72 в месяц и в среднем использует CPU на 2 процента; какой вывод можно сделать?

    utilization
  • 25

    Почему нужно проверять и среднюю, и пиковую утилизацию VM?

    utilization
  • 26

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

  • 27

    Как передача данных создаёт облачные затраты?

    cloud-cost
  • 28

    Почему NAT gateway может неожиданно стать крупной статьёй затрат?

    gatewaynetworking
  • 29

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

    database
  • 30

    Как обычно рассчитывается цена serverless-функции?

  • 31

    Чем Kubernetes requests отличаются от usage в Kubecost или OpenCost?

    kuberneteskubernetes-cost
  • 32

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

    unit-economics
  • 33

    Когда полезна on-demand модель оплаты compute?

    pricing
  • 34

    Что концептуально представляет собой Reserved Instance?

    commitments
  • 35

    Чем Savings Plans и committed use discounts отличаются от резервации конкретного ресурса?

    commitments
  • 36

    Для каких задач лучше всего подходят Spot или preemptible compute?

    spot
  • 37

    Чем coverage обязательств отличается от utilization?

    utilizationcommitmentscoverage
  • 38

    Какие риски связаны со сроком обязательства и вариантами оплаты?

    commitments
  • 39

    Как выглядит безопасный базовый процесс rightsizing для VM?

    optimizationconcurrencyfinops
  • 40

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

  • 41

    Как расписание может сократить стоимость nonproduction-ресурсов?

    cloud-costjobs
  • 42

    Что предоставляет AWS Compute Optimizer?

    finops-loopoptimizationrightsizing
  • 43

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

    cloud-costvalidation
  • 44

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

    cloud-costanomaly
  • 45

    Как настроить базовый алерт облачного бюджета?

    configalertingbudgeting
  • 46

    Что должен содержать базовый showback-дашборд?

    allocation
  • 47

    Как рассчитать и объяснить месячное отклонение облачных затрат?

    dispersionvariancecloud-cost
  • 48

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

    forecastingcloud-cost
  • 49

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

    validationoptimization
  • 50

    Что такое FinOps capabilities и модель зрелости Crawl, Walk, Run?

    finops
  • 51

    Соответствие требованиям по тегам составляет 62% для 1 000 оплачиваемых ресурсов, а цель равна 90%; как вы закроете разрыв?

  • 52

    У 12 ресурсов стоимостью $3 600 за месяц нет тега владельца; как вы найдёте их владельцев?

  • 53

    Общий сбор за поддержку в $1 200 нужно распределить между командами, которые создали 50, 30 и 20 обращений; какие суммы вы покажете?

  • 54

    CUR показывает $48 600 за июнь, а итог showback-отчёта равен $51 000; как вы исследуете расхождение?

    allocationaws-cur
  • 55

    Payer-аккаунт показывает $90 000, а три связанных аккаунта показывают $35 000, $30 000 и $25 000, но один аккаунт отнесён не к тому бизнес-направлению; что вы проверите?

  • 56

    Тег окружения содержит значения Prod, prod и production у ресурсов стоимостью $14 400; как безопасно убрать дублирующиеся значения?

  • 57

    Месячный счёт на $45 000 включает $2 700 расходов, к которым нельзя применить ресурсные теги; как вы их представите?

  • 58

    Команда оспаривает chargeback на $8 400, потому что её дашборд показывает $7 900; как вы разберёте разницу в $500?

    allocation
  • 59

    Строка CUR показывает 10 часов использования по $0,12 в час и unblended cost $1,20; как вы её интерпретируете и проверите?

    cost-basisaws-cur
  • 60

    Запрос Athena возвращает $1 000 из CUR, который должен давать $500, после того как каждая из 100 строк расходов соединилась с двумя строками тегов; как это исправить?

    queriesaws-cur
  • 61

    Cost Explorer показывает $12 000 amortized cost и $10 800 unblended cost за один месяц; почему они могут отличаться и что вы проверите?

    cost-basiscommitmentscost-explorer
  • 62

    За месяц есть $20 000 расходов на использование, кредит $1 500 и возврат $500; какой внутренний результат сверки от валовой суммы к итоговой должен показать отчёт?

  • 63

    Cost Explorer показывает общие расходы $27 000, $11 400 после фильтра EC2 и $7 200 после добавления фильтра одного связанного аккаунта; как вы проверите результат?

    awscost-explorer
  • 64

    Выгрузка по FOCUS содержит BilledCost $9 600 и EffectiveCost $8 900 для одной нагрузки; как вы сопоставите и проверите разницу в $700?

    focusvalidation
  • 65

    Сначала дневной набор расходов показывает $31 200 за июнь, а через два дня поздний счёт добавляет $900; как вы отразите обновление?

  • 66

    Европейский аккаунт показывает €8 000, согласованный курс на конец месяца равен $1,10 за евро, а дашборд показывает $8 600; что вы проверите?

  • 67

    Четыре VM в среднем используют меньше 2% CPU в течение 14 дней, каждая стоит $0,12 в час; какую возможность экономии вы поднимете?

  • 68

    База данных стоит $0,40 в час, 21 день остаётся ниже 20% CPU и 45% памяти, а меньший размер стоит $0,20 в час; что вы предложите?

    databasememory
  • 69

    Неподключённый диск на 200 GB стоит $0,08 за GB в месяц, а неиспользуемый публичный IP стоит $0,005 в час; каковы месячные потери?

  • 70

    Биллинг показывает 1,5 TB инкрементального хранения snapshot, который 180 дней не связан ни с одним томом, по $0,05 за GB в месяц; что вы сделаете?

    snapshot
  • 71

    Перенос 4 TB с тарифа $0,023 на $0,0125 за GB в месяц экономит хранение, но извлечение 600 GB стоит $0,01 за GB; какова экономия первого месяца?

  • 72

    Обработка данных через NAT gateway выросла с 2 TB до 8 TB за неделю при цене $0,045 за GB; какие дополнительные расходы вы исследуете?

    gatewaynetworkingconcurrency
  • 73

    Serverless-функция запускается 3 млн раз в месяц с памятью 512 MB, а длительность падает с 900 ms до 600 ms; какую экономию compute вы проверите при $0,0000166667 за GB-секунду?

    validation
  • 74

    Десять непродакшен VM стоят $0,10 в час и могут работать по 12 часов в течение 22 рабочих дней вместо 24 часов все 30 дней; какова месячная экономия?

  • 75

    AWS Compute Optimizer рекомендует перенести instance с $220 на $150 в месяц по данным за 14 дней; как вы оцените рекомендацию на $70?

    monitoringrightsizingoptimization
  • 76

    После очистки заявлена экономия, потому что дневная стоимость снизилась с $60 до $47 на 14 дней; как вы проверите результат?

    validation
  • 77

    Kubernetes-кластер запрашивает 40 vCPU, но в среднем использует 10 vCPU в течение 14 дней, а мощность стоит $0,04 за vCPU-час; что вы отметите?

    capacitykubernetes
  • 78

    Кластер стоимостью $3 000 нужно распределить между namespaces A, B и C по долям CPU 50%, 30% и 20%; что должен показать showback?

    allocationkubernetes
  • 79

    У кластера есть $600 общих накладных расходов, а прямые расходы трёх namespaces равны $4 000, $3 000 и $1 000; как вы их распределите?

    kubernetes
  • 80

    Batch-нагрузка с checkpoints использует 200 pod-часов в день, Spot покрывает 70%, on-demand стоит $0,06 в час, Spot стоит $0,02, а 4% Spot pod-часов прерываются; подходит ли она?

    pricingspotbatch
  • 81

    Допустимые расходы в on-demand эквиваленте равны $10 000, Savings Plan покрывает из них $6 500, купленное обязательство стоит $6 000, а используется $5 400; чему равны coverage и utilization?

    utilizationcommitmentscoverage
  • 82

    Обязательство на $0,80 в час истекает через 30 дней, а нагрузка использовала лишь $0,62 в час за последние 60 дней; что вы подготовите?

    commitments
  • 83

    Четыре одинаковых reservation стоят по $0,15 в час, но весь месяц используются только три; какие неиспользованные расходы вы покажете?

  • 84

    У нагрузки есть 500 допустимых часов за месяц по $0,24 on-demand или $0,17 по Savings Plan; что можно показать до решения о покупке?

    commitments
  • 85

    Алерт об аномалии показывает рост одного сервиса со $120 до $390 в день; как вы проведёте триаж?

    alerting
  • 86

    Месячный бюджет равен $12 000 с алертом на 80%, а фактические расходы достигают $9 700; правильно ли сработал порог?

    budgetingalerting
  • 87

    Средние дневные расходы равны $800, но сегодня достигают $1 300 без запланированного релиза; что вы проверите первым?

  • 88

    Месячный прогноз составлял $45 000, а фактическая стоимость закрылась на $48 600; как вы покажете отклонение прогноза?

    dispersionforecasting
  • 89

    До запуска расходы в среднем составляли $900 в день, запуск продукта должен был добавить 40%, а фактические расходы равны $1 320; это аномалия?

  • 90

    Алерт срабатывает на $1 250 при дневной базе $1 000, но известный ежемесячный backup стоит в этот день $260; как вы оцените ложное срабатывание?

    backupsalerting
  • 91

    Дашборд показывает $0 с 02:00 до 05:00, но CUR содержит $420 за эти часы; как вы обработаете отсутствующие данные?

    missing-dataaws-cur
  • 92

    Неразрешённый алерт может добавить $2 400 за месяц, а владелец платформы принимает его через 30 минут; что будет в вашей передаче?

    alerting
  • 93

    Месячный showback содержит итоги команд $12 400, $9 100 и $6 500 при сумме CUR $28 000; что вы проверите перед публикацией?

    allocationaws-cur
  • 94

    Продукт тратит $18 000 на обработку 600 000 заказов, а в прошлом месяце unit cost был $0,027 за заказ; каковы новая стоимость единицы и изменение?

    unit-economicsconcurrency
  • 95

    После изменения дневная стоимость падает с $3 000 до $2 500, но трафик также падает на 10%; какую нормализованную экономию за 30 дней вы покажете?

    normalization
  • 96

    В forecast-таблице есть месячные факты $20 000, $21 000 и $23 000, а также известный апрельский проект на $3 000; какой простой прогноз на апрель вы введёте?

    forecastingspreadspreadsheets
  • 97

    Стейкхолдер спрашивает, почему расходы команды выросли с $12 800 до $14 200, а вы нашли $900 от запуска и $500 от передачи данных; как вы это объясните?

    stakeholder-managementcommunication
  • 98

    В трекере исправлений 12 задач: 7 выполнены, 3 заблокированы и 2 открыты, а из ожидаемой месячной экономии $1 200 подтверждено $840; какой статус вы покажете?

  • 99

    На ревью junior SQL-запрос исключает строки Refund и Credit и показывает $12 300, завышая сверенный итог на $1 100; какую обратную связь вы дадите?

    sqlqueriesfeedback
  • 100

    Нужно передать очистку snapshots с экономией $420 в месяц по 14 объектам: 11 согласованы на $330, а 3 ожидают решения на $90; что вы предоставите?

    snapshot