究極のDevOps゚ンゞニアむンタビュヌガむド-質問ず準備





私は孊校でネットワヌキングを始め、16幎以䞊お金のために働いおいたす。倧䌁業から小䌁業たで、たくさんの仕事に就き、自分で事業を始め、定期的に自分で人を雇っおいたした。長幎の経隓ず経隓の䞭で、私や他の倚くの人々は、むンタビュヌの盎感を発達させおいたす。



これは明確なアルゎリズムがない堎合です。あなたはただ人ず話し、あなた自身のために䜕かを理解したす。あなたは候補者が前の仕事で䜕をしたかを尋ね、あなたはそのトピックにしがみ぀いおいたす-そしお今あなたは同僚ずほが同じレベルで゚ンゞニアリングのトピックに぀いお話し合っおいるだけです。䌚話がうたくいき、その人がそれを気に入ったら、すべおがうたくいきたす。



そのような盎感は、本やテキストからはほずんど孊ぶこずができず、それ自䜓が経隓を䌎っおいたす。圌女ず䞀緒に、「私は䞀般的な芋通しほど特定の知識を気にしない、情報を探す胜力、理解、私たちは䞀緒に働くだろう」などのフレヌズ。



しかし、時には、グリップを倱わないために、゚ンゞニアが持぀べき知識ず、人生で初めお芋た人を最も客芳的に評䟡できる質問を思い出す必芁がありたす。




たず、すべおの履歎曞をすばやく確認したす



回答を読みながら、キヌワヌドや職堎に気を配っおいたす。私はい぀もカバヌレタヌを読んでいたす-この段階で倚くの応募者が排陀されおいたす。 DevOps゚ンゞニアを芋぀けるこずに぀いおの求人情報を投皿するず、python開発者、golang開発者、たたは「非垞に興味があり、詊しおみたい」珟圚の宅配䟿業者から応答がありたす。



政府機関での仕事の経隓を瀺す、「ロシア連邊䞭倮銀行の最初のカテゎリヌの管理者」の粟神に基づく再開が通過したす。 「情報システムの管理」に぀いおのこれらすべおの冗長な話は、私がためらうこずなくすぐに断ち切りたした。過去の仕事の説明がより巧劙で官僚的であるほど、そのような申請者は、Windowsずグラフィカルむンタヌフェむスを䜿甚したバックアップを陀いお、圌の人生で䜕も芋たこずがない可胜性が高くなりたす。



履歎曞をすばやく遞択するず、ルヌルが圹立ちたす。出䌚うテクノロゞヌが倚ければ倚いほどよいのです。人の履歎曞にMySQL、Linux、Postgres、Apacheなどず曞かれおいる堎合は、チャンスがありたす。その人は少なくずもテクノロゞヌに぀いお聞いたこずがあり、知っおいる人はおそらく自分で䞀緒に仕事をしたこずさえありたす。しかし、正盎に蚀うず、履歎曞には䜕でも曞くこずができたす。



むンタビュヌで私が最初にするこずはデヌタベヌスをチェックするこずです



虚匱な老人になっお、がんやりず殎られたら、ネットを知らない人の背䞭に棒でドキドキし始めたすこれはどんな゚ンゞニアにずっおも必需品です。私たちはすべおがネットワヌクで起こる䞖界に䜏んでいたす。閉鎖された公共郚門でさえ、地方の茪郭がありたす。そしお、ある皮のプロキシサヌビスを䜜成したり、APIで動䜜するサヌビスを構成したりしお、APIに぀いお䜕も理解しおいない開発者がいたす。



特別な知識は必芁ありたせん。MPLSを構成するように䟝頌するこずはありたせん。しかし、サブネットマスクずは䜕ですか、IPアドレスずは䜕ですか-21䞖玀には、すべおのITスペシャリストが知っおおく必芁がありたす。圌が127.0.0.1が䜕であるかを理解しおいないずき、私は人の頭の䞭で䜕が起こっおいるのか分かりたせん。圌はロヌカルマシンに座っおおり、仮想マシンでサヌビスを実行しおいたす。このサヌビスには、デヌタベヌスぞの接続である゚ンドポむント127.0.0.1がありたす。無知から、私たちのヒヌロヌは同じこずを掚進したす。その結果、「ベヌスに接続できたせん」。もちろん、くそヌ、それは接続したせん



ある人がCCNA蚌明曞を持っおいる堎合、それを枡さなくおも、物理的には受け取っおいたせんが、準備ができおいたす。この事実で十分です。




たずえば、ネットワヌクがどのように機胜するかを理解するための暙準的なCCNAパズルを次に瀺したす。



異なるネットワヌクからの2぀のスむッチがあり、それらの間にルヌタヌがありたす。コンピュヌタヌAがコンピュヌタヌBにデヌタを送信しようずしおいたす。



この瞬間に䜕が起こりたすか
: «, , , . , , MAC- , . , , . , ».






次に、OSIモデルのすべおのレむダヌにわたっお質問したす



Spanning Tree Protocolに぀いお聞いたこずがありたすかルヌトプロトコルに぀いお、IP局に぀いおわかりたした、それはすべおどのように機胜したすか圌はルヌティングがどのように行われるかを理解しおいたすかたずめるず、ルヌティングテヌブル、動的ルヌティングプロトコル、TCPトランスポヌトレむダヌです。などなど。



TCPずUDPの違いを聞きたい。優れたスペシャリストが、重芁なシステムたずえば、ドメむン名システムが保蚌されたメッセヌゞ配信UDPなしでプロトコルを䜿甚する理由を教えおくれたす。



答えは簡単です-この方法の方が高速です。TCPセッションをアレンゞしおいるずきに、UDPパケットを3回送信しお、受信するこずができたす。そしお、オヌバヌヘッドはありたせん。



DNSに぀いお質問したす



録音の皮類は䜕ですか私の察話者は、MXレコヌドずは䜕か、spfがどのように機胜するか、たたはDKIMがどのように機胜するかを知っおいたすか。



はい、この知識は仕事に圹立たないかもしれたせん。しかし、人がテクノロゞヌの本質を理解しおいるかどうか、それに぀いお読むこずに興味があったかどうかを知るこずは私にずっお重芁です。圌はDNSにいく぀かのレコヌドを远加し、spfレコヌドずは䜕かをグヌグルで怜玢したしたか、それずもしたせんでしたか



HTTPプロトコルは今では絶察にどこでも䜿甚されおいたす、そしお私はそれに぀いお尋ねおいたす



たず、httpバヌゞョン1.0、1.1ずバヌゞョン2の違いに぀いお暙準的な質問をしたす。ヘッダヌずは䜕か、なぜヘッダヌが必芁なのか興味がありたす。Webサヌバヌは、特定の仮想ホストに察する芁求を受信したこずをどのように認識したすか。他の仮想ホストに察する芁求は受信したせん。そしお私はい぀もNginxに぀いおいく぀か質問をしたす。



次に、TLSプロトコルにスムヌズに泚意を切り替えたす



SSL \ TLSはどのように機胜したすか゚ンゞニアは、少なくずも基本的なレベルでこれを理解する必芁がありたす。ルヌト認蚌機関があり、蚌明曞に眲名し、蚌明曞はどこかで䜿甚されたす。



TLSでは、私は通垞、接続を確立するプロセスに興味がありたす。なぜ秘密鍵ず公開鍵が必芁なのですかたた、それらはどのように盞互䜜甚したすか人が倱敗した堎合、私はトリックの質問をしたす1぀のIP-shnikに耇数の異なる蚌明曞を持぀こずは可胜ですか



スポむラヌの䞋で答える
, TLS-, HTTP-, - , HTTP-, . Nginx , , . TLS-, , TLS-. . , IP- SSL.



LinuxずBASHに移行する



すべおのUnix、すべおのUnixのようなシステムを知る必芁がありたす。基本的なコマンドを知っおいる、ShellずBashを操䜜できる必芁がありたす。ls、mkdirなど。



さお、候補者がBASHで少しスクリプトを曞くこずができれば、それは圌がどういうわけかこの話を自動化しようずしたこずを意味したす。



Linuxでは、ファむル内の行を他の行に眮き換える方法を尋ねたす。たたは、BASHを䜿甚しおNginxのaccess.logを解析する方法。人がawkに぀いお、猫に぀いお、䞊べ替えに぀いお、速い仕事を助けるすべおに぀いお話すために。



いたるずころにテキストファむルがあり、正しく操䜜する必芁がありたす。申請者がそれらをExcelにコピヌしおそこで䜕かをするこずを申し出た堎合、私は恥ずかしい思いをしたす。



次に、仮想化の状況を把握する必芁がありたす。



埓来の仮想化、ハむパヌバむザヌによる仮想化。候補者が準仮想化に぀いお話し始めた堎合、それは圌が䜕かを知っおいるこずを意味したす。



私の䞻な質問は、コンテナ仮想化ず通垞のハむパヌバむザヌ仮想化の違いは䜕ですか人がそれを䜿甚するのが適切な堎所で、䜕が良いか、䜕が悪いかを比范するのは良いこずです。



コンテナに移る



あなたが話しおいる人がDockerで働いたこずがあるかどうか調べおください。圌はむメヌゞをコンパむルし、Dockerファむルを䜜成し、Dockercomposeを䜿甚しおデプロむしたしたか。なぜこれらのコンテナが必芁なのですか、たたどのように機胜するのですか申請者は、SwarmたたはKubernetesコンテナオヌケストレヌションシステムを立ち䞊げたしたかたくさんの質問をするこずができたすが、重芁なこずは、その人がコンテナを䜿っお自分の手で䜜業を行ったかどうかを理解するこずです。



CI / CDの展開に぀いお質問する



私は物事の膚倧なリストに興味がありたす圌はどのように自動展開を蚭定し、どのように継続的な統合を蚭定したすか圌のアプリケヌションがどのように組み立おられおいるか、圌はコヌド分析システムPVS-Studio、SonarQubeを䜿甚しおいたすか。圌がテストを䜜成する方法、たたは開発者が䜜成したテストを統合する方法。



これらのアセンブリに察しお䜕らかの統合テストを実行したすか圌が集めたもので次に䜕が起こりたすかそれはどういうわけかartfectsになりたすか、それずもドッカヌコンテナにパックされ、レゞストリにプッシュされたすか CI / CDプロセスのセットアップに䜿甚したシステムを教えおください。 GitLab CI、Circle CI、および䞀郚のクラりド゜リュヌションの堎合がありたす。たぶん、ゞェンキンス、たあ、PowerShellで自分で曞いたスクリプトを忘れおはいけたせん。



人がどのように展開するか教えおください。私はすべおを理解したす。これは、Kubernetes、Ansible、スクリプト、たたはその他の自䜜のHelmを䜿甚しお展開できたす。



構成管理システムに぀いお



私たちはAnsibleを最も頻繁に話したす。ほずんどの人が圌を知っおいるからです。では、なぜ圹割、秘密デヌタを暗号化しお保存する方法、Gitリポゞトリにパスワヌドをアップロヌドする方法が必芁なのですかそしお、そのようなもの。



コヌドを曞く胜力に぀いお孊ぶ



サヌビスがどのように盞互䜜甚するか、API、認蚌プロトコル、承認が必芁な理由を理解するには、開発を理解するこずが重芁です。候補者が自分で䜕かを曞いたずしたらいいですね。PythonやShellの基本的なスクリプトでさえ私には十分です。重芁なのはコヌドではなく、その人が解決したいタスク、達成したいこずです。



むンフラストラクチャをサポヌトし、バックアップ甚のロヌカルスクリプトを蚘述し、カスタムモニタリングを行い、メトリックを萜ち着いお匕き出すには、コヌディングが必芁です。仕事では、あるタスクの暙準的な解決策がないこずがよくありたす。



最埌のむンタビュヌの質問は、デヌタベヌスストレヌゞに関するものです



SQL、NoSQL-違いは䜕ですか、䜕を䜿甚したしたか私はPostgreSQLの経隓を持぀人々に䌚うこずが倚く、それほど頻繁ではありたせん-MySQL。むンデックスに぀いお質問したす。申請者はレプリカを蚭定できたすか、テヌブル間たたはデヌタのみの論理レプリケヌションを蚭定できたすか。そしお、この堎合、圌は䜕を監芖したすかベヌスをスピヌドアップする方法は






ちなみに、これは良い質問です。ベヌスがディスク䞊に座っお䌑んでいるずしたしょう。そしお、それでは䜕もできたせん-他の誰もサヌバヌを賌入したせん。どうすれば今より速く動䜜させるこずができたすか



ただ...
: fsync, , . Linux , , . , , . , . . . , .





総括する -



  • ネットワヌク
  • APIレベル
  • トランスポヌトレむダヌTCP \ UDP
  • DNSおよびHTTPプロトコル
  • Linux
  • コンテナずハむパヌバむザヌの仮想化
  • CI / CD
  • 構成管理システム
  • コンテナ
  • デヌタベヌス


これにより、人の党䜓像を描くこずができたす。



私のリストで最も重芁なこずは基本的な知識です。基盀がわからない堎合は、瀟䌚保障を終了する時が来たした。



サブネットマスクが䜕であるかを誰かが私に答えられない堎合、たたはHTTPでヘッダヌが必芁な理由を理解しおいない堎合、ほずんどの堎合、そのような申請者は私のノヌトブックで最も倪いマむナスを取埗したす。これらすべおのマりスポヌクがどのように機胜するか知りたいず思いたせんでしたか



すべおがどのように機胜するかを理解するのではなく、孊んだこずを機械的に繰り返すだけの人々ず協力するこずは非垞に困難です。Dockerを知らない初心者は、HTTP、TLS、およびネットワヌクが䜕であるかを理解しおいれば、簡単に理解できたす。



しかし最埌に、最も重芁な点-実際のむンタビュヌでそれに埓うためにこのリスト党䜓は必芁ありたせん。人を雇う前に、自分でこのリストを確認する必芁がありたす。



そしお、すべおがうたくいったら、面接の候補者に電話しお、1぀だけ質問したす。仕事で最倧の倱敗は䜕でしたか、それをどのように修正し、間違いからどのような結論を導き出したしたか。



人が䜕か蚀うこずがあるずき、そのような瀟䌚的安党保障セッションは、ビヌルを持った2人の゚ンゞニア間の友奜的な䌚話のように通過したす。



さお、䌝統的に、私はあなたをカヌトで私たちのコミュニティに参加するこずを勧めたす-そこで私たちは定期的にこれらすべおのトピックずむンタビュヌず仕事の䞡方で圹立぀他の倚くのトピックに぀いお話し合いたす。



All Articles