Top 5 câu hỏi phỏng vấn SQL Developer bạn nên biết (Part 1)

31/08/2023 456 lượt xem
Có phải phỏng vấn SQL Developer chỉ xoay quanh SQL (Structured Query Language) đơn giản? Không, SQL Developer không chỉ cần hiểu biết sâu về SQL mà còn cần kiến thức về bảo mật, tổng quan về hệ cơ sở dữ liệu và nhiều yếu tố, thành phần khác liên quan đến cơ sở dữ liệu.
Phần đầu của bài viết này sẽ chia sẻ 5 câu hỏi liên quan đến SQL, mỗi câu hỏi là một phần kiến thức mà bạn có thể tham khảo. Những câu hỏi này không chỉ giúp đánh giá kiến thức mà còn cung cấp thông tin bổ sung nếu bạn còn thiếu sót.
câu hỏi phỏng vấn SQL Developer

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

Thế này, câu đầu tiên trong phỏng vấn SQL Developer không thể không đề cập đến kiến thức cơ bản về SQL. Và khi nói đến SQL, không thể không nhắc đến các từ khoá.
Các từ khoá được đề cập trong phần 1 này là union và union all.
Đầu tiên, union là cách để kết hợp nội dung của hai bảng có cùng cấu trúc hoặc để thống nhất các cột trong 2 câu truy vấn. Sự khác biệt giữa union và union all là union sẽ tự động loại bỏ các bản ghi trùng lặp.
Trong anh có em, trong em có anh, nhưng nếu có bất kỳ sự trùng lặp nào, chúng ta sẽ loại bỏ. Tuy nhiên, nếu không muốn loại bỏ, chúng ta có thể sử dụng union all. À, còn một lưu ý nhỏ là union all sẽ có hiệu suất tốt hơn vì không cần thực hiện xử lý để loại bỏ các dòng trùng lặp như union. Trong trường hợp anh em chắc chắn không thể có sự trùng lặp, hãy ưu tiên sử dụng union all.
Xem thêm bản quyền SQL Developer mới nhất.
 

2. Cluster và non clustered inde​x khác gì nhau?

Clustered và non-clustered là câu hỏi đánh giá mức độ hiểu biết của bạn về các loại chỉ mục. Mặc dù chỉ là câu hỏi tổng quan về phân loại, nhưng nếu bạn có thể phân biệt rõ sự khác biệt giữa hai loại index này, thì có lẽ bạn đã có kiến thức khá tốt về chỉ mục.
Đầu tiên, clustered index là loại chỉ mục xác định sắp xếp vật lý (physical arrangement) của các dòng dữ liệu. Mỗi bảng chỉ có một clustered index vì chỉ có một cách duy nhất để duy trì sắp xếp vật lý cho các bản ghi trên một bảng.
clustered index
Ngược lại, non-clustered index là chỉ mục không xác định sắp xếp vật lý (doesn't specify the physical arrangement). Với non-clustered index, dữ liệu có thể được lưu trữ trong các bảng khác. Do đó, mỗi bảng có thể có nhiều non-clustered index.

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

Việc dữ liệu bị trùng lặp giữa các bảng và views là điều phổ biến như bữa cơm hàng ngày. Câu hỏi số 3 trong bộ câu hỏi phỏng vấn SQL Developer nhằm kiểm tra khả năng của bạn trong xử lý vấn đề thực tế liên quan đến SQL.
Từ vấn đề đó, ta kiểm tra xem bạn có sử dụng các từ khoá đúng không. Bạn có hiểu và nhớ các từ khoá, và sử dụng chúng cho mục đích gì?
Sự trùng lặp của các bản ghi có thể chia thành hai trường hợp. Trường hợp thứ nhất là khi chỉ có một trường dữ liệu trùng lặp, và trường hợp thứ hai là khi có nhiều trường dữ liệu trùng lặp trong một bảng. Nếu chỉ có một trường dữ liệu trùng lặp, bạn có thể sử dụng GROUP BY kết hợp với HAVING COUNT để tìm ra trường dữ liệu trùng lặp trong bảng hoặc trong views.
tìm kiếm record
Tất nhiên sử dụng các từ khoá, ghi nhớ từ khoá anh em không thể học tủ đâu nha, phải nhớ hết. Đây chỉ là một câu hỏi ví dụ.
phỏng vấn SQL Developer

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

 
Câu hỏi này thường xuất hiện trong các buổi phỏng vấn với SQL Developer, vì nó cho phép đánh giá kinh nghiệm thực tế của SQL Developer trong công việc.
Câu hỏi này cũng phân loại các lập trình viên backend thông thường, những người chỉ sử dụng SQL cho các truy vấn đã viết sẵn hoặc các truy vấn đơn giản không đặt vấn đề về hiệu suất. Câu hỏi này khuyến khích các lập trình viên đưa ra từ khóa và cách xử lý vấn đề trong các truy vấn SQL. Hơn nữa, họ cần đề cập đến kinh nghiệm cụ thể về việc tối ưu hóa.
Trở lại câu hỏi, câu trả lời có thể liên quan đến một số vấn đề của các truy vấn SQL:
Nếu truy vấn SQL chậm, gặp vấn đề về hiệu suất, giải pháp là tạo chỉ mục (index) cho các cột thường được tìm kiếm và sắp xếp. Cụ thể, các loại chỉ mục nào và cách tạo chỉ mục có thể được đề cập. Có thể tham khảo một số loại chỉ mục ở đây.
Trong việc tối ưu hiệu suất SQL, có thể đề cập đến các phương pháp và kỹ thuật để phân tích các truy vấn SQL. Tìm ra các vị trí gây chậm hoặc không hiệu quả trong truy vấn SQL. Vì các truy vấn SQL thường dài, nên cần phải phân tích từng phần trong đó.
Để rõ ràng hơn, có thể đề cập đến việc sử dụng từ khóa EXPLAIN, EXPLAIN ANALYZE. Phụ thuộc vào hệ quản trị cơ sở dữ liệu mà người phỏng vấn thường sử dụng.
Liên quan đến kinh nghiệm thực tế, cũng có thể đề cập đến việc sử dụng các công cụ cụ thể và phương pháp đã được áp dụng để tối ưu:
phỏng vấn SQL Developer
Sử dụng các công cụ như pgAdmin, MySQL Workbench hoặc SQL Server Management Studio để nghiên cứu sâu hơn về SQL như sử dụng CPU, RAM.
Đối với một số truy vấn SQL, nguyên nhân gây chậm có thể do các tham số (argument), có thể đề cập đến việc đã thử thay đổi các tham số để điều tra nguyên nhân gây chậm của truy vấn SQL.

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

Câu hỏi về bảo mật là một câu hỏi được đánh giá cao hơn trong danh sách câu hỏi phỏng vấn SQL Developer. Các ứng viên có kinh nghiệm hoặc ứng tuyển vị trí SQL Developer thường sẽ gặp câu hỏi này.
Trên thực tế, bảo mật là một yếu tố quan trọng, không chỉ đối với các lĩnh vực như Frontend, Backend, Network,... mà còn cả SQL.
Nếu anh em chưa có nhiều kiến thức về bảo mật SQL, có thể tham khảo thêm. Đọc để hiểu thêm về một khía cạnh mà ở mức độ cao, tất cả anh em đều cần có kiến thức về nó. Sau đó, khi trả lời câu hỏi, anh em có thể liệt kê một số kỹ thuật để đảm bảo bảo mật cho SQL.
Kiểm soát truy cập: Đây là một khái niệm cơ bản, dựa trên quyền truy cập, ta có thể hạn chế hoặc chặn quyền truy cập vào cơ sở dữ liệu.
Mã hoá (Encryption): Mã hoá là trụ cột của bảo mật, từ mật khẩu đến thông tin 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ắc đến một chút về cách lưu trữ dữ liệu mã hóa trong các cột.
Kiểm tra (Auditing): Đây là kỹ thuật ghi lại tất cả các hoạt động được thực hiện trên cơ sở dữ liệu, bao gồm ai đã đăng nhập vào cơ sở dữ liệu, đã xem bảng nào, truy cập vào bảng nào.
SQL Injection: Điều này đòi hỏi kiểm tra kỹ các tham số đầu vào. Anh em lưu ý rằng đây là kiến thức bảo mật cơ bản mà cần phải nắm vững.

Xem thêm bản quyền phan mem SQL Developer.
Ngoài ra, nếu có nhu cầu tư về giá mua bản quyền SQL Developer chính hãng liên hệ ngay với #JYWSOFT để được nhận báo giá và tư vấn về sản phẩm kỹ hơn:
Hotline : 0246 682 0511
Email : software@jywvina.com
Website : https://jywsoft.com/
Add : Tầng 4, Tòa nhà N01-T4, Khu Đoàn Ngoại Giao, P. XuânTảo, Q. Bắc Từ Liêm, TP. Hà Nội