Top 5 câu hỏi phỏng vấn SQL - Phần 1

Blog / Tin công nghệ 13/11/2023
top-5-cau-hoi-phong-van-sql-phan-1
Phụ lục

Liệu rằng phỏng vấn SQL Developer đơn giản chỉ xoay quanh SQL (Structure Query Language)? Xin thưa là không, SQL Developer ngoài hiểu biết sâu rộng về SQL cũng cần có kiến thức về bảo mật, về tổng quan hệ cơ sở dữ liệu và nhiều yếu tố, thành phần khác liên quan tới DB.
Phần 1 bài viết này sẽ chia sẻ 5 câu hỏi liên quan tới SQL, mỗi câu hỏi là một phần kiến thức anh em có thể tham khảo. Vừa đánh giá kiến thức, vừa bổ sung nếu như đang còn hổng.

Union là gì? Union khác gì so với Union All

Gòi, mồm to chứ câu đầu tiên phỏng vấn SQL Developer không thể không nhắc tới kiến thức cơ bản về SQL. Mà nhắc tới SQL không thể không nhắc tới từ khoá.

Từ khoá được nêu danh trong phần 1 này là union và union all.

Đầu tiên là union là cách thức hợp nhất nội dung của hai bảng có cùng cấu trúc. Hoặc sự thống nhất về cột trong 2 câu queries. Sự khác biệt giữa Union và union all là union sẽ tự động loại bỏ trùng lặp.

Trong anh có em, trong em có anh nhưng cái nào lặp thì ta bỏ đi. Còn không muốn bỏ thì ta có UNION ALL. À có một lưu ý nho nhỏ là UNION ALL sẽ tốt hơn về mặt performance do UNION phải tốn thêm xử lý để loại bỏ các dòng trùng lặp. Trong trường hợp anh em chắc chắn không thể có trùng lặp, UNION ALL nên được ưu tiên sử dụng.

Cluster và non clustered index khác gì nhau?

Cluster và non clustered là câu hỏi đánh giá mức độ hiểu biết của anh em về các loại index. Tuy chỉ là câu hỏi tổng quan về phân loại. Nhưng nếu anh em có thể phân biệt rõ sự khác biệt giữa hai loại index này, tin rằng anh em đã có kiến thức khá ổn về index.

Đầu tiên thì clustered index là loại index xác định sự sắp xếp vật lý (physical arrangement) của các dòng dữ liệu. Mỗi một bảng chỉ có một clustered index vì chỉ có một cách duy nhất duy trì về mặt vật lý cho các records trên một bảng.

Ngược lại, non clustered index là index không xác định sắp xếp vật lý (doesn’t specify the physical arrangement). Với non clustered thì dữ liệu có thể được lưu ở các bảng khác. Chính vì vậy, mỗi bảng có thể có nhiều non clustered index.

Tìm kiếm các records bị trùng lặp như thế nào?

Chuyện dữ liệu bị trùng lặp giữa các bảng, các views là chuyện bình thường như cơm bữa. Câu hỏi số 3 trong bộ câu hỏi phỏng vấn SQL Developer muốn kiểm tra cách anh em xử lý vấn đề thực tế với SQL.

Từ vấn đề đó kiểm tra xem anh em có dùng đúng keywords không. Có hiểu và nhớ về các từ khoá, sử dụng với mục đích gì hay không?.

Trùng lặp records chia thành 2 trường hợp. Một là 1 field, hai là nhiều field trong một table. Nếu chỉ trùng 1 field anh em có thể sử dụng GROUP BY với HAVING COUNT để tìm ra field trùng trong bảng, trong views

 SELECT name, COUNT(email) 
 FROM users
 GROUP BY email
 HAVING COUNT(email) > 1 

Trường hợp có nhiều hơn 1 field, anh em có thể sử dụng COUNT *

 SELECT name, email, COUNT(*)
 FROM users
 GROUP BY name, email
 HAVING COUNT(*) > 1

Làm sao để xử lý các vấn đề liên quan tới SQL?

Đây là câu hỏi thường gặp trong các buổi phỏng vấn SQL Developer. Nguyên nhân là nó đánh giá được kinh nghiệm thực tế anh SQL Developer được gặp.

Câu hỏi này cũng phân loại ra những anh em backend thông thường chỉ sử dụng SQL theo kiểu Queries đã viết sẵn hoặc những câu đơn giản không có vấn đề về performance. Câu hỏi này khuyến nghị anh em nêu ra từ khoá, các thức xử lý vấn đề với các câu SQL. Hai nữa là nêu ra kinh nghiệm thực tế đã optimize như thế nào. Được như vậy sẽ thuyết phục hơn.

Quay lại với câu hỏi, câu trả lời anh em có thể nêu ra liên quan tới một số vấn đề của SQL Queries:

  • Nếu SQL chậm, có vấn đề về performance, giải pháp là đánh index cho các column thường được tìm kiếm và thường được sort. Cụ thể index như thế nào, loại nào anh em có thể nêu ra. Một số loại index anh em có thể tham khảo ở đây.
  • Cũng trong SQL performance, anh em có thể nêu ra các cách thức, kĩ thuật sử dụng để phân tích câu SQL. Tìm ra chỗ gây chậm hoặc không hiệu quả. Câu SQL có vấn đề thường là rất dài nên phải tìm từng phần trong đó
  • Từ khoá thì anh em có thể nêu rõ ràng ra dùng EXPLAIN, EXPLAIN ANALYZE. Tuỳ thuộc vào DB mà anh em thường sử dụng.

Về kinh nghiêm thực tế anh em còn có thể nêu ra cụ thể tên một số tools, các thức anh em đã dùng để tối ưu:

  • Sử dụng công cụ như pgAdmin, MySQL Workbench hoặc SQL Server Management Studio để tìm hiểu sâu hơn về SQL như CPU, Ram.
  • Với một số câu SQL, nguyên nhân chậm có thể do các tham số (argument), có thể nêu ra các lần anh em đã thử thay đổi tham số để điều tra nguyên nhân chậm của SQL.

Những cách nào được sử dụng để đảm bảo security cho SQL?

Câu hỏi về security là câu hỏi được đánh giá ở mức độ cao hơn trong danh sách các câu hỏi phỏng vấn SQL Developer nha. Những anh em nào có kinh nghiệm hoặc apply vị trí SQL Developer thường sẽ gặp câu này.

Thời đại mà làm cái gì kể cả là FrontendBackend, Network,… người ta đều chú ý tới security thì SQL cũng không phải là ngoại lệ.

Nếu anh em còn chưa biết nhiều về SQL Security thì có thể tham khảo thêm nha. Đọc để biết thêm về thứ mà chắc chắn là ở level cao anh em nào cũng cần có kiến thức. Rồi, quay lại câu trả lời, anh em có thể liệt kê ra một số kỹ thuật để đảm bảo security cho SQL.

  • Access control: cái này là cơ bản nhất ha, dựa trên quyền truy cập ta có thể chặn hoặc giới hạn quyền truy cập vào hệ cơ sở dữ liệu.
  • Encryption: Mã hoá là xương sống của bảo mật, mật khẩu, thẻ tín dụng, … Tất cả đều được mã hoá để đảm bảo tính bảo mật. Anh em có thể nhấn nhá qua tí về các thức lưu dữ liệu trong các cột.
  • Auditing: Kiểm tra là kỹ thuật lưu lại tất cả hành động được thực hiện trên DB, ai đã log vào DB, đã xem bảng nào, truy cập bảng nào.
  • SQL Injection: Cái này cần phải kiểm tra kĩ input parameter. Anh em lưu ý đây là kiến thức bảo mật cơ bản cần phải có nha.

phỏng vấn SQL Developer

SQL Injection là kiến thức cơ bản cần nhớ nha anh em


Devwork

Devwork là Nền tảng TUYỂN DỤNG IT CẤP TỐC với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 headhunter tuyển dụng ở khắp mọi nơi.Với hơn 1800 doanh nghiệp IT tin dùng Devwork để :

  • Tối ưu chi phí
  • Tiết kiệm thời gian
  • Tăng tốc tuyển dụng tối đa
  • Đăng ký ngay Devwork trong hôm nay để tuyển dụng những tài năng ưu tú nhất.

    Tag Cloud:

    Tác giả: quyenntt

    Link chia sẻ

    Bình luận

    Việc làm tại Devwork

    khám phá các cơ hội việc làm tốt nhất tại Devwork Xem thêm

    Bài viết liên quan

    Danh sách bài viết liên quan có thể bạn sẽ thích Xem thêm
    ky-su-cong-nghe-thong-tin

    Kỹ sư công nghệ thông tin: Học gì, làm gì, mức lương bao nhiêu?

    17:00 21/03/2026

    Trong kỷ nguyên số 4.0, Công nghệ Thông tin (CNTT) đã trở thành ngành mũi nhọn, dẫn dắt sự chuyển mình của mọi lĩnh vực trong đời sống và kinh tế. Vai trò của những kỹ sư công nghệ thông tin - những người kiến tạo và vận hành thế giới số - ngày càng trở nên quan trọng. Vậy cụ thể, một kỹ sư CNTT học những gì, làm những công việc gì và mức lương có thực sự hấp dẫn như lời đồn? Bài viết toàn diện dưới đây từ Devwork sẽ giải đáp tất cả những thắc mắc đó....

    Tìm hiểu từ A-Z về hệ điều hành Linux từ cơ bản đến nâng cao

    17:00 21/03/2026

    Trong thế giới công nghệ, hệ điều hành linux được ví như "trụ cột thầm lặng" của internet và là nền tảng cho vô số hệ thống máy tính toàn cầu. Từ những siêu máy tính, máy chủ web cho đến điện thoại Android và các thiết bị thông minh, Linux hiện diện ở khắp mọi nơi. Vậy Linux là gì và tại sao nó lại quan trọng đến vậy? Bài viết toàn diện từ A đến Z dưới đây của Devwork sẽ dẫn dắt bạn khám phá mọi khía cạnh của Linux

    he-dieu-hanh-linux

    Top phần mềm ghép hình trên điện thoại đẹp, dễ dùng và miễn phí cho người mới

    17:00 29/03/2026

    Nhu cầu tạo ảnh ghép chất lượng cao ngay trên điện thoại ngày càng phổ biến khi người dùng muốn nhanh chóng chỉnh sửa hình ảnh để chia sẻ lên mạng xã hội, phục vụ công việc bán hàng hoặc lưu giữ khoảnh khắc cá nhân. Bài viết dưới đây Devwork sẽ cung cấp cho bạn danh sách những phần mềm ghép hình tốt nhất hiện nay, tiêu chí lựa chọn ứng dụng phù hợp và hướng dẫn cơ bản để tạo bố cục ảnh đẹp mắt. Tất cả đều được tổng hợp theo hướng mạch lạc, chi tiết và dễ ứng dụng cho mọi đối tượng.

    phan-mem-ghep-hinh-tren-dien-thoai

    Cách tải video YouTube chất lượng cao: Hướng dẫn chi tiết, đơn giản cho mọi thiết bị

    17:00 28/03/2026

    YouTube là kho tàng video khổng lồ với vô vàn nội dung hữu ích, từ hướng dẫn học tập, giải trí cho đến những video tài liệu quý giá. Tuy nhiên, không phải lúc nào bạn cũng có kết nối internet ổn định để xem trực tuyến. Việc biết cách tải video YouTube chất lượng cao về thiết bị sẽ giúp bạn chủ động xem lại mọi lúc, mọi nơi. Bài viết toàn diện dưới đây từ Devwork sẽ hướng dẫn bạn từ A đến Z, từ việc chọn lựa chuẩn chất lượng phù hợp đến các bước thực hiện chi tiết trên cả máy tính và điện thoại.

    cach-tai-video-youtube-chat-luong-cao
    kiem-tra-toc-do-mang

    Hướng dẫn kiểm tra tốc độ mạng: Cách đo, cách hiểu và cách cải thiện

    10:00 29/03/2026

    Kiểm tra tốc độ mạng là bước quan trọng giúp bạn nắm rõ hiệu năng kết nối Internet, từ đó tối ưu trải nghiệm khi học tập, làm việc hay giải trí trực tuyến. Bài viết dưới đây Devwork sẽ hướng dẫn kiểm tra tốc độ mạng chi tiết, giải thích các chỉ số cơ bản như download, upload, ping, jitter, đồng thời chỉ ra cách đo chính xác và những mẹo cải thiện tốc độ mạng khi gặp tình trạng chậm hoặc không ổn định.

    phan-mem-kiem-tra-toc-do-mang-wifi

    Tổng hợp 6 phần mềm kiểm tra tốc độ mạng wifi tốt nhất

    11:06 29/03/2026

    Bạn đang gặp phải tình trạng mạng wifi chập chờn, xem video liên tục bị giật lag hay tải file mãi không xong? Nguyên nhân có thể đến từ tốc độ mạng không ổn định. Việc sử dụng một phần mềm kiểm tra tốc độ mạng wifi chính xác là bước đầu tiên và quan trọng nhất để chẩn đoán vấn đề. Bài viết dưới đây từ Devwork sẽ giới thiệu đến bạn 6 công cụ kiểm tra tốc độ mạng hàng đầu