| フォーマット | 書籍 |
| 発売日 | 2025年02月01日 |
| 国内/輸入 | 国内 |
| 出版社 | 秀和システム |
| 構成数 | 1 |
| パッケージ仕様 | - |
| SKU | 9784798072791 |
| ページ数 | 584 |
| 判型 | B5変形 |
構成数 : 1枚
Part 1
Chapter 1 システム設計に関する概念を俯瞰する
1.1 トレードオフについての議論
1.2 あなたは本書を読むべきでしょうか?
1.3 本書の概要
1.4 前奏曲:システムのさまざまなサービスにおける、スケーリングについての簡単な議論
1.4.1 始まり:アプリケーションの小規模な初期デプロイメント
1.4.2 GeoDNSでのスケーリング
1.4.3 キャッシングサービスの追加
1.4.4 コンテンツ配信ネットワーク
1.4.5 水平スケーラビリティとクラスタ管理、継続的インテグレーション、継続的デプロイメントについての簡単な議論
1.4.6 機能的分割と横断的な関心の集約
1.4.7 バッチあるいはストリーミングによる抽出、変換、書き出し(ETL)の処理
1.4.8 その他の一般的なサービス
1.4.9 クラウド vs ベアメタル
1.4.10 サーバレス:Function as a Service(FaaS)
1.4.11 結論:バックエンドサービスのスケーリング
まとめ
Chapter 2 典型的なシステム設計面接の流れ
2.1 要件を明確にし、トレードオフについて議論する
2.2 API仕様の草案を作成する
2.2.1 一般的なAPIエンドポイント
2.3 ユーザーとデータ間の接続と処理
2.4 データモデルを設計する
2.4.1 複数のサービスがデータベースを共有することの欠点の例
2.4.2 ユーザー更新の競合を防ぐために利用可能な技術
2.5 ロギング、モニタリング、アラート
2.5.1 モニタリングの重要性
2.5.2 オブザーバビリティ
2.5.3 アラートへの対応
2.5.4 アプリケーションレベルのロギングツール
2.5.5 ストリーミングあるいはバッチ処理によるデータ品質の監査
2.5.6 データ異常を検出するための異常検知
2.5.7 検知されないエラーと監査
2.5.8 オブザーバビリティに関する参考情報
2.6 検索バー
2.6.1 導入
2.6.2 Elasticsearchを用いた検索バーの実装
2.6.3 Elasticsearchインデックスと取り込み
2.6.4 SQLの代わりにElasticsearchを利用する
2.6.5 サービスでの検索の実装
2.6.6 検索に関する読み物
2.7 その他の議論
2.7.1 アプリケーションの運用と拡張
2.7.2 ほかのタイプのユーザーのサポート
2.7.3 代替となるアーキテクチャの決定
2.7.4 ユーザビリティとフィードバック
2.7.5 エッジケースと新しい制約
2.7.6 クラウドネイティブの概念
2.8 面接後の振り返りと評価
2.8.1 面接後できるだけ早く振り返りを書く
2.8.2 自己評価を書く
2.8.3 言及しなかった詳細な事項
2.8.4 面接のフィードバック
2.9 会社を面接する
まとめ
Chapter 3 非機能要件
3.1 スケーラビリティ
3.1.1 ステートレスサービスとステートフルサービス
3.1.2 基本的なロードバランサーの概念
3.2 可用性
3.3 フォールトトレランス
3.3.1 レプリケーションと冗長性
3.3.2 前方誤り訂正と誤り訂正符号
3.3.3 サーキットブレーカー
3.3.4 指数バックオフとリトライ
3.3.5 ほかのサービスのレスポンスのキャッシング
3.3.6 チェックポインティング
3.3.7 デッドレターキュー
3.3.8 ロギングと定期的な監査
3.3.9 バルクヘッドパターン
3.3.10 フォールバックパターン
3.4 パフォーマンス/レイテンシとスループット
3.5 整合性
3.5.1 フルメッシュ
3.5.2 コ<...
システム設計面接に臨むエンジニアのための書籍です。本書で繰り返し述べられているように、システム設計は、正解のない芸術です。そのため、本書では、理論だけではなく、実際のシステムデザインの問題に焦点を当て、具体的なシナリオや練習問題を通じて、実践的なスキルを身につけることができるようになっています。システム設計面接の準備に留まらず、システム設計に必要なスキルの学習、システム設計の事例研究など、システム設計全体をカバーしているので、システム設計の実践学習書としても読むことができます。「設計力」を鍛えるためのガイドブックとして最適です。
また、面接を受ける側の対策本としてだけではなく、面接官として面接に臨む際にも、どういうことを質問するべきか、候補者がどのような視点で考えているのかを知る方法など、多くのヒントが得られるはずです。
第1部は、典型的な教科書のような構成になっており、システム設計面接で議論されるさまざまな
トピックをカバーしています。非機能要件から始まり、システム設計のトレードオフを考慮する際に念頭に置くべき多くの一般的な側面について学びます。面接の問題文のユースケースに対してシステム設計がどのように対処するかを説明するために、アプリケーションプログラミングインターフェイス(API)仕様をどのように整理するか、APIの背景にあるシステムとして、業界標準のデータストアと分散トランザクション管理のパターンを使用して、システムデータモデルを編成するためのいくつかの業界ベストプラクティスを学びます。また、表面的なユースケースに対処するだけではなく、最新の観測可能性とログ管理のアプローチを含む、システム運用の重要な側面についても学びます。
第2部では、テキストメッセージングからAirbnbまで、11の具体的な異なるシステム設計問題につ
いて一緒に検討します。第1部で扱った概念を用いて、具体的な面接の質問の議論を行う形で構成されています。各章は、第1部で学んだことを使用するように選ばれています。それぞれの面接の問題で、非機能的なシステム要件を整理するための適切な質問を引き出す方法や、さらに議論する価値のあるトレードオフについて、新しいスキルを習得できます
本書は、Manning Publicationsの『Acing the System Design Interview』を翻訳したものです。

※ショッピングカートおよび注文内容の確認画面にてフラゲのお届けになるかご確認ください。
※各種前払い決済をご利用の場合、フラゲは保証しておりません。
※フラゲは配送日時指定なしでご注文いただいた場合に限ります。
読み込み中にエラーが発生しました。
画面をリロードして、再読み込みしてください。
