K's Atelier

個人的な学習記録

Job interviews for system engineers

クラウドを活用できるエンジニアを目指すなら,「今よりエンジニアとして自由になる」くらいの気持ちがあってよいと思う。YoutubeとUdemyの中から,Job interview,特にSystem Design interviewに関するリンクを残しておく。

System Design interviewの様子を見ていると,「今どきのエンジニアにとって,システム化要件定義のスキルがいかに重要か」が分かる。システム化要件定義をこなせるようになれば,自分でクライアントの話を聞いてシステムを提案できる。

System Design interviews on Youtube

youtu.be

私がなんとなく,「AWSのシステム設計例が欲しい」と思って検索していて「これだ!」と感じた動画。その場で話を聞きながら,非機能要件,エンドポイント,バックエンドの構成などをサラサラと決めていく。もちろんこの設計が決定稿なわけではないが「検証可能なレベル」なら先に進めるのがクラウドだ。

youtu.be

"Design Netflix"とか。マイクロサービスの先駆者でもあるNetflixなので,いきなり「設計して」と言われると戸惑うところ。要件定義でうまく話を進めていく様子が分かる。

ちょっと調べたところ,interviewの題材としては,

  1. TikTok,Facebook,WhatsAppのような現実に存在しているサービス
  2. URL shortener,Web Crawlerのような単体のサービス

という2方向があるようだ。

Exponent社のJob interviewはほかにもたくさんある。mock interviewだけではなく,Tipsも簡潔で素晴らしい。例えばREST API

youtu.be

すでに海外の情報は,無料でもこのくらいまとまっている。

Youtubeは無料でも情報が得られるので,"System Design Interview"の調査は定期的にやりたいところ。

System Design interviews on Udemy

www.udemy.com

Mock interviewsとして,以下の6つが紹介されている。

  1. URL Shortening Service
  2. Restaurant Reservation System
  3. Web Crawler
  4. Top-Sellers
  5. Video Sharing Service
  6. Search Engine

このMock interviewの前のSectionでも技術解説も簡潔。"Section2: Designing Systems that Scale"にスケーラビリティに関する設計方針がまとまっている。

www.udemy.com

case studyが13ある。設計全体図は別途downloadできる。ほかにも"System Design interview"で検索するとたくさんhitする。

 

クラウドを活用できるエンジニアになりたい,と思っている人は「より挑戦的な仕事で,より高い報酬で働きたい」という気持ちを持ってよい。エンジニアとしての現状を自力で変更できる人は,もう「上司の指示なのでやる」という領域を超えている。