昨日のテクニカルインタビューを終えたところ、インタビュアーがグラフ理論、データ構造、トラバーサルについて質問しました。これはiOSのものとは関係ありません。だから準備ができていない。これは実際にはソーシャルモバイルゲーム会社向けでしたが、iOSの代わりにこの種の質問をするのはこのためですか。今、私は将来のインタビューのためにレビューして研究するための資料に圧倒されているように見えます、私はデータ構造/トラバーサル/検索アルゴリズム全体をレビューすると同時に、iOS/objective-Cの基礎もレビューする必要があります。誰かが私を準備する方法を案内してくれますか?ゲーム会社だったので、私の過去の経験は特別なケースですか?
多くの場合、雇用主は「iOS開発者」、「Unix開発者」、またはその他の潜在的な1トリックポニーを本当に望んでいません。彼らはあなたが尋ねられたような基本的な概念をしっかりと理解している優れた万能者を探しているでしょう。
通常、そのような才能のある開発者は、自分の道にやって来る特定のテクノロジーに手を変えるのにほとんど困難を感じません。
ソーシャルネットワーキングアプリケーションは、多くのグラフ理論を使用しています。彼らは「友達」のつながりの大きなグラフを扱っているので、おそらくそのグラフをグループに分割し、自分がいるグループに基づいてユーザーに何かを提案するアルゴリズムの束を持っているでしょう。等.
しかし、それ以上に、グラフ理論、データ構造、およびアルゴリズムは、MVCパターン、メッセージパッシング、およびメモリ管理がiOS開発の基本であるのと同様に、ソフトウェア開発の基本です。専門分野に基づいて面接しているからといって、コンピュータサイエンスの基本的な概念をしっかりと把握する必要がないというわけではありません。
どんなインタビューでも、私はしっかりと理解したいと思います:
この種の面接の準備は、ニッチな専門分野やグラフ理論などの特定の主題を知るだけでなく、ソフトウェアエンジニアリング、コンピューターサイエンス、一般的な設計方法論、問題解決スキルなど、幅広い分野全体を研究することによって行います。これには数日かかるだけでなく、数年かかる場合があります。
これらのタイプのインタビューの質問は通常、あなたが知的好奇心を持ち、学ぶ時間を費やしていて、単なるテクノロジーや市場の変化に対応できるかどうかにかかわらず、ニッチなスペシャリスト。
したがって、誰かが詰め込んだランダムなサブトピックは、一般的な専門知識に関する次のインタビューの質問には含まれない可能性があります。
ソリューション?学び続けます。