0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

口頭試問でボロボロだった話と対策

Posted at

はじめに

転職活動を始めた今日この頃。Salesforce案件を中心に、個人的にUnityで触ってたC#や、最近勉強を始めたTypeScriptの案件も含めて探しておりました。

そのC#とJavaScript/TypeScriptを使っていらっしゃる企業の選考に応募し、面接にて口頭試問を受けたのですが、いざ聞かれてみると、基本的な質問でもびっくりするほど答えられない!

基本的な文法はしっかり理解しているつもりだったのですが、本当に「つもり」であったことを思い知りました。

なぜ質問に答えられなかったのか?

聞かれた内容は本当に基本的なものです。

  • console.log(undefined ?? 'hoge')console.log('' || 100)の挙動
  • C#でnull許容参照型機能を有効化した時の挙動
  • async, awaitの文法
  • Sort()せずデータを取り出す(LINQのOrderBy)

でもいざ聞かれると、意外とスムーズに答えられない。

私の場合、習うより慣れよの方針で、モノを作りながらの学習を試みておりました。その方針自体が悪かったとは思いませんが、「こういう機能はどうかけばいいのか?」という考え方で作っていくことになるので、「こう書いたらどう動くのか?」という点では、書いたことがないパターンを見せられると、途端にわからなくなってしまいました。

また、必要な知識だけかいつまんで学ぶこととなるため、基本仕様や言語の細かいルールは、意識から遠ざかっていました。(特に最近はGithub CopilotがTabキーを押すだけで、意図を汲み取ってどんどん書いてくれたというのも悪影響でした。バイブコーディングが流行る今日この頃、相当意識しないと悪化しそう)

対策(ChatGPTでのシミュレーション)

これはいけない、ということでトレーニングを始めました。
といってもChatGPTに試験官役をお願いし、
「C#の基礎を口頭試問形式で出して」
「TypeScriptの基礎を面接風に質問して」
と伝えるだけ。

🔰 基礎レベル

  • string と StringBuilder の違いを説明してください。
  • 値型と参照型の違いを説明してください。代表的な型も挙げてください。
  • == と .Equals() の違いを説明してください。
  • var と dynamic の違いを説明してください。
  • List と Array の違いを説明してください。

⚙️ 中級レベル

  • LINQ とは何か、簡単な使用例を口頭で説明してください。
  • async/await の仕組みとメリットを説明してください。
  • IDisposable インターフェースの役割と、using 文との関係を説明してください。
  • null 許容参照型 (string?) の意味と利点を説明してください。
  • IEnumerable と IQueryable の違いを説明してください。

🧠 上級レベル

  • C#におけるdelegateとeventの違いを説明してください。
  • 依存性注入(DI)とは何か、C#での実装例を挙げて説明してください。
  • ガベージコレクションの仕組みと、発生しやすいタイミングを説明してください。
  • 抽象クラスとインターフェースの違いを、利用シーンを交えて説明してください。
  • C#でシングルトンを実装する方法を口頭で説明してください。

C#だとこんな具合で色々出してくれます。勿論1問ずつ出題も可能。
わからないと即答しても気にしなくていいのが素晴らしいですね。いい時代です。

  • 知識の穴が浮き彫りになる
  • 用語を正確に説明する練習になる

始めたばかりですが、効果はかなり実感してます。(恥ずかしながら、stringが参照型だと初めて知りました。ずっと値型だと勘違いしてた)
私のような特定のプロダクト特化型エンジニアには、自覚のない"常識知らず"を洗い出せて、特にいいトレーニングになりそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?