DevOps インタビューのトップ 50 の質問と回答 (PDF)
ここでは、夢の仕事に就くための、新人および経験豊富な候補者向けの DevOps 面接の質問と回答を紹介します。
新人向けの DevOps 面接の質問と回答
1) DevOps とは何ですか?
これは IT 分野で新たに登場した用語であり、ソフトウェア開発者と展開 (運用) チームの両方のコラボレーションとコミュニケーションを重視する実践に他なりません。ソフトウェア製品をより早く提供し、リリースの失敗率を下げることに重点を置いています。
👉 無料 PDF ダウンロード: DevOps インタビューの質問と回答 >>
2) DevOps の背後にある重要な側面または原則について言及しますか?
DevOps の背後にある重要な側面または原則は次のとおりです。
- コードとしてのインフラストラクチャ
- 継続的な展開
- オートメーション
- 監視
- セキュリティ
3) アプリケーション開発とインフラストラクチャにおける DevOps のコアオペレーションは何ですか?
DevOpsのコアオペレーションは
アプリケーション開発
- コードの構築
- コードカバレッジ
- 単体テスト
- パッケージング
- 展開
インフラ
- プロビジョニング
- 編成
- 展開
4) 「インフラストラクチャ コード」が AWS でどのように処理または実行されるかを説明しますか?
AWSでは、
- インフラストラクチャのコードは単純な JSON 形式になります。
- この JSON コードは、テンプレートと呼ばれるファイルに編成されます。
- このテンプレートはAWS DevOpsにデプロイされ、スタックとして管理できます。
- Later CloudFormationサービスはスタック内で作成、削除、更新などの操作を実行します。
5) DevOps エンジニアにとってどのスクリプト言語が最も重要かを説明してください。
DevOps エンジニアにとっては、よりシンプルなスクリプト言語の方が適しています。 Python とても人気があるようです。
6) DevOps が開発者にとってどのように役立つかを説明しますか?
DevOps 開発者がバグを修正し、新しい機能を迅速に実装するのに役立ちます。 また、チームメンバー間のコミュニケーションがより明確になるのにも役立ちます。
7) DevOps 用の人気のあるツールをいくつか挙げてください。
DevOps 用の人気のあるツールには、次のようなものがあります。
- ジェンキンズ
- Nagios
- Monit
- ELK (エラスティックサーチ、 Logstash、キバナ)
- ジェンキンズ
- デッカー
- Ansible
- Gitの
8) SSH を使用したのはどのような場合ですか?
SSH を使用してリモート マシンにログインし、コマンド ラインで作業しました。 これに加えて、安全でないネットワーク上で XNUMX つの信頼できないホスト間の安全な暗号化通信を容易にするために、システムにトンネルするためにも使用しました。
9) リビジョン (バージョン) 管理をどのように処理するかを説明してください。
リビジョン管理を処理する私のアプローチは、コードを SourceForge または GitHub に投稿して、誰もが閲覧できるようにすることです。 また、未解決の問題が解決されていることを確認するために、前回の改訂のチェックリストを投稿します。
10) HTTP リクエストにはどのような種類がありますか?
HTTP リクエストの種類は次のとおりです。
- GET
- HEAD
- PUT
- POST
- PATCH
- DELETE
- TRACE
- CONNECT
- OPTIONS
11) Linux ビルドサーバーが突然遅くなり始めた場合に何を確認するかを説明しますか?
Linuxビルドサーバーが突然遅くなり始めたら、次の3つの点を確認します。
アプリケーションレベルのトラブルシューティング | RAM 関連の問題、ディスク I/O 読み取り/書き込みの問題、ディスク容量関連の問題など。 |
システムレベルのトラブルシューティング | アプリケーション ログ ファイルまたはアプリケーション サーバー ログ ファイル、システム パフォーマンスの問題、Web サーバー ログを確認します。HTTP、Tomcat lo、jboss、または WebLogic ログを確認して、アプリケーション サーバーの応答/受信時間が遅さ、メモリ リークの問題となっているかどうかを確認します。応用 |
依存サービスのトラブルシューティング | ウイルス対策関連の問題、ファイアウォール関連の問題、ネットワークの問題、SMTP サーバーの応答時間の問題など。 |
12) DevOps の主要なコンポーネントは何ですか?
ここにいくつかの重要なものがあります DevOps ライフサイクルのフェーズ:
- 継続的開発
- 継続的インテグレーション
- 継続的なテスト
- 継続的な展開
- 継続的モニタリング
- 継続的なフィードバック
- 連続的な Operaン
13) DevOps の実装に使用されるクラウド プラットフォームをいくつか挙げてください
DevOps の実装に使用される一般的なクラウド コンピューティング プラットフォームは次のとおりです。
- Google Cloud
- Amazon ウェブサービス
- Microsoft Azure
14) バージョン管理システムを使用する利点をいくつか挙げてください。
- バージョン管理システムにより、チーム メンバーはいつでもどのファイルでも自由に作業できるようになります。
- 過去のバージョンとバリアントはすべて VCS 内に密接に詰め込まれています。
- 分散 VCS は、プロジェクトの完全な履歴を保存するのに役立ちます。そのため、中央サーバーに障害が発生した場合に、チーム メンバーのローカル Git リポジトリを使用できます。
- ファイルの内容にどのような変更が加えられたかを正確に確認できます。
15) Git Bisect について説明する
Git bisect は、バイナリ検索を使用してバグを引き起こしたコミットを見つけるのに役立ちます。
16) ビルドは何ですか?
ビルドとはソースコードをまとめて単体で動作するかどうかを確認する方法です。 ビルド作成プロセスでは、ソース コードはコンパイル、検査、テスト、デプロイメントを受けます。
17) パペットとは何ですか?
人形 は便利なプロジェクト管理ツールです。 管理タスクを自動化するのに役立ちます。
18) 二要素認証について説明する
XNUMX 要素認証は、ユーザーが別々のカテゴリから XNUMX つの識別方法を提供するセキュリティ方法です。
19) 「」という用語を説明してくださいCanary リリース'。
カナリア リリースは、新しいバージョンのソフトウェアを本番環境に導入する際のリスクを軽減するパターンです。これは、制御された方法で一部のユーザーにソフトウェアを公開することで実現します。その後、すべてのユーザーにソフトウェアを公開します。
20) 新しいサービスが実稼働の準備が整っていることを確認するには、どのような種類のテストが重要ですか?
新しいサービスが運用できる状態にあることを確認するには、継続的なテストを実施する必要があります。
経験者向けの DevOps 面接の質問と回答
21) ベイグラントとは何ですか?
vagrant は、ソフトウェアのテストと開発のための仮想化環境を作成および管理できるツールです。
22) DNS での PTR の用途は何ですか?
(PTR) とも呼ばれるポインター レコードは、DNS 逆引き参照に使用されます。
23) シェフとは何ですか?
これは、インフラストラクチャをコードに変換する強力な自動化プラットフォームです。 このツールでは、プロセスを自動化するために使用されるスクリプトを作成できます。
24) DevOps を実装するための前提条件は何ですか?
DevOps 実装に役立つ前提条件は次のとおりです。
- 少なくとも XNUMX つのバージョン管理ソフトウェア
- チームメンバー間の適切なコミュニケーション
- 自動テスト
- 自動展開
25) DevOps を成功させるために従うべきベスト プラクティスをいくつか挙げてください。
ここでは、DevOps 実装の重要なベスト プラクティスを示します。
- 配信の速度とは、あらゆるタスクが実稼働環境に導入されるまでにかかる時間を意味します。
- さまざまな製品で見つかった欠陥の数を追跡します。
- 実稼働環境で障害が発生した場合に、回復にかかる実際の時間または平均時間を測定することが重要です。
- 顧客によって報告されたバグの数も、アプリケーションの品質に影響を与えます。
26) SubGIt ツールの説明
SubGit は、SVN を Git に移行するのに役立ちます。 また、ローカルまたはリモートの Subversion リポジトリの書き込み可能な Git ミラーを構築することもできます。
27) 重要なネットワーク監視ツールの名前をいくつか挙げる
最も有名なネットワーク監視ツールは次のとおりです。
- Splunk
- Icinga 2
- Wireshark
- Nagios
- OpenNMS
28) ビデオカードが動作できるかどうか Unity どうやって知る?
コマンドを使用する場合
/usr/lib/Linux/unity_support_test-p
詳細な出力が得られます Unityの要件を満たしていれば、ビデオ カードで Unity を実行できます。
29) 起動音を有効にする方法を説明します。 Ubuntu?
起動音を有効にするには
- コントロールギアをクリックしてから、 スタートアップアプリケーション
- 起動アプリケーションの設定 ウィンドウ、クリック 追加 エントリを追加するには
- 次に、名前、コマンド、コメントなどのコメントボックスに情報を入力します。
/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"
- ログアウトし、完了したらログインします
ショートカットキーでも開くことができます Ctrl+Alt+T
.
30) 最も早く開く方法は何ですか? Ubuntu 特定のディレクトリ内のターミナル?
開くには Ubuntu 特定のディレクトリ内のターミナルでは、カスタムのキーボード ショートカットを使用できます。
これを行うには、新しいカスタム キーボードのコマンド フィールドに「genome – Terminal – – working – directory = /path/to/dir」と入力します。
31) 現在の画面の現在の色を取得する方法を説明してください。 Ubuntu デスクトップ?
背景画像を Gimp (画像エディタ) で開き、スポイト ツールを使用して特定のポイントの色を選択できます。そのポイントの色の RGB 値が表示されます。
32) デスクトップ上にランチャーを作成する方法を説明します。 Ubuntu?
デスクトップにランチャーを作成するには Ubuntu あなたは使うことができます
ALT+F2 を押して「gnome-desktop-item-edit –create-new~/desktop」と入力すると、古い GUI ダイアログが起動し、デスクトップにランチャーが作成されます。
33) Memcached とは何ですか?
Memcachedは、無料でオープンソースの高性能な分散メモリオブジェクトキャッシュシステムです。Memcachedの主な目的は、他のソースやデータベースから回復または構築できるデータの応答時間を向上させることです。Memcachedは、操作の必要性を回避するために使用されます。 SQLデータベース または別のソースを繰り返し使用して同時リクエストのデータをフェッチします。
Memcached は次の目的で使用できます
- ソーシャル ネットワーキング -> プロファイル キャッシュ
- コンテンツの集約 -> HTML/ページのキャッシュ
- 広告ターゲティング -> Cookie/プロファイル追跡
- 関係 -> セッションのキャッシュ
- 電子商取引 -> セッションと HTML キャッシュ
- 位置情報ベースのサービス -> データベース クエリのスケーリング
- ゲームとエンターテイメント -> セッション キャッシュ
Memcache が役立ちます
- 申請プロセスの高速化
- 何を保存するか、何を保存しないかを決定します
- データベースへの取得リクエストの数を減らす
- I/O (入出力) アクセス (ハードディスク) を削減します。
Memcached の欠点は
- 永続的なデータ ストアではありません
- データベースではありません
- アプリケーション固有のものではありません
- 大きなオブジェクトをキャッシュできません
34) Memcached の重要な機能についていくつか触れてください。
Memcached の重要な機能には次のものがあります。
- CAS トークン: CAS トークンは、キャッシュから取得されたオブジェクトに添付されます。 そのトークンを使用して、更新されたオブジェクトを保存できます。
- コールバック: コードを簡素化します
- 遅延を取得: サーバーから結果が返されるのを待つスクリプトの遅延時間を短縮します。
- バイナリプロトコル: 新しいクライアントでは、ASCII の代わりにバイナリ プロトコルを使用できます
- イグバイナリ: 以前は、クライアントは常に複雑なデータを含む値のシリアル化を行っていましたが、Memcached では igbinary オプションを使用できます。
5 人以上の経験を対象とした DevOps 面接の質問と回答
35) 複数のプロジェクト間で Memcache の単一インスタンスを共有できるかどうか説明してください。
はい、複数のプロジェクト間で Memcache の単一インスタンスを共有することができます。 Memcache はメモリ ストア スペースであり、XNUMX つ以上のサーバーで memcache を実行できます。 特定のインスタンスのセットと通信するようにクライアントを構成することもできます。 したがって、同じホスト上で XNUMX つの異なる Memcache プロセスを実行できますが、それらは完全に独立しています。 ただし、データをパーティション分割している場合は、どのインスタンスからデータを取得するか、どのインスタンスにデータを配置するかを知る必要があります。
36) 複数の Memcache サーバーがあり、memcache サーバーの XNUMX つに障害が発生し、そこにデータが保存されています。障害が発生したその XNUMX つのサーバーから重要なデータを取得しようとすることはありますか?
障害が発生したサーバー内のデータは削除されませんが、複数のノードに対して構成できる自動障害の機能が用意されています。 フェイルオーバーは、ソケットまたは Memcached サーバー レベルのエラー時にトリガーできますが、既存のキーの追加などの標準的なクライアント エラー時にはトリガーされません。
37) Memcached サーバーの停止を最小限に抑える方法を説明してください。
- XNUMX つのインスタンスに障害が発生すると、複数のインスタンスがダウンし、クライアントがリクエストを行って失われたデータがリロードされるときに、データベース サーバーに大きな負荷がかかります。 これを回避するには、キャッシュスタンピードを最小限に抑えるようにコードが記述されていれば、影響は最小限に抑えられます。
- もう XNUMX つの方法は、失われたマシンの IP アドレスを使用して、新しいマシン上で Memcached のインスタンスを起動することです。
- このコードは、最小限の作業で Memcached サーバーのリストを自由に変更できるため、サーバーの停止を最小限に抑えるためのもう XNUMX つのオプションです。
- タイムアウト値の設定は、一部の Memcached クライアントが Memcached サーバーの停止のために実装するもう XNUMX つのオプションです。 Memcached サーバーがダウンすると、クライアントはタイムアウト制限に達するまでリクエストの送信を試行し続けます。
38) データが変更されたときに Memcached を更新する方法を説明しますか?
データが変更された場合は、次の方法で Memcached を更新できます。
- キャッシュを積極的にクリアする: 挿入または更新が行われたときにキャッシュをクリアする
- キャッシュをリセットする: これは最初の方法と似ていますが、キーを削除して次のデータ要求を待ってキャッシュを更新するのではなく、挿入または更新後に値をリセットします。
39) ドッグパイル効果とは何ですか? この影響を防ぐにはどうすればよいでしょうか?
ドッグパイル効果とは、キャッシュの有効期限が切れ、Web サイトがクライアントから同時に行われた複数のリクエストによってヒットしたときのイベントを指します。 この影響は、セマフォ ロックを使用することで防止できます。 このシステムでは、値の有効期限が切れると、最初のプロセスがロックを取得し、新しい値の生成を開始します。
40) Memcached をどのように使用すべきではないのか説明してください。
- Memcached の一般的な誤用は、キャッシュとしてではなくデータ ストアとして使用することです。
- アプリケーションを実行するために必要な情報の唯一のソースとして Memcached を使用しないでください。 データは常に別のソースからも利用できる必要があります
- Memcached は単なるキーまたは値のストアであり、データに対してクエリを実行したり、コンテンツを反復して情報を抽出したりすることはできません。
- Memcached は、暗号化または認証においていかなる形式のセキュリティも提供しません。
41) サーバーがシャットダウンされても、Memcached に保存されているデータは引き続き使用できますか?
Memcached に保存されているデータは永続的ではないため、サーバーがシャットダウンまたは再起動されると、Memcached に保存されているすべてのデータが削除されます。
42) Memcache と Memcached の違いについて言及してください。
- メムキャッシュ: これは、便利なオブジェクト指向 (OOP) および手続き型インターフェイスを使用できるようにする拡張機能です。 動的 Web アプリケーションのデータベース負荷を軽減するように設計されています。
- メモリキャッシュ: を使用する拡張機能です libmemcached の Memcached サーバーと通信するための API を提供するライブラリ。 データベースの負荷を軽減することで、動的な Web アプリケーションを増やすために使用されます。 最新のAPIです。
43) ブルー/グリーン展開パターンの説明
青/緑のカラーリング パターンは、自動展開プロセス中に直面する最も重要な課題に対処します。 ブルー/グリーン デプロイメント アプローチでは、XNUMX つの同一の実稼働環境を確保する必要があります。 ただし、特定の時点でライブであるのはそのうちの XNUMX つだけです。 LIVE 環境は Blue 環境と呼ばれます。
チームがソフトウェアの次のリリースを準備する際、テストの最終段階をグリーン環境と呼ばれる環境で実施します。検証が完了すると、トラフィックはグリーン環境にルーティングされます。
44) 容器は何ですか?
コンテナは軽量仮想化からのものです。 これらはプロセス間の分離を提供します。
45) DevOps に関する事後ミーティングとは何ですか?
事後ミーティングは、何が問題だったのか、失敗を避けるためにどのような手順を実行する必要があるのかを話し合うために行われます。
46) 小さなクラウドを構築する最も簡単な方法は何ですか?
VMfres は、仮想から IaaS クラウドを作成するための最も効果的なオプションの XNUMX つです Box すぐに VM が作成されます。 ただし、軽量の PaaS が必要な場合は、bash スクリプトを Dokku コンテナから PaaS にすることができるため、Dokku が良い選択肢となります。
47) Docker ネットワーキングに使用されるツールを XNUMX つ挙げてください。
Docker ネットワーキングの場合は、Kubernetes と Docker swarm を使用できます。
48) DevOps が実装されている領域の名前をいくつか挙げてください
DevOps は、生産、IT 運用、生産フィードバック、およびソフトウェア開発に使用されます。
49) CBDとは何ですか?
CBD またはコンポーネントベースの開発は、製品開発にアプローチするユニークな方法です。 この方法では、開発者は、最初から開発するのではなく、明確に定義され、テストされ、検証された既存のコンポーネントを常に探して、それらを構成して製品にアセンブルします。
50) DevOpsを参照してペアプログラミングを説明する
ペア プログラミングは、エクストリーム プログラミング ルールのエンジニアリング手法です。 この方法では、XNUMX 人のプログラマーが同じシステム、同じ設計/アルゴリズム/コードで作業します。
XNUMX 人のプログラマーが「ドライバー」として機能します。 プロジェクトの進捗状況を継続的に監視して問題を特定する「観察者」として機能する人もいます。 事前の通告なしに、いつでも役割を逆転させることができます。
51) レジリエンステストの説明
障害後にデータと機能を失わずに回復することを保証するテストは、復元性テストと呼ばれます。
52) 重要な DevOps KPI を XNUMX つ挙げる
最も一般的な DevOps KPI は次の XNUMX つです。
- 障害回復までの待機時間
- 展開頻度
- 失敗した展開の割合
これらの面接の質問は、あなたの活力(口頭)にも役立ちます