エンジニア技術面接の練習|高い可用性が求められるAPIの設計
この面接は、バックエンドエンジニアの技術面接を想定した練習です。テーマは、高い可用性が求められるAPIをどう設計するかです。知識の量ではなく、要件から設計を導けるかが問われます。以下は、練習に取り組む前に、ぜひ読んでみてください。
この面接で見られている力
まず見られているのは、求められる水準を満たすために、どこにどれだけ手を入れるかを判断できる力です。そのうえで、可用性を上げることで生じる費用や運用の負荷との釣り合いを語れるか、そして障害が起きたあとの検知と復旧まで見据えて設計できるかが重視されます。
面接の進み方
- お題が示されたあと、考えをまとめるための短い思考時間があります
- まとまったら結論から先に述べ、そう考えた理由を添えて説明します
- そのあと面接官から深掘りの質問が入るので、応じながら具体化していきます
通る人と落ちる人で差がつくところ
- 冗長にすれば落ちないという話で止まると、判断の質が見えません。どこまでやるかを要件から決めた理由を語りましょう
- 良いとされる構成を並べるだけだと、要件との対応が伝わりません。この水準だからこうする、という順番で話しましょう
- 設計の話だけで終わると、実運用の想像がついていないと見られます。異常に気づく仕組みと戻し方にも触れましょう
受ける際に意識すべきポイント
以下が言語化できているか、確認してみてください。
- 要件から必要な水準を読み取り、対象の範囲を決められているか
- 手を入れる層と入れない層を、理由を添えて選べているか
- 費用や運用の負荷との釣り合いに触れられているか
- 障害が起きたあとの検知と復旧まで語れているか
参考にした情報