最も一般的なデータサイエンスインタビューの質問と回答

ソースノード: 1860815

シルバーブログ最も一般的なデータサイエンスインタビューの質問と回答

過去数年間に企業から寄せられた 900 以上のデータ サイエンス面接の質問を分析した後、このガイドでは最も一般的なデータ サイエンス面接の質問カテゴリーをレビューし、それぞれ例を示して説明します。


By ネイト・ロシディ、データサイエンティストおよびプロダクトマネージャー.

データサイエンティストになることは名誉ある資質とみなされます。 2012 年にハーバード ビジネス レビューは「データ サイエンティスト」を 21 世紀で最もセクシーな職業と呼びましたが、業界における役割の増加傾向がその言葉を裏付けているようです。このセクシーさは今も続いていることを裏付けるように、Glassdoor の情報によると、データサイエンティストは 2021 年のアメリカで XNUMX 番目に人気のある仕事だそうです。

出典: グラスドア。

このような名誉ある仕事に就くには、厳しい面接を通過しなければなりません。データ サイエンスに関する質問は非常に広範囲かつ複雑になる場合があります。データ サイエンティストの役割には通常、非常に多くの分野が含まれることを考えると、これは予想されることです。データ サイエンスの面接の準備に役立つように、該当するすべての質問を検討し、それらをさまざまな質問カテゴリに分けました。これが私がそれを行った方法です。

分析の説明と方法論

私は、Glassdoor、Indeed、Reddit、Blind App などのさまざまな求人掲示板や Web サイト、企業レビュー プラットフォームからデータを収集しました。具体的には、過去903年間でXNUMX問が集まりました。

質問は事前に決められたカテゴリに分類されます。これらのカテゴリは、情報源から取得したインタビュー体験の説明を専門家が分析した結果です。

カテゴリは以下のとおりです。

  1. コーディング
  2. モデリング
  3. アルゴリズム
  4. 統計
  5. 確率
  6. プロダクト
  7. ビジネスケース
  8. システムデザイン
  9. 技術的

面接ではどのような質問が予想されるでしょうか?

このグラフは、収集されたデータに基づいてカテゴリごとの質問の種類を示します。

パーセンテージに変換すると、グラフは次のようになります。

ご覧のとおり、コーディングとモデリングに関する質問が最も支配的です。すべての質問の半分以上がその分野からのものです。考えてみれば不思議ではありません。コーディングとモデリングは、おそらくデータ サイエンティストにとって最も重要な 24 つのスキルです。コーディングタイプの質問は広く普及しており、全質問の XNUMX 分の XNUMX 以上を占めています。アルゴリズムや統計など、他の種類の質問もかなり重要です。全質問の XNUMX% はこれら XNUMX つのカテゴリからのものです。他のカテゴリは表示どおりではありません。データ サイエンティストの役割の性質を考慮すると、これは合理的だと思います。

ここで、すべての質問カテゴリーについて説明し、尋ねられる質問の例をいくつか示したいと思います。

データ サイエンスの面接の質問に関して最もテストされた概念

コーディング

すでに見たように、コーディングの問題はデータ サイエンスにおいて最も重要なトピックです。このような質問では、洞察を特定するためにコードを使用したある種のデータ操作が必要になります。質問は、コーディング能力、問題解決スキル、創造性をテストするように設計されています。通常、これはコンピューターまたはホワイトボードで行います。

コーディング面接の質問例

1 マイクロソフトの例 これは:

質問: 「新規ユーザーと既存ユーザーのシェアを計算します。月、新規ユーザーのシェア、既存ユーザーのシェアを比率として出力します。新規ユーザーとは、当月にサービスの利用を開始したユーザーと定義します。既存ユーザーとは、当月にサービスの利用を開始し、前月のいずれかにサービスを利用したユーザーです。日付はすべて 2020 年のものであると仮定します。」

テーブルを使用することになります ファクトイベントサンプルデータは次のようになります。

目的の出力を取得するには、次のコードを作成する必要があります。

with all_users as ( SELECT date_part('month', time_id) AS month, count(DISTINCT user_id) as all_users FROM fat_events GROUP BY month)、new_users as ( SELECT date_part('month', new_user_start_date) AS month, count(DISTINCT user_id) as new_users FROM (SELECT user_id, min(time_id) as new_user_start_date FROM fat_events GROUP BY user_id) sq GROUP BY month ) SELECT au.month, new_users / all_users::Decimal as share_new_users, 1- (new_users / all_users::Decimal) as share_existing_users FROM all_users au JOIN new_users nu ON nu.month = au.month 

SQL でコードを記述することは、コーディングに関して最も頻繁にテストされる概念です。 SQL はデータ サイエンスで最も使用されているツールであるため、これは驚くべきことではありません。面接でほぼ避けて通れない概念の 1 つは結合です。したがって、さまざまな結合の違いと、それらを使用して必要な結果を得る方法を必ず理解してください。

また、GROUP BY 句を使用してデータをグループ化することが頻繁に行われることが予想されます。通常尋ねられるその他の概念は、WHERE 句や HAVING 句を使用したデータのフィルタリングです。また、個別のデータを選択するように求められます。また、SUM()、AVG()、COUNT()、MIN()、MAX() などの集計関数についても理解してください。

一部の概念はそれほど頻繁には出現しませんが、それらについて言及し、そのような質問に備えておくことは価値があります。たとえば、共通テーブル式 (CTE) もそのようなトピックの 1 つです。もう 1 つは CASE() 句です。また、文字列のデータ型と日付の処理について思い出してください。

モデリング

モデリングは調査データの中で 20 番目に大きなカテゴリであり、全質問の XNUMX% がここからのものでした。これらの質問は、統計モデルの構築と機械学習モデルの実装に関する知識をテストするように設計されています。

モデリング面接の質問例

回帰は、インタビューで尋ねられる最も一般的な技術的なデータ サイエンスの概念です。統計モデリングの性質を考慮すると、これは驚くべきことではありません。

1 亜鉛メッキの例 次のようになります。

質問: 「回帰における正則化とは何ですか?」

この質問には次のように答えることができます。

回答: 「正則化は、係数推定値がゼロに制約される (または正則化される) 特別なタイプの回帰です。こうすることで、サンプリング誤差を低減しながら、モデルの分散を低減することができます。正則化は、過学習を回避または軽減するために使用されます。過学習は、モデルがトレーニング データを学習しすぎて、新しいデータに対するモデルのパフォーマンスが低下する場合に発生します。過学習を避けるために、通常は Ridge または Lasso の正則化が使用されます。」

定期的にテストされる概念の一部は、ロジスティック回帰、ベイズ ロジスティック回帰、単純ベイズ分類器などの他の回帰分析の概念です。ランダム フォレストやモデルのテストと評価について質問することもできます。

アルゴリズム

アルゴリズムに関する問題は、主にいずれかのプログラミング言語を使用したコードを通じて数学的問題を解決する必要があるすべての問題です。これらの質問には段階的なプロセスが含まれており、通常、答えを導き出すには調整や計算が必要です。これらの質問では、仕事上の複雑な問題に対して実装できる、問題解決とデータ操作の基本的な知識をテストします。

アルゴリズム面接の質問例

アルゴリズムの下で最もテストされる技術的概念は、プログラミング言語を使用して数学的または構文上の問題を解決することです。

ここにある Leetcode で見つけられる例の 1 つ:

質問: 「2 つの非負の整数を表す 2 つの空ではないリンク リストが与えられます。数字は逆の順序で格納され、各ノードには 1 つの数字が含まれます。 2 つの数値を加算し、その合計をリンク リストとして返します。」

データの例は次のようなものになります。

出典: リートコード。

回答: Java で書かれたコードは次のようになります。

public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode(0); ListNode p = l1、q = l2、curr = dummyHead; int キャリー = 0; while (p != null || q != null) { int x = (p != null) ? p.val : 0; int y = (q != null) ? q.val : 0; int sum = キャリー + x + y;キャリー = 合計 / 10; curr.next = 新しいListNode(合計 % 10); curr = curr.next; if (p != null) p = p.next; if (q != null) q = q.next; if (carry > 0) { curr.next = new ListNode(carry); dummyHead.next を返します。 } 

このタイプの質問でよくテストされるその他の一般的な概念には、配列、動的プログラミング、文字列、貪欲アルゴリズム、深さ優先検索、ツリー、ハッシュ テーブル、バイナリ検索などがあります。

統計

統計面接の質問は、統計理論と関連する原則の知識をテストする質問です。これらの質問は、データ サイエンスの基礎となる理論原則にどれだけ精通しているかを試すことを目的としています。行われる分析の理論的および数学的背景を理解できることが重要です。これらの質問にうまく答えれば、面接官はあなたを高く評価するでしょう。

統計面接の質問例

最も言及されている技術概念は、サンプリングと配信です。データ サイエンティストにとって、これはデータ サイエンティストが日常的に実行する最も一般的に使用される統計原則の 1 つです。

たとえば、 IBMからの面接の質問 尋ねます:

質問: 「非ガウス分布のデータ型の例は何ですか?」

質問に答えるには、まずガウス分布を定義します。次に、これに続いて、非ガウス分布の例を示します。このようなもの:

回答: 「ガウス分布は、平均からの標準偏差を調べるときにデータの特定の既知の割合​​が見つかる分布であり、正規分布としても知られています。非ガウス分布の例としては、指数分布や二項分布などがあります。」

就職面接の準備をするときは、分散と標準偏差、共分散と相関関係、p 値、平均と中央値、仮説検定、ベイズ統計などのトピックも取り上げるようにしてください。これらはすべてデータ サイエンティストとして必要な概念なので、採用面接でも期待してください。

確率

これらの質問には、確率の概念に関する理論的知識のみが必要です。面接官は、通常職場で行われる複雑なデータ調査を完了するための確率の方法と使用法に関するあなたの知識を深く理解するためにこれらの質問をします。

確率面接の質問例

駄洒落を意図したものである可能性が非常に高く、あなたが受け取る質問は、一連のサイコロまたはカードから特定のカードまたは数字が得られる確率を計算することです。多くの企業がこの種の質問をしているため、これは私たちの調査ではほとんどの企業にとって最も一般的な質問要素であると思われます。

そのような例としては、 Facebookからの確率の質問:

質問: 「52 枚のカードのデッキで XNUMX 枚のカードを別々に引いてペアを獲得する確率はどのくらいですか?」

これに答える方法は次のとおりです。

回答: 「最初に引くカードは何でも良いので、デッキに残っているカードが 3 枚減る以外は結果には影響しません。最初のカードが引かれると、デッキには残り 51 枚のカードがあり、それらを引いてペアを取得できます。したがって、最初のカードがペアと一致する確率は、3 枚中 51 枚 (残りのカード) です。これは、このイベントが発生する確率は 5.89/XNUMX、つまり XNUMX% であることを意味します。」

これは確率のみを扱う一種の「専門的」質問であるため、他の概念は問われません。唯一の違いは、質問がどれほど想像力豊かであるかです。しかし基本的には、常に何らかの出来事の確率を計算し、自分の考えを示す必要があります。

プロダクト

製品面接の質問では、データを通じて製品/サービスのパフォーマンスを評価するよう求められます。これらの質問は、日常業務の場合と同様に、あらゆる環境でデータ サイエンスの原則を適応して使用するための知識をテストします。

製品インタビューの質問例

このカテゴリで最も顕著な技術コンセプトは、データサイエンティストの観点から企業の製品を特定し、改善を提案することです。製品側でテストされた技術コンセプトのばらつきが大きいのは、製品に関する質問の性質と、これらに答えるために必要な高いレベルの創造性によって説明できます。

の例 Facebookからの製品に関する質問 だろう:

質問: 「あなたのお気に入りの Facebook 製品は何ですか?それをどのように改善したいと思いますか?」

回答: 質問の性質上、これについてはご自身で答えていただくことにします。

テストされる一般的な概念は、面接を受ける企業によって大きく異なります。その会社のビジネスとその製品に精通していることを確認してください (理想的には、あなたもそのユーザーです)。それで問題ありません。

ビジネスケース

このカテゴリには、データ サイエンスのスキルをテストするビジネスに関連するケース スタディと一般的な質問が含まれます。一部の面接官は、候補者を雇用する前に、企業固有の問題を解決するためにデータサイエンスの原則を適用する方法を候補者に知ってもらいたいと考えているため、これらの質問に答える方法を知ることの重要性は非常に重要です。

ビジネスケースの質問例

質問の種類の性質上、際立った技術的概念を 1 つも特定できませんでした。ここに分類される質問のほとんどはケーススタディであるため、ある意味ユニークです。

ただし、ここでは一例を示します Uber からのビジネスケースの質問:

質問: 「メンローパークとパロアルトなど、近隣の 2 つの都市から Uber を利用した人々が多数存在しており、思いつく限りのあらゆるデータが収集される可能性があります。乗客が乗車した都市を特定するには、どのようなデータを収集しますか?」

回答: 「都市を特定するには、位置/地理データにアクセスする必要があります。収集されるデータは、GPS 座標、経度/緯度、郵便番号などです。」

システムデザイン

システム設計の質問はすべて、テクノロジー システムの設計に関連する質問です。彼らは、顧客/クライアントを支援するために問題を解決し、システムを作成、設計する際の候補者のプロセスを分析するように求められます。データ サイエンティストにとって、システム設計を知ることは非常に重要です。あなたの役割がシステムを設計することではないとしても、確立されたシステムで役割を果たす可能性が高く、仕事をするためにそれがどのように機能するかを知る必要があります。

システム設計面接の質問例

これらの質問は、さまざまなトピックやタスクをカバーします。しかし、際立っているのはデータベースの構築です。データ サイエンティストは日々データベースを頻繁に扱っているため、データベースを最初から構築できるかどうかを確認するためにこの質問をするのは理にかなっています。

ここにある Audibleからの質問例 私たちの調査で判明したこと:

質問: 「レコメンデーション システムを構築する方法について説明してもらえますか?」

回答: この質問に答えるにはさまざまなアプローチがあるため、独自の方法を構築するのは皆さんにお任せします。

繰り返しになりますが、これらの質問に答えるには、会社のビジネスを知ることが不可欠です。企業がおそらく必要とするデータベースについて少し考え、面接の前にアプローチを少し詳しく説明してください。

技術的

技術的な質問は、さまざまなデータ サイエンスの技術的概念の説明を問うすべての質問です。技術的な質問は理論的なものであり、会社で使用するテクノロジーの知識が必要です。性質上、コーディングの質問に似ているように見える場合があります。自分のやっていることの背後にある理論を知ることは非常に重要であるため、面接では技術的な質問が頻繁に行われます。

技術面接の質問例

最もテストされる領域は、Python と SQL の理論的知識です。これら 2 つの言語は、Python を補完する R とともにデータ サイエンスで主流であるため、当然のことです。

の例 ウォルマートからの実際の技術的な質問 だろう:

質問Python のデータ構造は何ですか? 

回答: 「データ構造はデータを保存するために使用されます。 Python には、List、Dictionary、Tuple、Set の 4 つのデータ構造があります。これらは組み込みのデータ構造です。リストは、さまざまな種類のデータを含めることができるリストを作成するために使用されます。辞書は基本的にキーのセットです。これらは、キーを使用して値を保存し、同じキーを使用してデータを取得するために使用されます。タプルはリストと同じです。違いは、タプルではデータを変更できないことです。セットには、重複のない順序付けされていない要素が含まれます。組み込みのデータ構造に加えて、ユーザー定義のデータ構造もあります。」

これらは包括的なタイプの質問です。これは、他のカテゴリにうまく収まらないすべての質問をまとめたカテゴリです。そのため、多かれ少なかれ頻繁に発生する特定の概念はありません。

まとめ

このデータ サイエンス面接ガイドは、データ サイエンスの面接で尋ねられる質問の種類を理解するために行われた調査をサポートするために書かれています。面接の質問のデータは、4 年間にわたって数十の企業から収集され、分析されています。質問は 9 つの異なる質問タイプ (アルゴリズム、ビジネス ケース、コーディング、モデリング、確率、製品、統計、システム設計、および技術的な質問) に分類されています。

分析の一環として、各質問タイプ カテゴリの最も一般的な技術的概念のいくつかについて説明しました。たとえば、統計に関する最もよくある質問は、サンプリングと分布に関するものです。すべての質問カテゴリは、実際の質問の 1 つの実践的な例によってサポートされています。

この記事は、面接の準備、または単にデータ サイエンスについてさらに学ぶための重要なガイドとして役立つことを目的としています。データ サイエンスの面接プロセスについてもっと安心していただけるようお手伝いできれば幸いです。面接も頑張ってください!

元の。 許可を得て転載。

関連する

出典: https://www.kdnuggets.com/2021/08/common-data-science-interview-questions-answers.html

タイムスタンプ:

より多くの KDナゲット