Bí kíp phỏng vấn cho Data Analyst: Live SQL coding

Bài viết lần đầu được đăng vào 17/10/209 trên Facebook note.

Khi nhà tuyển dụng phỏng vấn live SQL coding challenge, họ thường muốn kiểm tra các kĩ năng sau:

  1. SQL
  2. Critical thinking
  3. Team work

Mấy hôm trước mình có giúp cô em mock interview cho vị trí Data Analyst. Hai chị em luyện tập đến phần live SQL coding thì áp dụng các bước sau để trả lời mỗi câu hỏi. Mình nghĩ những bước này khá hiệu quả để thể hiện các kĩ năng trên.

Summarize

Sau khi lắng nghe hay đọc qua một câu hỏi, hãy tóm tắt lại những điểm quan trọng của câu hỏi đó:

  • Input là gì?
  • Output là gì?
  • Có gì khác cần lưu ý mà câu hỏi nhắc đến?

Bước này giúp bạn thể hiện được khả năng bao quát, tóm tắt vấn đề.

Clarify & Confirm

Nếu bạn có bất cứ assumption nào hay chưa rõ điểm nào trong đề bài, hãy mạnh dạn đặt câu hỏi cho người phỏng vấn. Thường thì những người phỏng vấn trong vòng live SQL coding là team member của bạn sau này, hay chí ít cũng là người có kiến thức về SQL để trả lời các câu hỏi của bạn.

Bước này giúp bạn thể hiện được khả năng critical thinking và tính cẩn thận trong công việc — không chỉ nhìn vào một vấn đề rồi đâm đầu tìm lời giải đáp luôn, mà kiểm tra xem mình đã hiểu đúng vấn đề chưa.

Visualize

Sau khi đã hiểu kĩ vấn đề, hãy vẽ ra output mà câu hỏi mong muốn. Nếu bạn phỏng vấn trực tiếp, có thể vẽ nhanh trên một tờ giấy hay trên white board ở địa điểm phỏng vấn. Nếu bạn phỏng vấn qua mạng, bạn có thể vẽ ngay trên code editor. Ví dụ:

Nếu bạn cảm thấy type ra example table khá mất thời gian, có thể tạo sẵn trên máy tính và sử dụng nếu được cho phép. Nếu không, bạn có thể đơn giản hoá bằng cách type ra các column và data type mà output table sẽ return.

Bước này giúp bạn thể hiện được khả năng hình dung các vấn đề trừu tượng.

Think Out Loud + Query

Sau bước hình dung output, hãy bắt tay vào viết query thôi!

Đừng chỉ im lặng và viết, hãy nói về thought process của mình. Hãy thoải mái thảo luận với người phỏng vấn. Tuỳ vào độ phức tạp của query, bạn có thể tóm tắt ngắn gọn các bài học rút ra được sau khi viết query này.

Bước này giúp bạn thể hiện critical thinking và team work.

Một số tip khi viết query

  1. Nếu bạn được phép check các table đề giao, hãy check ngay đừng ngần ngại chi, để bạn có thể hình dung cách viết dễ dàng hơn. Nhớ để LIMIT ở cuối, phòng trường hợp table có triệu dòng!
  2. Nếu tên của table quá dài, hãy đặt alias để query nhìn gọn gàng hơn. Lưu ý đặt alias phải thật descriptive để người đọc dễ hiểu, dễ theo dõi. Ví dụ:

3. Nếu bạn JOIN nhiều table trong query, nhưng chỉ chọn return một số column, hãy nhớ reference column ấy được chọn từ table nào. Ví dụ:

4. Cuối cùng, nếu còn thời gian, hãy format query cho dễ theo dõi nhé! Ví dụ như query ở trên nhìn hơi rối, bạn có thể format lại như sau:

5. Thường thì các câu hỏi live coding sẽ không sử dụng các table quá lớn, nên việc optimize query sẽ không là vấn đề bạn phải quá lo ngại. Tuy nhiên, bạn sẽ gây được ấn tượng rất tốt nếu bạn đề cập đến vấn đề này và đưa ra các ý tưởng optimize query.

Các tip trên sẽ ghi điểm rất lớn về tính cẩn thận trong công việc, team work và critical thinking. Mình đề cập team work ở đây là vì khi viết code/query trong công việc, rất nhiều team có phần code peer review — mà chẳng ai muốn nhìn vào một query rối rắm khó hiểu, nhất là query dài hơn trăm dòng!

Kết

Phần live coding có lẽ một trong những phần căng thẳng nhất của cuộc phỏng vấn vì nó không chỉ test xem bạn có biết ngôn ngữ ấy không.

Để cảm thấy tự tin hơn cho phần này, không gì bằng luyện tập thật nhiều! Bạn có thể nhờ thầy cô, bạn bè hay những professional khác trong network của mình Mock Interview và đưa feedback để bạn có thể cải thiện hơn trước giờ G.

Chúc các bạn nhiều may mắn và gây ấn tượng thật tốt trong phần SQL coding nhé!

Photo by ThisisEngineering RAEng on Unsplash