Pertanyaan Wawancara SQL untuk Profesional Berpengalaman

Node Sumber: 1586233

Pertanyaan Wawancara SQL untuk Profesional Berpengalaman
 

Pengantar

 
Jika Anda seorang ilmuwan data berpengalaman yang sedang mencari pekerjaan, Anda tidak bisa memilih waktu yang lebih baik. Sampai sekarang, banyak organisasi mapan mencari ilmuwan data yang tahu keahlian mereka luar dalam. Namun, permintaan yang tinggi tidak berarti bahwa Anda dapat, atau harus melewati rintangan dan melamar posisi senior tanpa keahlian tertentu. Saat mempekerjakan ilmuwan data berpengalaman, perusahaan mengharapkan mereka untuk mengerjakan tugas yang paling sulit. Karyawan ini harus memiliki pemahaman yang baik bahkan fitur yang paling tidak jelas sehingga mereka dapat menggunakannya bila diperlukan.

Seharusnya tidak mengherankan bahwa ketika wawancara untuk posisi senior, ilmuwan data yang berpengalaman cenderung mendapatkan pertanyaan yang jauh lebih sulit. Seringkali, ketika mengerjakan satu pekerjaan selama beberapa tahun, ilmuwan data menjadi sangat terampil dalam melakukan tugas tertentu yang berulang. Sangat penting bagi para profesional untuk menyadari bahwa SQL tidak berhenti dan berakhir dengan pengetahuan mereka yang sudah ada. Ketika berbicara tentang konsep SQL tingkat lanjut, mungkin masih ada beberapa kesenjangan dalam pengetahuan mereka. Jadi tidak ada salahnya untuk mendapatkan bantuan agar berhasil dalam wawancara ilmuwan data Anda. 

SQL adalah bahasa utama untuk mengelola database, jadi melakukan operasi SQL adalah inti dari pekerjaan ilmuwan data. Sebagian besar wawancara data scientist diatur untuk menentukan pengetahuan kandidat tentang SQL. 

Pekerjaan sehari-hari mungkin tidak termasuk menulis pertanyaan yang rumit, tetapi Anda harus menunjukkan bahwa jika keterampilan seperti itu diperlukan, Anda adalah orang yang mampu melakukannya. Jadi, tidak mengherankan jika pewawancara menanyakan serangkaian pertanyaan yang beragam pertanyaan wawancara SQL untuk menguji kefasihan kandidat dalam SQL.

Dalam artikel ini, kami ingin merangkum beberapa pertanyaan dan konsep kompleks yang ditanyakan dalam wawancara dengan para profesional berpengalaman. Bahkan jika Anda yakin dengan pengetahuan SQL Anda, tidak ada salahnya untuk memindai kata kunci dan memastikan Anda sudah menguasai semuanya.

Konsep minimal untuk para profesional berpengalaman

KASUS / KAPAN

 
Memahami secara menyeluruh konsep CASE (dan pernyataan When yang menyertainya) sangat penting untuk mencapai penguasaan SQL yang lengkap. Pernyataan kasus memungkinkan kita untuk memeriksa kondisi tertentu dan mengembalikan nilai berdasarkan apakah kondisi tersebut dievaluasi sebagai benar atau salah. Dalam kombinasi dengan klausa, seperti WHERE dan ORDER BY, CASE memungkinkan kita untuk membawa logika, kondisi, dan urutan ke dalam kueri SQL kita.

Nilai pernyataan CASE tidak terbatas pada menyediakan logika kondisional sederhana dalam kueri kami. Ilmuwan data yang berpengalaman harus memiliki lebih dari sekadar pemahaman tingkat permukaan tentang pernyataan CASE dan penggunaannya. Pewawancara cenderung mengajukan pertanyaan tentang berbagai jenis ekspresi CASE dan bagaimana cara menulisnya. 

Kandidat yang berpengalaman harus siap untuk menjawab pertanyaan teoretis, seperti menjelaskan perbedaan antara pernyataan CASE yang Dinilai dan Dicari, cara kerjanya, dan cara menulisnya. Ini membutuhkan pemahaman yang kuat tentang sintaks dan praktik umum mereka. Tak perlu dikatakan, ini juga termasuk penggunaan yang tepat dari klausa ELSE.

Ilmuwan data yang berpengalaman diharapkan mengetahui cara menggunakan CASE dengan fungsi agregat juga. Anda mungkin juga diminta untuk menulis pernyataan CASE singkatan, yang tidak terlalu berulang dan lebih mudah dipahami. Anda harus dapat dengan cerdas berbicara tentang peringatan dan kemungkinan risiko menggunakan pernyataan CASE singkatan.

Secara umum, seorang ilmuwan data yang berpengalaman harus dapat menggunakan CASE untuk menulis kueri yang lebih efisien. Lagi pula, seluruh tujuan dari pernyataan CASE adalah untuk menghindari menulis terlalu banyak pertanyaan individu untuk mengkonsolidasikan data.

Berikut adalah contoh pertanyaan yang dapat diselesaikan dengan menggunakan pernyataan CASE / WHEN: https://platform.stratascratch.com/coding/9634-host-response-rates-with-cleaning-fees?python= 

Ini adalah pertanyaan sulit yang diajukan dalam wawancara Airbnb, di mana kandidat harus menemukan rata-rata tingkat respons tuan rumah, kode pos, dan biaya pembersihan yang sesuai.

Dalam hal ini, pernyataan CASE/WHEN digunakan untuk memformat hasil sebagai angka dan menyajikannya sebagai nilai persentase, selain kode pos.

SQL Bergabung

 
Sangat mudah untuk merasa percaya diri dengan pengetahuan Anda tentang SQL Joins, tetapi semakin Anda menjelajahi topik ini, semakin Anda akan menemukan bahwa Anda tidak tahu. Pewawancara sering bertanya pertanyaan wawancara tentang aspek lanjutan dari SQL Joins yang sering diabaikan. Jadi, penting untuk mempelajari konsep ini dan menguasainya secara menyeluruh.
 
Selain konsep dasar, pewawancara dapat menanyakan apa itu self cross join, dan mengetahui kedalaman pengetahuan Anda dengan meminta untuk memecahkan pertanyaan praktis. Anda harus mengetahui semua jenis gabungan yang berbeda, termasuk jenis yang lebih kompleks, seperti gabungan hash, atau gabungan gabungan. Anda juga dapat diminta untuk menjelaskan apa itu gabungan alami, dan kapan itu paling berguna. Terkadang Anda harus menjelaskan perbedaan antara natural dan inner join.
 
Anda harus, secara umum, memiliki pengalaman dan penguasaan menyeluruh dalam menggunakan gabungan dalam kombinasi dengan pernyataan lain untuk mencapai hasil yang diinginkan. Misalnya, Anda harus tahu cara menggunakan klausa WHERE untuk menggunakan Cross Join seolah-olah itu adalah Inner Join. Anda juga diharapkan mengetahui cara menggunakan gabungan untuk menghasilkan tabel baru tanpa memberikan terlalu banyak tekanan pada server. Atau cara menggunakan gabungan luar untuk mengidentifikasi dan mengisi nilai yang hilang saat menanyakan database. Atau cara kerja bagian dalam dari sambungan luar, seperti fakta bahwa mengatur ulang urutannya dapat mengubah output. 

Berikut adalah contoh pertanyaan yang melibatkan penulisan pernyataan bersama dalam

Ini adalah pertanyaan yang cukup sulit, di mana para kandidat diminta untuk menampilkan ukuran pesanan sebagai persentase dari total pengeluaran.
 
 

Konsep Lanjutan N1: Manipulasi Tanggal-waktu

 
Pertanyaan Wawancara SQL untuk Profesional Berpengalaman
 

Biasanya database menyertakan tanggal dan waktu, jadi setiap ilmuwan data yang berpengalaman harus memiliki pengetahuan mendalam tentang bekerja dengan mereka. Jenis data ini memungkinkan kita untuk melacak urutan terjadinya peristiwa, perubahan frekuensi, menghitung interval, dan mendapatkan wawasan penting lainnya. Sering kali melakukan operasi ini membutuhkan penguasaan penuh manipulasi tanggal-waktu dalam SQL. Jadi para profesional dengan seperangkat keterampilan seperti itu akan memiliki keunggulan dibandingkan kandidat yang bersaing. Jika Anda tidak 100% yakin dengan keterampilan Anda, lihat konsep yang dijelaskan di bawah ini dan lihat berapa banyak dari mereka yang terdengar familier.

Karena ada banyak pendekatan berbeda (tetapi valid) untuk memformat data dalam SQL, pembuat kode yang hebat setidaknya harus mengetahui semuanya. Selama wawancara, manajer perekrutan mengharapkan pengetahuan tentang konsep pemformatan data dasar dan kemampuan untuk berbicara dengan cerdas tentang memilih fungsi yang tepat untuk tugas tersebut. Ini termasuk pengetahuan tentang fungsi FORMAT() yang penting dan sintaks terkait untuk memanfaatkan sepenuhnya fungsi tersebut. Pengetahuan tentang fungsi dasar lainnya, seperti NOW() juga diharapkan. Selain itu, tidak akan tiba-tiba bagi para profesional berpengalaman untuk ditanya tentang konsep dasar seperti data deret waktu dan tujuannya.

Penting juga untuk mempertimbangkan konteks pekerjaan yang Anda lamar. Perusahaan AI atau IoT akan lebih peduli dengan pelacakan data yang dikumpulkan dari sensor, sedangkan aplikasi perdagangan saham mungkin mengharuskan Anda untuk melacak fluktuasi harga selama hari, minggu, atau bulan.

Dalam beberapa kasus, pemberi kerja mungkin bertanya tentang fungsi tanggal/waktu yang lebih canggih dalam SQL, seperti CAST(), EXTRACT(), atau DATE_TRUNC(). Fungsi-fungsi ini bisa sangat berharga saat Anda bekerja dengan sejumlah besar data yang berisi tanggal. Seorang ilmuwan data yang berpengalaman harus mengetahui tujuan dari setiap fungsi dan aplikasinya. Dalam skenario yang ideal, dia harus memiliki pengalaman menggunakannya di masa lalu.

Manipulasi tanggal-waktu yang paling kompleks dalam SQL akan melibatkan kombinasi fungsi dasar dan lanjutan. Jadi, penting untuk mengetahui semuanya, mulai dari FORMAT(), NOW(),CURRENT_DATE, dan CURRENT_TIME yang lebih mendasar, dan termasuk fungsi lanjutan yang disebutkan di atas. Sebagai ilmuwan data yang berpengalaman, Anda juga harus mengetahui apa yang dilakukan INTERVAL dan kapan menggunakannya.

Berikut adalah contoh pertanyaan yang diajukan dalam wawancara Airbnb, di mana kandidat harus menggunakan data yang tersedia untuk melacak pertumbuhan Airbnb.
 
 

Premis:

 
Dalam pertanyaan ini, para kandidat diminta untuk melacak pertumbuhan Airbnb berdasarkan perubahan jumlah tuan rumah yang mendaftar setiap tahun. Dengan kata lain, kami akan menggunakan jumlah host yang baru terdaftar sebagai indikator pertumbuhan setiap tahun. Kami akan menemukan tingkat pertumbuhan dengan menghitung perbedaan jumlah host antara tahun lalu dan saat ini dan membagi jumlah tersebut dengan jumlah host yang terdaftar selama tahun sebelumnya. Kemudian kita akan mencari nilai persentase dengan mengalikan hasilnya dengan 100.

Tabel output harus memiliki kolom dan data yang sesuai untuk jumlah host pada tahun berjalan, tahun sebelumnya, dan persentase pertumbuhan dari tahun ke tahun. Persentase harus dibulatkan ke bilangan bulat terdekat dan baris harus diurutkan dalam urutan menaik tergantung pada tahun.
 
 

Larutan:

 
Untuk menjawab pertanyaan ini, seorang kandidat harus bekerja dengan tabel yang disebut 'airbnb_search_details', yang mencakup banyak kolom. Kolom yang kita butuhkan diberi label 'host_since', yang menunjukkan tahun, bulan, dan hari ketika host pertama kali mendaftar ke situs web. Untuk latihan ini, bulan dan hari tidak relevan, jadi hal pertama yang perlu kita lakukan adalah mengekstrak tahun dari nilainya. Kemudian kita harus membuat tampilan yang menyertakan kolom terpisah untuk tahun berjalan, tahun sebelumnya, dan jumlah total host pada tahun itu. 

Pilih extract(year FROM host_since::DATE) FROM airbnb_search_details WHERE host_since BUKAN NULL

Sejauh ini, kami telah melakukan dua hal:

  1. Kami telah memastikan untuk hanya menyertakan baris di mana kolom host_since tidak kosong.
  2. Kami telah mengekstrak tahun dari data dan menjadikannya sebagai nilai DATE.
Pilih extract(year FROM host_since::DATE) count(id) as current_year_host FROM airbnb_search_details WHERE host_since IS NOT NULL GROUP BY extract(year FROM host_since::DATE) ORDER BY year asc

Kemudian kami melanjutkan untuk menghitung id dan mengatur klausa GROUP BY untuk setiap tahun. Dan membuatnya ditampilkan dalam urutan menaik. 

Ini akan memberi kita tabel dengan dua kolom: tahun, dan jumlah host yang terdaftar tahun itu. Kami masih belum memiliki gambaran lengkap yang diperlukan untuk menyelesaikan pertanyaan, tetapi ini adalah langkah ke arah yang benar. Kami juga membutuhkan kolom terpisah untuk host yang mendaftar selama tahun sebelumnya. Di sinilah fungsi LAG() masuk.

SELECT Year, current_year_host, LAG(current_year_host, 1) OVER (ORDER BY year) as prev_year_host Pilih extract(year FROM host_since::DATE) count(id) as current_year_host FROM airbnb_search_details WHERE host_since IS NOT NULL GROUP BY extract(year FROM host_since: :DATE) ORDER BY year asc

Di sini, kami menambahkan kolom ketiga, yang akan diberi label 'prev_year_host' dan nilainya akan berasal dari 'current_year_host', kecuali untuk penundaan satu baris. Inilah yang mungkin terlihat seperti:

Pertanyaan Wawancara SQL untuk Profesional Berpengalaman
 

Mengatur tabel dengan cara ini membuatnya sangat nyaman untuk menghitung tingkat pertumbuhan akhir. Kami memiliki kolom terpisah untuk setiap nilai dalam persamaan. Pada akhirnya, kode kita akan terlihat seperti ini:

PILIH tahun, host_tahun_kini, host_tahun_sebelumnya, bulat(((host_tahun_kini - host_tahun_sebelumnya)/(cast(prev_year_host AS numeric)))*100) estimasi_pertumbuhan DARI (PILIH tahun, host_tahun_sekarang, LAG(host_tahun_kini, 1) LEBIH (ORDER BY year) AS prev_year_host FROM (PILIH extract(year FROM host_since::date) SEBAGAI tahun, hitung(id) current_year_host FROM airbnb_search_details WHERE host_since IS NOT NULL GROUP BY extract(year FROM host_since::date) ORDER BY year) t1) t2

Di sini, kami menambahkan kueri lain dan kolom lain tempat kami menghitung tingkat pertumbuhan. Kita harus mengalikan hasil awal dengan 100 dan membulatkannya untuk memenuhi persyaratan tugas. 

Itulah solusi untuk tugas ini. Jelas bahwa fungsi manipulasi tanggal-waktu sangat penting untuk menyelesaikan tugas. 
 
 

Konsep Lanjutan N2: Fungsi dan Partisi Jendela

 
Pertanyaan Wawancara SQL untuk Profesional Berpengalaman
 

Fungsi Jendela SQL adalah salah satu konsep terpenting untuk menulis kueri SQL yang kompleks namun efisien. Profesional yang berpengalaman diharapkan memiliki pengetahuan praktis dan teoritis yang mendalam tentang fungsi jendela. Ini termasuk mengetahui apa itu klausa over dan menguasai penggunaannya. Pewawancara mungkin bertanya bagaimana klausa OVER dapat mengubah fungsi agregat menjadi fungsi jendela. Anda mungkin juga ditanya tentang tiga fungsi agregat yang dapat digunakan sebagai fungsi jendela. Ilmuwan data yang berpengalaman juga harus mengetahui fungsi jendela non-agregat lainnya.

Untuk memanfaatkan fungsi jendela sebaik-baiknya, kita juga harus mengetahui apa itu klausa PARTITION BY dan bagaimana menggunakannya. Anda mungkin diminta untuk menjelaskannya dan memberikan contoh beberapa kasus penggunaan. Terkadang Anda harus mengatur baris dalam partisi menggunakan klausa ORDER_BY.

Kandidat yang dapat menunjukkan pengetahuan menyeluruh tentang setiap fungsi jendela individu, seperti ROW_NUMBER() akan memiliki keuntungan. Tak perlu dikatakan, pengetahuan teoretis saja tidak cukup – profesional juga harus memiliki pengalaman menggunakannya dalam praktik, dengan atau tanpa partisi. Misalnya, seorang profesional yang berpengalaman harus dapat menjelaskan perbedaan antara RANK() dan DENSE_RANK(). Kandidat yang ideal harus mengetahui beberapa konsep paling canggih, seperti bingkai di dalam partisi, dan dapat menjelaskannya dengan jelas.

Kandidat yang hebat juga harus menjelaskan penggunaan fungsi NTH_VALUE(). Tidak ada salahnya untuk menyebutkan alternatif untuk fungsi ini, seperti fungsi FIRST_VALUE() dan LAST_VALUE(). Perusahaan sering suka mengukur kuartil, kuantil, dan persentil secara umum. Untuk melakukan operasi ini, ilmuwan data harus tahu cara menggunakan fungsi jendela NTILE() juga.

Dalam SQL, biasanya ada banyak cara untuk mendekati tugas. Namun, fungsi jendela menyediakan cara termudah untuk melakukan operasi umum, tetapi kompleks. Contoh yang baik dari fungsi jendela seperti itu adalah LAG() atau LEAD(), jadi Anda juga harus mengenalnya. Misalnya, mari kita lihat contoh dari solusi sebelumnya untuk pertanyaan wawancara Airbnb yang sulit:

Untuk menampilkan jumlah host pada tahun sebelumnya, kami menggunakan fungsi LAG() dengan pernyataan OVER. Ini bisa dilakukan dengan banyak cara lain, tetapi fungsi jendela memungkinkan kami untuk mendapatkan hasil yang diinginkan hanya dalam satu baris kode SQL:

LAG(host_year_year_host, 1) OVER (ORDER BY year) sebagai prev_year_host

Banyak perusahaan perlu menghitung pertumbuhan selama periode waktu tertentu. Fungsi LAG() bisa sangat berharga untuk menyelesaikan tugas tersebut.
 
 

Konsep Lanjutan N3: Pertumbuhan Bulan Ke Bulan

 
Pertanyaan Wawancara SQL untuk Profesional Berpengalaman
 

Banyak organisasi menggunakan analisis data untuk mengukur kinerja mereka sendiri. Ini mungkin memerlukan pengukuran efektivitas kampanye pemasaran atau ROI pada investasi tertentu. Melakukan analisis semacam itu membutuhkan pengetahuan mendalam tentang SQL, seperti fungsi tanggal, waktu, dan jendela.

Ilmuwan data juga harus membuktikan keahlian mereka dalam memformat data dan menampilkannya sebagai persentase atau dalam bentuk lainnya. Secara umum, untuk menyelesaikan pertanyaan praktis di mana Anda harus menghitung pertumbuhan dari bulan ke bulan, Anda harus menggunakan kombinasi beberapa keahlian. Beberapa konsep yang diperlukan akan dikembangkan (fungsi jendela, manipulasi tanggal-waktu), sementara yang lain akan menjadi dasar (fungsi agregat dan pernyataan SQL umum).

Mari kita lihat salah satu contoh pertanyaan yang diajukan oleh Pewawancara di Amazon.

Premis:

 
Dalam pertanyaan ini, kita harus bekerja dengan tabel pembelian dan menghitung pertumbuhan bulanan atau penurunan pendapatan. Hasil akhirnya harus diformat dengan cara tertentu (format YYYY-MM) dan persentase harus dibulatkan ke desimal terdekat kedua. 

Larutan:

 
Saat mengerjakan tugas seperti ini, hal pertama yang perlu Anda lakukan adalah memahami tabel. Anda juga harus mengidentifikasi kolom yang perlu Anda kerjakan untuk menjawab pertanyaan. Dan seperti apa output Anda nantinya.

Dalam contoh kita, nilai data memiliki tipe objek, jadi kita harus menggunakan fungsi CAST() untuk mengubahnya menjadi tipe tanggal.

PILIH to_char(cast(dibuat_pada tanggal), 'YYYY-MM') DARI sf_transactions

Pertanyaannya juga menentukan format tanggal, jadi kita bisa menggunakan fungsi TO_CHAR() dalam SQL untuk menampilkan tanggal dalam format ini.

Untuk menghitung pertumbuhan, kita juga harus memilih fungsi agregat Created_at dan SUM() untuk mendapatkan volume total penjualan pada tanggal tersebut. 

PILIH to_char(cast(dibuat_pada tanggal), 'YYYY-MM'), dibuat_di, jumlah(nilai) DARI sf_transaksi

Pada titik ini, kita harus menggunakan fungsi jendela lagi. Secara khusus, kita akan menggunakan fungsi LAG() untuk mengakses volume bulan lalu dan menampilkannya sebagai kolom terpisah. Untuk itu, kita juga membutuhkan klausa OVER.

SELECT to_char(cast(created_at as date), 'YYYY-MM') AS year_month, created_at, sum(value) lag(sum(value), 1) OVER (ORDER BY created_at::date) FROM sf_transactions GROUP BY created_at

Berdasarkan kode yang telah kita tulis sejauh ini, tabel kita akan terlihat seperti ini:

Pertanyaan Wawancara SQL untuk Profesional Berpengalaman
 

Di sini, kami memiliki tanggal dan nilai total yang sesuai di kolom jumlah, dan nilai tanggal terakhir di kolom jeda. Sekarang kita dapat memasukkan nilai ke dalam rumus dan menampilkan tingkat pertumbuhan di kolom terpisah.

Kita juga harus menghapus kolom create_at yang tidak perlu, dan mengubah klausa GROUP BY dan ORDER BY menjadi year_month.

PILIH to_char(cast(casted_at as date), 'YYYY-MM') AS year_month, sum(value), lag(sum(value), 1) OVER (ORDER BY to_char(cast(created_at as date)) DARI sf_transactions GROUP BY tahun bulan

Setelah kita menjalankan kode, tabel kita seharusnya hanya menyertakan kolom yang penting untuk perhitungan kita.

Pertanyaan Wawancara SQL untuk Profesional Berpengalaman
 

Sekarang kita akhirnya bisa sampai pada solusi. Inilah yang akan terlihat seperti kode akhir:

SELECT to_char(created_at::date, 'YYYY-MM') AS year_month, round(((sum(value) - lag(sum(value), 1) OVER w) / (lag(sum(value), 1) OVER w)) * 100, 2) AS revenue_diff_pct FROM sf_transactions GROUP BY year_month WINDOW w AS ( ORDER BY to_char(created_at::date, 'YYYY-MM')) ORDER BY year_month ASC


 

Dalam kode ini, kami mengambil dua nilai kolom dari contoh sebelumnya dan menghitung perbedaan di antara keduanya. Perhatikan bahwa kami juga menggunakan alias jendela untuk mengurangi pengulangan kode kami.

Kemudian, sesuai dengan algoritme, kami membaginya dengan pendapatan bulan ini dan mengalikannya dengan 100 untuk mendapatkan nilai persentase. Akhirnya, kami membulatkan nilai persentase menjadi dua titik desimal. Kami sampai pada jawaban yang memenuhi semua persyaratan tugas. 

Konsep Lanjutan N4: Tarif Churn

 
Meskipun kebalikan dari pertumbuhan, churn juga merupakan metrik penting. Banyak perusahaan melacak tingkat churn mereka, terutama jika model bisnis mereka berbasis langganan. Dengan cara ini, mereka dapat melacak jumlah langganan atau akun yang hilang, dan memprediksi alasan yang menyebabkannya. Seorang ilmuwan data yang berpengalaman diharapkan mengetahui fungsi, pernyataan, dan klausa mana yang digunakan untuk menghitung tingkat churn.

Data langganan sangat pribadi dan berisi informasi pengguna pribadi. Penting juga bagi ilmuwan data untuk mengetahui cara bekerja dengan data tersebut tanpa memaparkannya. Seringkali menghitung tingkat churn melibatkan ekspresi tabel umum, yang merupakan konsep yang relatif baru. Ilmuwan data terbaik harus tahu mengapa CTE berguna dan kapan menggunakannya. Saat bekerja dengan database lama, di mana CTE tidak tersedia, kandidat yang ideal masih harus bisa menyelesaikan pekerjaan.

Berikut ini contoh tugas yang sulit. Kandidat yang diwawancarai di Lyft menerima tugas ini untuk menghitung tingkat churn pengemudi di perusahaan.

Untuk mengatasi masalah ini, ilmuwan data harus menggunakan pernyataan kasus/ketika, fungsi jendela seperti LAG(), serta FROM/WHERE, dan klausa dasar lainnya. 

Kesimpulan

 
Bekerja sebagai ilmuwan data selama bertahun-tahun tentu terlihat mengesankan di CV, dan akan membuat Anda mendapatkan banyak wawancara. Namun, begitu Anda menginjakkan kaki di pintu, Anda masih perlu menunjukkan pengetahuan untuk melengkapi pengalaman bertahun-tahun. Bahkan jika Anda memiliki pengalaman luas di menulis kueri dalam SQL, tidak ada salahnya menggunakan sumber daya seperti Goresan Strata untuk menyegarkan pengetahuan Anda.

 
 
Nat Rosidi adalah seorang ilmuwan data dan dalam strategi produk. Dia juga seorang profesor yang mengajar analitik, dan merupakan pendiri Goresan Strata, sebuah platform yang membantu ilmuwan data mempersiapkan wawancara mereka dengan pertanyaan wawancara nyata dari perusahaan terkemuka. Terhubung dengan dia di Twitter: StrataScratch or LinkedIn.

Sumber: https://www.kdnuggets.com/2022/01/sql-interview-questions-experienced-professionals.html

Stempel Waktu:

Lebih dari KDnugget