演習 - 質問の練習
この演習では、質問に答える方法について確認します。 答え方を練習することで、考えをまとめる方法を学習し、うまくいけば好感を持って受け取ってもらえる可能性があります。
練習の時間を設定する
習うより慣れろと言います。 繰り返すことで上達します。 面接までの毎日のスケジュールを立て、鏡の前で、または友人に付き合ってもらい、質問を練習します。
たとえば、毎日午後 3:00 から午後 4:00 の間は、面接の質問を練習することに決めます。
トピックを選択する
練習できる質問の種類は、数多くあります。 次に例を示します。
- アルゴリズムまたはアーキテクチャについてのコードの質問
- 特定の状況でどのように対処するかについてのソフト スキルの質問
記述したコードを例に取り、5 分間で口頭説明することにチャレンジします。
たとえば、計算ツールのパーサーを使い、タスクの内容、課題の内容、およびその課題にどのようにアプローチしたかについて説明します。
答えを構成する
明快でありつつ、的を得るのは難しいことです。 明確さを目指して練習するには、ある構造を使用して、説明したい重要なポイントをいくつか特定して、それらを説明する順序を決めます。
説明を 1 分ごとに構成する練習を行います。 問題を選択し、次のテンプレートを使用して説明します。
- こちらが、このコードで解ける問題です。
- こちらが、ビルド方法を決定した過程です。
- こちらが、ビルド時には直面した課題です。
- こちらが、課題を解いた方法です。
- こちらが、このコードを完成して学んだことです。
出力例を次に示します。
問題: タスクは電卓の設計に関するものでした。 入力はコマンド ラインから取得されます。 まず、数値と演算子が個別に入力された場合にどのような演算子をサポートする必要があり、どのように入力が発生するかなどの考慮事項があるかどうかを確認する必要がありました。
答え: 入力は式
1 + 1
の形式ですどのように決定したか: テストの記述から始めました。 そのテストは、コードが最終的に動作したタイミングの確認に役立っただけでなく、エッジ ケースの検討にも役立ちました。
入力は式であることがわかっていたため、式をトークン、数値、演算子に分割する必要がありました。 次に、
2 * (3+2)
のような式を解決するために、どのような順序で演算子を適用するかをエンコードする必要がありました。 最後に、計算を実行する必要がありました。課題: トークンを解析する方法に気づき、式を格納するデータ構造を選択して、その式を計算することが課題でした。
どのように解いたか: データ構造はバイナリ ツリーに決定し、演算子を上位ノード、値をリーフとして指定しました。 その後、再帰を使用して式を計算できます。
学んだこと: 常にテストから始め、最もシンプルなパスとエッジ ケースを使用したテスト スイートを段階的に構築することの重要性を学びました。 また、問題を簡単な方法で解くには、適切なデータ構造を選択することが鍵となることを学びました。
ボディ ランゲージに注意を払う
ボディ ランゲージは、コミュニケーションのもう 1 つの重要な部分です。 言い方や抑揚によって、あなたの印象は大きく変わることがあります。
話すときのボディ ランゲージを観察してみてください。 常に自信を持って答えるようにしてください。
座っているときも、立っているときも、背筋を伸ばすように注意してください。 ポケットに手を入れないでください。 面接担当者の目を見ます。