学習コンテンツテック企業求人ブログ面接対策サポート

InterviewCat

01 InterviewCat02 第一章 イントロダクション03 英語レジュメの書き方04 第二章 面接に辿り着くまで05 第三章 各面接スタイルの対策06 第四章 面接での英語について07 第五章 Data Structures & Algorithms (DSA)08 第六章 バックエンド技術質問09 第七章 フロントエンド技術質問10 第八章 システムデザイン11 第九章 行動面接の質問12 Appendix: 外資エンジニアの世界13 Discordサポート(購入者特典)
© 2026 InterviewCat. All rights reserved.
プライバシーポリシー利用規約特定商取引法に基づく表記運営お問い合わせフォーム
🐈
InterviewCat
/
🔒
第八章 システムデザイン
🔒

第八章 システムデザイン

システムデザインの対策準備を第三章を見てください。InterviewCatではシステムデザインに大事なコンセプトを紹介しその実用例を述べていきます。
以下の内容について説明していきます。
  • システムデザインのパターン
    • APIデザイン
    • 覚えておきたい数字
    • Cache
    • Replication
    • Sharding
    • Retry
    • Circuit Breaker (サーキットブレーカー)
    • Message queue
    • データベース:SQL vs noSQL
    • リーダー選挙 Leader election
    • 全文検索について
    • 位置検索
    • HTTP Polling vs HTTP Long Polling vs WebSockets
  • 実用例
  • 質問例

システムデザインのパターン

APIデザイン

最初はAPIデザインから入るので
  • CRUD(Create, Read, Update, Delete)の役割
  • ステータスコード:200 OK, 404 Not Found, 500 Internal Server Errorなど
  • リクエストとレスポンスのフォーマット:JSONかXMLかCSVなど
  • URI(Uniform Resource IdentifierIの設計

覚えておきたい数字

Availabilityについて

Availability(可用性)は、サービスが利用可能な時間の割合であるアップタイム(またはダウンタイム)で定量化されることが多い。可用性は一般的に9の数で表され、99.99%の可用性を持つサービスは、9が4つあると表現されます。
 
💡
Availability(可用性)はfault tolerance(耐障害性)とresiliency回復力と似ているところがあるが詳しくはこちらの「耐障害性と回復力について教えてください」を参考にしてください。
 
Availability level
Allowed unavailability window
per year
90%
36.5 days
95%
18.25 days
99%
3.65 days
99.5%
1.83 days
99.9%
8.76 hours
99.95%
4.38 hours
99.99%
52.6 minutes
99.999%
5.26 minutes
SLAを99.99%にするとサービスを止められる時間が年に1時間もないのでデータベースのメンテナンスなどしたいときどうしてもzero downtimeを考えるのがきついのでサービスの種類によってゆるくしていくのが一般的です。例えばAmazon S3 (Standard)のSLAは99.9%以下としています。
 
🔗 https://sre.google/sre-book/availability-table/

Latency について

execute typical instruction
1/1,000,000,000 sec = 1 nanosec
fetch from L1 cache memory
0.5 nanosec
branch misprediction
5 nanosec
fetch from L2 cache memory
7 nanosec
Mutex lock/unlock
25 nanosec
fetch from main memory
100 nanosec
send 2K bytes over 1Gbps network
20,000 nanosec
read 1MB sequentially from memory
250,000 nanosec
fetch from new disk location (seek)
8,000,000 nanosec
read 1MB sequentially from disk
20,000,000 nanosec
send packet US to Europe and back
150 milliseconds = 150,000,000 nanosec
ソース:http://norvig.com/21-days.html#answers
ぜひ覚えておきたいのが:

全て読むには購入が必要です

このコンテンツを全て読むには購入が必要です

購入すると、このコンテンツの全ページにアクセスできるようになります。

非表示コンテンツ📝 15,191文字🖼️ 21枚の画像

InterviewCat

InterviewCatはテック企業の面接スタイルとその対策方法、面接にたどり着くまでのレジュメの書き方、分野ごとの面接技術質問集などが掲載されています。

価格¥8,000