「次のラウンドに進むために必要なトップ3のSQLスキル」
Top 3 SQL skills needed to advance to the next round.
データ専門家のための技術面接支援
もしデータサイエンティスト、データアナリスト、データエンジニアなどの役職を目指し、現在面接を受けているのであれば、おそらくライブコーディングを必要とする技術面接に何回か出くわすことになるでしょう。通常、SQLを使用したものが多いです。後の面接ではPythonのような他のプログラミング言語を要求されるかもしれませんが、データ領域では一般的なPythonのSQL問題に焦点を当てましょう。このディスカッションでは、SELECT
、FROM
、WHERE
などの基本的なSQLの概念と、SUM
やCOUNT
などの集計関数については既に理解しているものとします。それでは、具体的な内容に入っていきましょう!
1. ジョインとテーブルの種類のマスタリング
間違いなく、最も一般的なSQLの問題はテーブルのジョインに関するものです。それはあまりにも当たり前のように思えるかもしれませんが、私が参加したすべての面接はこのトピックを中心に展開されました。内部ジョインと左ジョインについては、自信を持って対応できるようにしておくべきです。さらに、セルフジョインとユニオンを扱う能力も重要です。同様に重要なのは、これらのジョインを異なるテーブルの種類(特にファクトテーブルとディメンションテーブル)を横断して実行できる能力です。以下は、これら2つの用語の簡単な定義です:
ファクトテーブル:多数の行を含むが比較的少数の属性や列を持つテーブル。例えば、オンライン小売業者が「注文」テーブルを維持していて、date, customer_id, order_id, product_id, units, amount
などの列を持っているとします。このテーブルは属性は少ないが、膨大なレコードを含んでいます。
ディメンションテーブル:少ない行数ですが多くの属性を持つ次元テーブル。例えば、同じオンライン小売業者の「顧客」テーブルは、customer_id, first_name, last_name, ship_street_addr, ship_zip_code
などの属性を持ち、顧客ごとに1行ずつ存在するとします。
これら2つの主要なテーブルの種類を理解することは重要です。正確な結果を保証するために、ファクトテーブルとディメンションテーブルをどのように結合するか、なぜそれが重要なのかを把握することが重要です。以下は現実世界の例を考えてみましょう:面接の質問には、「注文」と「顧客」という2つのテーブルが提示され、以下のように尋ねられます:
生涯で少なくとも3つのユニットを購入し、配送先の郵便番号が90210である顧客は何人いますか?
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles