75+ Data Analyst Interview Questions and Answers to Crack Your Interview

75+ Data Analyst Interview Questions and Answers to Crack Your Interview

Giới thiệu

Các cuộc phỏng vấn cho vị trí chuyên viên phân tích dữ liệu (data analyst) ngày càng trở nên cạnh tranh hơn khi các công ty tuyển dụng nhân sự cho việc phân tích nhằm sẵn sàng đưa ra quyết định. Tại Hoa Kỳ, Cục Thống kê Lao động Hoa Kỳ cho thấy một số nghề nghiệp liên quan đến dữ liệu được dự báo sẽ tăng trưởng nhanh hơn mức trung bình, phản ánh nhu cầu liên tục về khả năng phân tích ở khắp các nhóm, chứ không chỉ riêng các bộ phận chuyên môn. Nhu cầu đó có thể thấy rõ trong thị trường tuyển dụng ngày nay, nơi các vai trò phân tích xuất hiện trong các lĩnh vực tài chính, thương mại điện tử, chăm sóc sức khỏe, SaaS (Phần mềm dạng dịch vụ) và vận hành, với nhiều vị trí được cung cấp dưới hình thức làm việc từ xa (remote) hoặc kết hợp (hybrid).
Trên LinkedIn, các danh sách việc làm hiện tại ở Hoa Kỳ cho thấy có hơn 100.000 công việc Chuyên viên Phân tích Dữ liệu, được phân chia thành làm việc tại văn phòng (on-site), kết hợp và từ xa; đây là một bức tranh tổng quan hữu ích về mức độ phổ biến của vai trò này và sự đa dạng của các mô hình làm việc.
Kịch bản Phỏng vấn Chuyên viên Phân tích Dữ liệu
Các cuộc phỏng vấn chuyên viên phân tích dữ liệu thường kiểm tra về SQL, Excel, thống kê, bảng điều khiển (Tableau/Power BI) và Python, cộng với khả năng làm sạch dữ liệu, xác thực kết quả và giải thích những hiểu biết sâu sắc (insights). Hãy chuẩn bị cho các câu hỏi kỹ thuật, câu hỏi về quy trình/luồng công việc và một vài câu hỏi tình huống về cách bạn sẽ giải quyết các vấn đề kinh doanh thực tế.

Chuyên viên Phân tích Dữ liệu Thường gặp Nhất

1. Một chuyên viên phân tích dữ liệu làm gì?
Một chuyên viên phân tích dữ liệu biến dữ liệu thô thành những hiểu biết sâu sắc (insights) nhằm thúc đẩy các quyết định kinh doanh bằng cách sử dụng SQL, Excel, bảng điều khiển (dashboards) và kỹ năng kể chuyện rõ ràng (clear storytelling).
2. Tại sao phân tích dữ liệu khám phá (EDA) lại quan trọng?
EDA giúp bạn phát hiện sớm các vấn đề về chất lượng dữ liệu, hiểu được các phân phối và phân khúc, xác định các điểm bất thường và tránh những kết luận sai lệch trước khi làm báo cáo hoặc lập mô hình.
3. Data wrangling (Tinh chế dữ liệu) là gì?
Data wrangling là phương pháp làm sạch, cấu trúc hóa và làm phong phú dữ liệu thô để nó sẵn sàng cho việc phân tích.
4. Sự khác biệt giữa WHERE và HAVING trong SQL.
  • WHERE lọc các hàng (rows) trước khi tổng hợp (aggregation).
  • HAVING lọc các kết quả đã được nhóm sau khi tổng hợp.
notion image
Bảng tóm tắt (cheat sheet) trên cho thấy sự khác biệt chính giữa WHERE và HAVING. WHERE lọc từng hàng riêng lẻ trước khi quá trình nhóm diễn ra, vì vậy nó được sử dụng với các giá trị cột thô. HAVING lọc các kết quả đã nhóm sau mệnh đề GROUP BY, vì vậy nó được sử dụng với các hàm tổng hợp như SUM(), COUNT() hoặc AVG(). Nói một cách đơn giản, hãy sử dụng WHERE để thu hẹp dữ liệu trước khi tính toán và HAVING để lọc đầu ra đã nhóm cuối cùng sau khi tính toán.
5. Sự khác biệt giữa INNER JOIN và LEFT JOIN.
INNER JOIN chỉ giữ lại các hàng khớp nhau; LEFT JOIN giữ lại tất cả các hàng từ bảng bên trái và các phần khớp từ bảng bên phải (nếu không khớp thì trả về NULL).
notion image
6. Window function (Hàm cửa sổ) là gì?
Window function thực hiện các phép tính qua các hàng có liên quan mà không thu gọn (collapsing) kết quả (ví dụ: xếp hạng với ROW_NUMBER).
7. CTE là gì?
CTE (với cú pháp WITH ...) là một tập kết quả tạm thời được đặt tên, giúp cải thiện khả năng đọc hiểu và gỡ lỗi (debugging) cho các logic gồm nhiều bước.
8. Bạn xử lý các giá trị bị thiếu (missing values) như thế nào?
Đo lường mức độ thiếu hụt, sau đó loại bỏ (drop), điền khuyết (impute - dùng trung vị/trung bình), điền khuyết bằng mô hình (model-impute) hoặc sử dụng điền khuyết đa biến (multiple imputation) dựa trên rủi ro sai lệch (bias risk) để xử lý các giá trị bị thiếu.
9. Phân phối chuẩn (normal distribution) là gì?
Phân phối chuẩn là một phân phối hình quả chuông (bell-shaped) nơi giá trị trung bình = trung vị = yếu vị (mean=median=mode) và hầu hết các giá trị rơi vào khoảng từ 1 đến 3 độ lệch chuẩn (68–95–99.7).
notion image
10. Sự khác biệt giữa Tương quan (Correlation) và Nhân quả (Causation).
Tương quan cho thấy sự liên kết; nhân quả đòi hỏi phải kiểm tra (lý tưởng nhất là bằng các thử nghiệm) để loại trừ các biến gây nhiễu (confounders).
11. Lỗi Loại I và Lỗi Loại II là gì?
  • Loại I là lỗi dương tính giả (false positive).
  • Loại II là lỗi âm tính giả (false negative).
notion image
Read more: Here
12. Bạn xử lý các giá trị ngoại lệ (outliers) như thế nào?
Xác thực nguyên nhân, sau đó loại bỏ các lỗi, giới hạn giá trị (cap), biến đổi (ví dụ: dùng logarit) hoặc sử dụng các phương pháp thống kê mạnh (robust statistics), tùy thuộc vào ngữ cảnh.
13. Sự khác biệt giữa VLOOKUP và XLOOKUP.
  • VLOOKUP chỉ tìm kiếm từ trái sang phải và dựa vào chỉ mục cột cố định.
  • XLOOKUP có thể tìm kiếm sang trái hoặc phải, mặc định là khớp chính xác (exact match) và sẽ không bị lỗi nếu có cột mới được chèn vào.
14. Sự khác biệt giữa Extract và Live trong Tableau.
  • Extract (Trích xuất) là một bản chụp nhanh (snapshot) tốc độ cao mà bạn có thể làm mới.
  • Live (Truy vấn trực tiếp) kết nối với nguồn trong thời gian thực để có dữ liệu luôn luôn là mới nhất.
notion image
15. Bạn giải thích các insight cho các bên liên quan (stakeholders) như thế nào?
Chia sẻ những điểm chính cần ghi nhớ (takeaway), tác động, yếu tố thúc đẩy chính (key driver) và bước đi tiếp theo được đề xuất bằng ngôn ngữ thông thường, dễ hiểu.

Chuyên viên Phân tích Dữ liệu Tổng quan

Phần này bao gồm các câu hỏi mang tính khái quát về vai trò của chuyên viên phân tích dữ liệu, các khái niệm cốt lõi và cách bạn tiếp cận để giải quyết vấn đề. Những câu hỏi và câu trả lời này rất phù hợp cho các vòng phỏng vấn đầu tiên, nơi sự rõ ràng và việc nắm vững nền tảng là quan trọng nhất.
1. Sự khác biệt giữa khai phá dữ liệu (data mining) và lập hồ sơ dữ liệu (data profiling) là gì?
  • Khai phá dữ liệu: khám phá các mô hình/mối quan hệ (các phân khúc, điểm bất thường, dự đoán).
  • Lập hồ sơ dữ liệu: đánh giá chất lượng và cấu trúc (giá trị rỗng, tính duy nhất, tính hợp lệ, các phân phối).
notion image
2. Các vấn đề phổ biến nào mà chuyên viên phân tích dữ liệu thường gặp phải trong quá trình phân tích?
  • Dữ liệu lộn xộn (bị thiếu, trùng lặp, định dạng không nhất quán).
  • Định nghĩa các chỉ số (metric) không rõ ràng giữa các nhóm.
  • Kết nối sai (incorrect joins) hoặc không khớp về mức độ chi tiết (grain mismatches) làm bóp méo/phóng đại tổng số.
  • Các rào cản về quyền truy cập/quyền riêng tư/tuân thủ.
  • Sự không thống nhất với các bên liên quan và phạm vi công việc bị thay đổi.
  • Sự đánh đổi giữa tốc độ và độ chính xác.
3. Bạn đã sử dụng những công cụ nào để phân tích và trình bày?
  • SQL để truy vấn và tổng hợp.
  • Excel/Sheets để phân tích nhanh, kiểm tra chất lượng (QA), và tạo bảng pivot.
  • Python/R để làm sạch, tự động hóa, thống kê.
  • Các công cụ BI cho bảng điều khiển (Tableau/Power BI).
  • Slide (Trang trình bày) để kể chuyện & đưa ra đề xuất.
4. Các phương pháp hay nhất (best practices) để làm sạch dữ liệu là gì?
  • Lập hồ sơ trước (kiểm tra giá trị rỗng, trùng lặp, phạm vi, phân phối).
  • Chuẩn hóa định dạng (ngày tháng, đơn vị, danh mục).
  • Xác thực các quy tắc kinh doanh (ví dụ: ngày đặt hàng ≤ ngày giao hàng).
  • Xử lý các giá trị bị thiếu có chủ đích (loại bỏ/điền khuyết/gắn cờ).
  • Điều tra các giá trị ngoại lệ (outliers) trước khi loại bỏ.
  • Ghi chú lại các thay đổi để có thể tái tạo/thực hiện lại (reproducibility).
5. Các bước trong một dự án phân tích là gì?
  • Xác định vấn đề
  • Thu thập và Xác thực dữ liệu
  • Chạy phân tích dữ liệu khám phá (EDA)
  • Phân tích và Trực quan hóa
  • Đề xuất hành động và Tài liệu hóa (ghi chép) kết quả

(Hình ảnh minh họa: Quy trình làm việc dự án phân tích gồm 8 bước)
(Hình ảnh minh họa: Quy trình làm việc dự án phân tích gồm 8 bước)
6. Giải thích sự khác biệt giữa phân tích mô tả, dự đoán và đề xuất.
  • Mô tả (Descriptive): chuyện gì đã xảy ra (KPIs, bảng điều khiển).
  • Dự đoán (Predictive): chuyện gì có thể xảy ra (dự báo, mô hình xác suất).
  • Đề xuất (Prescriptive): cần phải làm gì (các đề xuất, tối ưu hóa).
7. Chuyên viên phân tích sử dụng các kỹ thuật lấy mẫu (sampling) nào?
  • Ngẫu nhiên đơn giản (simple random).
  • Có hệ thống (lấy mỗi bản ghi thứ n).
  • Phân tầng (theo phân khúc, lấy mẫu bên trong từng phân khúc).
  • Theo cụm (lấy mẫu theo nhóm/cụm).
  • Có mục đích/dựa trên phán đoán (sử dụng cẩn thận; có rủi ro thiên lệch/bias).
8. Điểm mạnh và điểm yếu của bạn với tư cách là một chuyên viên phân tích dữ liệu là gì?
  • Điểm mạnh: Tôi rất thạo trong việc gỡ lỗi (debugging) SQL và định nghĩa các chỉ số.
  • Điểm yếu & cách khắc phục: Tôi từng dành quá nhiều thời gian để trau chuốt bảng điều khiển; giờ đây tôi giới hạn thời gian (timebox) và ưu tiên xác thực quyết định trước.
9. What are ethical considerations in data analysis?
  • privacy & security
  • informed consent/purpose limitation
  • bias and fairness
  • transparency of assumptions
  • data integrity and accuracy
  • accountability for downstream impact
10. Phân tích đơn biến, song biến và đa biến?
  • Đơn biến (Univariate): một biến (phân phối).
  • Song biến (Bivariate): mối quan hệ giữa hai biến.
  • Đa biến (Multivariate): từ 3 biến trở lên cùng nhau (các tương tác).
11. Các công cụ trực quan hóa dữ liệu nào thường được sử dụng?
Tableau, Power BI, biểu đồ Excel, các thư viện Python (Matplotlib/Plotly), Looker/Looker Studio và các công cụ khác.

SQL dành cho Chuyên viên Phân tích Dữ liệu

Các câu hỏi phỏng vấn SQL dành cho chuyên viên phân tích dữ liệu tập trung vào các mẫu SQL thường được kiểm tra nhất, chẳng hạn như tập hợp (sets), truy vấn con/CTE, xếp hạng (ranking) và tổng hợp dựa trên kết nối (join-based aggregation). Những câu hỏi này phản ánh các truy vấn báo cáo và bảng điều khiển thực tế mà các nhà phân tích thường viết hàng ngày.
12. Bạn có thể sử dụng bí danh (alias) của SELECT trong mệnh đề WHERE không? Thông thường là không; mệnh đề WHERE được thực thi (đánh giá) trước mệnh đề SELECT.
Sai
SELECT salary * 12 AS annual_salary FROM employees WHERE annual_salary > 100000;
Đúng
SELECT salary * 12 AS annual_salary FROM employees WHERE salary * 12 > 100000;
13. So sánh UNION, INTERSECT và EXCEPT?
  • UNION: kết hợp các kết quả (loại bỏ các bản ghi trùng lặp); UNION ALL giữ lại các bản ghi trùng lặp.
  • INTERSECT: trả về các hàng chung giữa các truy vấn.
  • EXCEPT: trả về các hàng có trong truy vấn thứ nhất nhưng không có trong truy vấn thứ hai (được gọi là MINUS trong một số hệ quản trị cơ sở dữ liệu).
14. Truy vấn con tương quan (correlated) và không tương quan (non-correlated) khác nhau thế nào?
  • Truy vấn con không tương quan: chạy một lần và cung cấp kết quả cho truy vấn bên ngoài.
  • Truy vấn con tương quan: chạy cho từng hàng của truy vấn bên ngoài (tốn kém tài nguyên hơn); cần sử dụng cẩn thận.
15. ROW_NUMBER so với RANK so với DENSE_RANK: chúng khác nhau như thế nào?
  • ROW_NUMBER: đánh số thứ tự duy nhất ngay cả khi các giá trị bằng nhau (1, 2, 3…).
  • RANK: các giá trị bằng nhau sẽ có cùng thứ hạng; nhưng sẽ nhảy số/bỏ qua các vị trí tiếp theo (1, 1, 3…).
  • DENSE_RANK: các giá trị bằng nhau sẽ có cùng thứ hạng; không để lại khoảng trống ở các số tiếp theo (1, 1, 2…).
16. Làm thế nào để tìm giá trị cao thứ N trong SQL?
Sử dụng DENSE_RANK() (để xếp hạng các giá trị riêng biệt) hoặc ROW_NUMBER() (để xếp hạng dựa trên từng hàng) kết hợp với mệnh đề ORDER BY để tìm giá trị cao thứ N trong SQL.
(Hình ảnh minh họa: Sự khác biệt giữa ROW_NUMBER và DENSE_RANK cho các truy vấn tìm giá trị cao thứ N trong SQL)
(Hình ảnh minh họa: Sự khác biệt giữa ROW_NUMBER và DENSE_RANK cho các truy vấn tìm giá trị cao thứ N trong SQL)
17. Viết mã: Ví dụ về phép nối và tổng hợp: tìm các sản phẩm có tổng số đơn vị đã bán > 1,5 triệu.
SELECT p.ProductID, p.ProductName, SUM(s.UnitSold) AS total_units_sold FROM product p JOIN sales_order_detail s ON p.ProductID = s.ProductID GROUP BY p.ProductID, p.ProductName HAVING SUM(s.UnitSold) > 1500000;
18. Stored procedure (thủ tục lưu trữ) là gì?
Một stored procedure là một tập hợp các câu lệnh SQL đã được lưu lại và có thể tái sử dụng (thường có tham số), được sử dụng cho các tác vụ lặp đi lặp lại, các phép biến đổi dữ liệu và kiểm soát quyền truy cập.
19. Viết một stored procedure để in các số chẵn giữa hai giá trị đầu vào.
Logic:
  • Nhận giá trị start_num, end_num.
  • Lặp từ giá trị bắt đầu đến kết thúc.
  • Xuất các giá trị mà tại đó n % 2 = 0.
(Cú pháp chính xác sẽ tùy thuộc vào SQL Server/MySQL/Postgres).
SQL Server
CREATE PROCEDURE GetEvenNumbers @start_num INT, @end_num INT AS BEGIN DECLARE @current INT = @start_num; WHILE @current <= @end_num BEGIN -- Kiểm tra nếu số dư khi chia cho 2 bằng 0 IF @current % 2 = 0 BEGIN PRINT @current; END SET @current = @current + 1; END END; -- Cách gọi: EXEC GetEvenNumbers 1, 10;
MySQL
DELIMITER // CREATE PROCEDURE GetEvenNumbers(IN start_num INT, IN end_num INT) BEGIN DECLARE current_num INT DEFAULT start_num; WHILE current_num <= end_num DO IF current_num % 2 = 0 THEN SELECT current_num AS EvenNumber; END IF; SET current_num = current_num + 1; END WHILE; END // DELIMITER ; -- Cách gọi: CALL GetEvenNumbers(1, 10);

Thống kê dành cho Chuyên viên Phân tích Dữ liệu

Bộ câu hỏi và câu trả lời phỏng vấn chuyên viên phân tích dữ liệu này kiểm tra khả năng lập luận của bạn với dữ liệu bằng cách sử dụng chuỗi thời gian, hồi quy, giả thuyết và thử nghiệm.
20. Phân tích chuỗi thời gian (Time series analysis) là gì?
Phân tích chuỗi thời gian nghiên cứu dữ liệu được thu thập theo thời gian (xu hướng, tính mùa vụ, tính tự tương quan). Hãy sử dụng việc phân tách dữ liệu dựa trên thời gian (thay vì ngẫu nhiên) và cân nhắc các đặc trưng trễ (lag features) hoặc đặc trưng cuộn (rolling features).
21. Overfitting so với Underfitting: sự khác biệt là gì?
  • Overfitting: Thể hiện cực tốt trên dữ liệu huấn luyện (training data), nhưng kém trên dữ liệu kiểm tra (test data) vì mô hình học cả những nhiễu (noise) của dữ liệu.
  • Dưới khớp (Underfitting): Thể hiện kém trên cả hai tập dữ liệu vì mô hình quá đơn giản để nắm bắt được các quy luật (patterns) của dữ liệu.
notion image
22. Giả thuyết không (Null hypothesis) và Giả thuyết đối (Alternative hypothesis).
  • H_0 (giả thuyết không): không tồn tại hiệu ứng/mối quan hệ.
  • H_1 (giả thuyết đối): tồn tại một hiệu ứng/mối quan hệ.
  • Ví dụ: H_0 "không có sự khác biệt về tỷ lệ chuyển đổi," H_1 "tỷ lệ chuyển đổi có sự khác biệt."
23. So sánh Phương sai (Variance) và Hiệp phương sai (Covariance).
  • Phương sai: mức độ phân tán của một biến xung quanh giá trị trung bình của nó.
  • Hiệp phương sai: cách thức hai biến cùng biến thiên (cho biết hướng, nhưng chưa được chuẩn hóa).
Phương sai và hiệp phương sai được sử dụng trong tương quan (correlation), hồi quy (regression), phân tích thành phần chính (PCA) và trong các lập luận về rủi ro/biến thiên.
24. Hồi quy (Regression) là gì và khi nào bạn sẽ sử dụng nó?
Hồi quy là một phương pháp thống kê giúp mô hình hóa mối quan hệ giữa một hoặc nhiều biến đầu vào và một biến kết quả để giải thích các nhân tố thúc đẩy (drivers) hoặc đưa ra các dự đoán.
Bạn sử dụng hồi quy để định lượng tác động (ví dụ: giá cả ảnh hưởng đến doanh số như thế nào), kiểm soát các biến gây nhiễu, dự báo một chỉ số hoặc ước tính các xác suất.
  • Sử dụng hồi quy tuyến tính (linear regression) cho các kết quả liên tục (doanh thu, nhu cầu).
  • Sử dụng hồi quy logistic (logistic regression) cho các kết quả mang tính xác suất (chuyển đổi: có/không).
Nó giúp định lượng các yếu tố ảnh hưởng, kiểm soát các tác nhân và xây dựng các mô hình cơ sở (baselines) có thể giải thích được.
25. Thử nghiệm A/B (A/B testing) là gì và bạn diễn giải kết quả như thế nào?
Thử nghiệm A/B là một thí nghiệm ngẫu nhiên nhằm so sánh giữa nhóm đối chứng (control) và nhóm biến thể (variant).
Bạn diễn giải kết quả dựa trên:
  • Mức độ tăng trưởng (Lift), khoảng tin cậy/giá trị p (p-value).
  • Kích thước mẫu, thời gian thử nghiệm.
Tác động thực tế và các chỉ số rào chắn (guardrails) về chất lượng/doanh thu để tránh việc "chiến thắng" sai cách.

Python dành cho Chuyên viên Phân tích Dữ liệu

Các câu hỏi phỏng vấn Python đặc thù cho chuyên viên phân tích dữ liệu tập trung vào các tác vụ với NumPy và Pandas như: đánh chỉ mục (indexing), lọc (filtering), nhóm (grouping), gộp (merging), xử lý giá trị thiếu và làm việc với dữ liệu thời gian (dates).
37. Cú pháp chính xác cho hàm reshape() trong NumPy là gì?
np.reshape(arr, newshape) # hoặc arr.reshape(newshape)
38. Các cách khác nhau để tạo một DataFrame trong Pandas? Từ một dictionary (từ điển):
import pandas as pd df = pd.DataFrame({"Name": ["A", "B"], "Age": [25, 30]})
Từ một danh sách các dictionary:
df = pd.DataFrame([{"Name": "A", "Age": 25}, {"Name": "B", "Age": 30}])
Từ các tệp tin (CSV/Excel):
df = pd.read_csv("emp.csv") # df = pd.read_excel("emp.xlsx")
Từ mảng NumPy:
import numpy as np arr = np.array([[1, 2], [3, 4]]) df = pd.DataFrame(arr, columns=["A", "B"])
Tạo một DataFrame từ tệp emp.csv và hiển thị các dòng đầu tiên cùng với bản tóm tắt.
import pandas as pd df = pd.read_csv("emp.csv") print(df.head()) print(df.describe()) print(df.info())
40. Làm thế nào để chọn cột Department và Age từ một DataFrame?
Để chọn các cột Department và Age:
df[["Department", "Age"]]
41. Làm thế nào để trích xuất giá trị 8 từ một mảng NumPy 2 chiều bằng index?
import numpy as np num = np.array([[1,2,3],[4,5,6],[7,8,9]]) num[2, 1] # Hàng chỉ số 2, cột chỉ số 1
42. Từ mảng [0–9], trả về các số [1, 3, 5, 7, 9].
arr = np.array([0,1,2,3,4,5,6,7,8,9]) arr[1::2] # Sử dụng slicing (bắt đầu từ 1, bước nhảy 2) # hoặc arr[arr % 2 == 1] # Sử dụng lọc theo điều kiện số lẻ
43. Làm thế nào để xếp chồng (stack) hai mảng a và b theo chiều ngang?
np.hstack((a, b)) # hoặc đối với mảng 2 chiều np.concatenate((a, b), axis=1)
44. Làm thế nào để thêm một cột vào DataFrame?
df["Address"] = ["NY", "CA", "TX"]
45. Làm thế nào để in ra 4 số nguyên ngẫu nhiên trong khoảng từ 1 đến 15?
import numpy as np np.random.randint(1, 16, size=4)
46. Tìm các giá trị duy nhất (unique) của mỗi cột và lọc tập dữ liệu con có Age < 35 và Height > 6.
df.nunique() # Số lượng giá trị duy nhất mỗi cột df["Department"].unique() # Các giá trị duy nhất của cột Department df[(df["Age"] < 35) & (df["Height"] > 6)] # Lọc theo nhiều điều kiện
47. Vẽ một đồ thị sóng hình sin.
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2*np.pi, 200) y = np.sin(x) plt.plot(x, y) plt.show()
48. Tìm công ty có doanh số trung bình cao nhất và chuyển vị (transpose) bảng thống kê mô tả.
avg_sales = df.groupby("Company")["Sales"].mean() top_company = avg_sales.idxmax() df["Sales"].describe().to_frame().T # Chuyển vị bảng thống kê
49. Làm thế nào để gộp (merge) hai DataFrame trong Pandas?
import pandas as pd df_merged = pd.merge(df1, df2, on="EmployeeID", how="left")
50. Cách xử lý các giá trị bị thiếu trong Pandas?
df.isna().sum() # Kiểm tra tổng số giá trị thiếu df["Age"] = df["Age"].fillna(df["Age"].median()) # Điền khuyết bằng trung vị
notion image
51. Cách chuyển đổi và lọc ngày tháng trong Pandas
Bước 1: Chuyển đổi kiểu dữ liệu
df["OrderDate"] = pd.to_datetime(df["OrderDate"])
Bước 2: Lọc dữ liệu theo khoảng thời gian
df[(df["OrderDate"] >= "2026-01-01") & (df["OrderDate"] < "2026-02-01")]
Bước 3: Sử dụng thuộc tính .dt (Accessor)
df["month"] = df["OrderDate"].dt.month
Đây là một trong những công cụ mạnh mẽ nhất của Pandas. Thuộc tính .dt cho phép bạn "trích xuất" các thành phần của thời gian một cách nhanh chóng:
  • .dt.year: Lấy năm.
  • .dt.month: Lấy tháng.
  • .dt.day: Lấy ngày.
  • .dt.day_name(): Lấy tên thứ trong tuần (Monday, Tuesday...).
  • .dt.quarter: Lấy quý trong năm.

Tableau dành cho Chuyên viên Phân tích Dữ liệu

Các câu hỏi này đánh giá cách bạn kết nối và mô hình hóa dữ liệu, xây dựng các chỉ số KPI chính xác và lựa chọn hình thức trực quan hóa phù hợp. Ngoài ra, chúng cũng kiểm tra các quyết định về hiệu suất và các nguyên tắc cơ bản khi xây dựng bảng điều khiển (dashboard).
52. Joining (Nối) và Blending (Hòa trộn) trong Tableau khác nhau như thế nào?
  • Join: Kết hợp các bảng ở cấp độ hàng (tương tự SQL) bằng cách sử dụng các trường chung.
  • Blend: Kết hợp nhiều nguồn dữ liệu ở lớp hiển thị (viz layer) giữa nguồn chính và nguồn phụ.
  • Lời khuyên: Nên ưu tiên sử dụng Join hoặc Relationships (Mối quan hệ) khi có thể; chỉ sử dụng Blend khi các nguồn dữ liệu không thể nối với nhau một cách sạch sẽ.
53. LOD trong Tableau là gì?
LOD (Level of Detail - Biểu thức mức độ chi tiết) là các biểu thức cho phép bạn kiểm soát mức độ chi tiết của dữ liệu khi tính toán các chỉ số, bất kể các chiều (dimensions) đang được hiển thị trong khung nhìn (view).
54. Tableau hỗ trợ những phép nối (joins) nào?
Tableau hỗ trợ:
  • Inner Join (Nối trong)
  • Left Join (Nối trái)
  • Right Join (Nối phải)
  • Full Outer Join (Nối ngoài toàn bộ)
55. Biểu đồ Gantt là gì?
Biểu đồ Gantt hiển thị thời lượng hoặc tiến độ theo thời gian bằng cách sử dụng các thanh dọc theo một trục thời gian (hữu ích cho việc theo dõi lộ trình và các cam kết mức độ dịch vụ - SLA).
Mẫu Gantt Chart đơn giản
Mẫu Gantt Chart đơn giản
56. Với tập dữ liệu Superstore: Phân tích Doanh số (Sales), Lợi nhuận (Profit), Số lượng (Quantity) theo Danh mục (Category)/Danh mục con (Subcategory).
  • Kéo Category & Subcategory vào Rows (Hàng).
  • Kéo Sales vào Columns (Cột).
  • Kéo Profit vào thẻ Color (Màu sắc).
  • Kéo Quantity vào thẻ Label (Nhãn).
  • Sắp xếp theo Sales giảm dần.
57. Tạo biểu đồ hai trục (dual-axis chart) cho Doanh số và Lợi nhuận theo thời gian.
Để tạo biểu đồ hai trục trong Tableau:
  1. Kéo Order Date vào Columns (đặt theo Year hoặc Month).
  1. Kéo Sales vào Rows.
  1. Kéo Profit vào Rows (đặt cạnh Sales), sau đó nhấp chuột phải vào Profit → chọn Dual Axis.
  1. Nhấp chuột phải vào một trục → chọn Synchronize Axis (Đồng bộ hóa trục).
  1. Trong thẻ Marks, đặt Sales dạng Bar (Thanh) và Profit dạng Line (Đường).
58. Cách xây dựng bản đồ Doanh số và Lợi nhuận theo từng tiểu bang (state-wise)?
  1. Kéo State vào vùng hiển thị (hoặc nhấp đúp để tạo bản đồ).
  1. Trong thẻ Marks, chọn kiểu Map (hoặc Symbol Map).
  1. Kéo Sales vào thẻ Size (Kích thước).
  1. Kéo Profit vào thẻ Color (Màu sắc).
  1. Thêm nhãn/chú giải (ví dụ: State, Sales, Profit) và điều chỉnh thang màu để dễ đọc.
59. Treemap (Bản đồ cây) và Heatmap (Bản đồ nhiệt): khi nào nên dùng loại nào?
  • Treemap: Dùng để thể hiện mối quan hệ phần-trên-tổng-thể (part-to-whole) thông qua các hình chữ nhật lồng nhau.
  • Heatmap: Dùng để nhận diện các quy luật/mẫu (patterns) giữa hai chiều dữ liệu bằng cách sử dụng cường độ màu sắc.
60. Tìm 5 khách hàng có lợi nhuận cao nhất và 5 khách hàng thấp nhất (sử dụng sets).
Tạo một Top N set (nhóm cao nhất) và một Bottom N set (nhóm thấp nhất) trên trường Customer Name dựa theo SUM(Profit). Sau đó, kết hợp hai bộ (Combined Set) này lại và sử dụng nó làm bộ lọc (Filter).

Radar Chuẩn bị Phỏng vấn Chuyên viên Phân tích Dữ liệu

1. SQL (Vòng Sàng lọc Cốt lõi)
  • Phép nối & Tổng hợp (Joins & Aggregation): Sử dụng thành thạo GROUP BY, HAVING để tóm tắt dữ liệu.
  • Hàm cửa sổ (Window functions): Sử dụng các hàm như ROW_NUMBER, DENSE_RANK để xếp hạng và phân tích dữ liệu theo phân khúc.
  • CTEs & Truy vấn con (CTEs & Subqueries): Viết các truy vấn sạch sẽ, dễ đọc và logic để xử lý các bài toán nhiều bước.
2. Thống kê (Chất lượng Ra quyết định)
  • Kiểm định giả thuyết (Hypothesis testing): Hiểu về sai lầm Loại I/II (Type I/II errors) và ý nghĩa thống kê (significance).
  • Giá trị ngoại lệ & Dữ liệu thiếu (Outliers & Missing data): Biết cách xử lý và hiểu rõ sự đánh đổi giữa các phương pháp (xóa bỏ vs. điền khuyết).
  • Cơ bản về Hồi quy & Thử nghiệm A/B (Regression & A/B testing): Xác định các yếu tố thúc đẩy (drivers) và mức độ tăng trưởng (lift).
3. Excel (Phân tích Nhanh)
  • Bảng Pivot (PivotTables): Tính toán tỷ trọng trên tổng số (% of total) và sắp xếp dữ liệu linh hoạt.
  • Logic tìm kiếm (Lookup logic): Thành thạo XLOOKUP hoặc bộ đôi INDEX-MATCH để truy xuất dữ liệu.
  • Xác thực & Làm sạch dữ liệu (Data validation & Cleaning): Tạo danh sách thả xuống (dropdowns) và chuẩn hóa định dạng dữ liệu.
4. Python (Quy trình làm việc Thực tế)
  • Lọc & Nhóm trong Pandas (Pandas filtering & Grouping): Sử dụng mặt nạ logic (boolean masks) và hàm groupby.
  • Gộp & Xử lý giá trị thiếu (Merge & Missing values): Kết nối các bảng dữ liệu (merge) và xử lý dữ liệu trống bằng isna, fillna.
  • Thời gian & Vẽ đồ thị nhanh (Dates & Quick plots): Chuyển đổi định dạng to_datetime, trích xuất thuộc tính thời gian với .dt và sử dụng Matplotlib để trực quan hóa nhanh.
5. Tableau (Kỹ năng Bảng điều khiển)
  • Nối so với Hòa trộn (Join vs Blend): Đưa ra các lựa chọn mô hình hóa dữ liệu chính xác dựa trên nguồn dữ liệu.
  • Biểu thức LOD (LOD expressions): Sử dụng các hàm FIXED, INCLUDE, EXCLUDE để tính toán dữ liệu ở nhiều mức độ chi tiết khác nhau.
  • Biểu đồ hai trục & Bản đồ (Dual-axis & Maps): Xây dựng các góc nhìn so sánh (ví dụ: Doanh số vs. Lợi nhuận theo thời gian) và trực quan hóa theo địa lý.