インフラ関連の質問
こんにちは、シニアソフトウェアエンジニアのリドルです。
このポッドキャストでは、IT業界のいろんな話だったり、最新の技術、また困ったことを話すポッドキャストを塗っています。
今回は、私が自社開発系の会社をインフラやSREというポジションで受けるときに聞かれた質問をいくつかご紹介したいと思います。
いろいろインフラやSREを受けるとこういう質問されるよねというものを出してきたので、ぜひ受ける方は対策してもらえればと思います。
まず1個目ですね。1個目はよくあるんですけれども、条件を何か言われて、例えばPCサイトがあって、CDNがあって、セキュリティ的にも配慮したいんだけど、
AWSを使ってどういう感じで作ればいいか構成図書いてくれないっていうやつですね。これね、たまにあります。
事前にアナウンスされることが大半だと思うんですけれども、インフラだったりSREってシステムの構成図からシステムを起こすみたいなことを結構求められるので、
今言った要件でシステム構成図を書いてください。その際のポイントはどこですか?みたいなことを聞かれたりします。
これは総合力が試されるので、書けるようになりましょうというか、今携わっている自分のサービスでまず書けるようになって、
ソロでも何度でも書けるようになるってことが大事なんですけども、なって、で、ちゃんとそれをベースに説明できて、
どういうところが問題でこう改善すべきみたいなところまでしゃべれるといいかなと思います。これはね、必須の好きだと思うんで、ぜひ練習してください。
続いて2個目。性能が求められる仕事で具体的にやったことは何ですか?これもね、ありますね。
結構パフォーマンスチューニング系だったりとか、性能試験や付加試験みたいなところを聞かれること多いので、答えられるようにしましょう。
まあといっても、こういうことを仕事でやれるかっていうのも、ちょっと経験値的にない方もいらっしゃるので、そういう場合はちょっと理論を語るぐらいしかできないですね。
この性能が求められるって言ってもですね、やっぱ幅が広くて、バックエンドだったり、データベース、ストレージ、ディスク、ネットワーク、まあいろいろあると思いますので、
そこの切り方はですね、自由なんですけども、なるべくだったら大きく、いろんな範囲にまたがっているものが良いですね。
また最近はオブザバビリティの話もありますので、いろんな文脈に沿っている問題だけど、うまくこういう感じでブレイクダウンして探せるようになりましたとか、
なんかね、そういうことまでしゃべれるといいんじゃないかなと思います。
これもね、よく聞かれますね。
基本的にインフラって完結したいんで、インフラチームだけで上になんか乗っかってくるんで、スタッフとも他の人と何か調整して仕事を勝ち続けた経験みたいなものがありますかという話ですね。
やっぱりジュニアクラスだとリーダーの言うことを聞いてそのまま仕事をするって感じなので、
ミドル以上になると、自分が外部と相談して仕事を決めて、こうします、ああしますとか、こういう意向をしたいんで、こういう対応してもらえませんかみたいな感じで調整することが増えると思うので、そういう経験があるかも聞いています。
続いて、コストカード施策として思いつくものを全部挙げてください。
これもありますね。インフラというかSREにもしかしたら近いかもしれないですが、最近はやっぱりインフラの維持もお金がだいぶかかるようになってきたので、コストカット戦略も大事になってくるかなと思います。
例えばAWSにおいていろんなコストカット施策がありますが、例えばCPUのアーキテクチャをARMに変えることでインスタンス数を削減できるとか、インスタンスをスポットインスタンスとかセービングプランのものにして安くするとか、
あとそもそもインスタンスを常時稼働させないとか、スケーリングを調整するとか、ちょっと細かいところで言うとNATゲートウェイを使わずにプライベートリンクを使うとか、クラウドだったりとかサービスによっていろいろやり方はあると思うんですけども、そういう施策がペラペラと出てくると良いかなと思います。
続いて、Webブラウザでページを表示しています。これを高速化するための施策を可能な限り挙げてください。
これね、1回で聞かれたことあります。ISCOMみたいですよね。ISCOMっていうのはパフォーマンスチューニングの技術を競う大会なんですけども、ISCOMでは何かしらのWebアプリが出てくるので、それを高速化するっていうのがあるんですけども、それに近いですね。
これは本当にいろんなことができて、どこに問題があるのか次第なんですけども、Webフロントもできるだろうし、ネットワークもできるし、バックエンドもできるし、データベースもできるし、SCDNもできるし、何でもかんでもできるんですよね。
ただ、どういうことを出せるかっていうところで、こちらの技術力の幅だったり深さを見ているので、こういったものも答えられるといいですね。
理想としては、いろんな勉強をした結果、この質問に答えられるっていうのがいいんですけども、やっぱりそれには時間もかかると思うので、この問題に対していろいろAIとかで深掘りをして答えを覚えておいて、そういうものなんだなっていう理解をするっていうのも面接対策としてはありだと思います。
Kubernetesとトラブルシューティング
あとはですね、Kubernetes関連でですね、私が聞かれた質問なので、いつも聞かれるわけじゃないと思うんですけども、ちょっと共有します。
まず一つ目は、Kubernetesにおいてセキュリティ関連でできることを可能な限り列挙してください。
出ました。また可能な限りパターンですね。
これもですね、Kubernetesを使う上でいろんなセキュリティの観点があるんですよ。
当時私が回答した内容で言うと、例えばそもそも動かすためのイメージの話だったりとか、イメージに変な脆弱性のあるファイルが紛れ込むみたいな話だったり、
例えば今だと、このイメージって本当にこの人が作ったのかを証明するための技術とかあるんですけども、そういう話。
あとはKubernetesに対して何かをデプロイする際のアドミッションの話だったり、コンテナ自体に外部からアクセスをされて何かしらの攻撃をされてしまうみたいな話。
これは多分ディストロレスとかルートレスとか、そういう技術で解消できたり、検知をするためのスキャンツールだったりとか、ファルコンみたいなやつ入れるとか、そういうのいろいろあると思うんですけども、
そういう形で他方面からのセキュリティ対策について語れると良いですね。
セキュリティエンジニアの仕事みたいな感じはしますが、Kubernetesって結構インフラだったりSREで使う領域なので、
そこに対するセキュリティ観点としてどれくらい勉強しているかというか、経験しているかみたいなところを押し量りたいときに使えます。
ラストですね。
クバネテス上でエンジンXとアプリケーションをポッと動かしている際に、500エラーが出た際のトラブルシューティングの方法を教えてください。
これもありました。
このテーマの問題もよく聞かれるかなと思っていて、今回はクバネテスというのがキーワードとして出てきましたが、
別にサイトがあって500エラーでした、調べますかみたいな問題があると思っていて、
相手のシステム構成に従って通常やっているようなトラブルシューティングの方法を述べて、
こういうところに問題あるんじゃないですかみたいなことを話していて、
もしかしたら試験官が小出しで追加情報を出してくるかもしれないので、
そのケースだったらこうしますねみたいなものを会話して進められればいいかなと思います。
やっぱりどれも対策だったりとか事前の経験を結構深掘られるという感じになっているので、
付け書き場は結構難しいかなと思います。ある程度のレベルになると。
ということで今回は自ら開発系の会社で転職活動中によく聞かれるインフラやSRE系の質問についてご紹介しました。
こういったことが聞かれるんだなっていうところですね。
把握していただいてそれに合った勉強をしていただければよいかなと思います。
このポッドキャストはハッシュタグゆるITで皆様からのコメントや感想をお待ちしております。
またチャンネル概要欄にGoogleフォームのリンクもありますのでそちらからのご投稿も大歓迎です。
ありがとうございました。