Tuyển tập các câu hỏi phỏng vấn SQL chinh phục nhà tuyển dụng!
SQL là một trong những ngôn ngữ lập trình mà hầu như bất cứ ai trong lĩnh vực lập trình viên đều đã từng nghe qua. Đây là một kiến thức quan trọng cho các lập trình viên, BA, QA hay tester,... và để đảm nhận được vị trí này yêu cầu bạn phải trả lời đúng và chính xác các câu hỏi mà nhà tuyển dụng đưa ra. Để thành công chinh phục “trái tim” nhà tuyển dụng thì đừng quên bỏ túi ngay các câu hỏi phỏng vấn SQL mà Work247.vn chuẩn bị cung cấp cho bạn nhé!
1. Cẩm nang các câu hỏi phỏng vấn SQL
SQL hay còn được gọi là ngôn ngữ truy vấn cấu trúc, tác dụng của nó là để quản lý các dữ liệu trong hệ thống cơ sở dữ liệu quan hệ, ngoài ra nó còn là ngôn ngữ dùng để tạo, xóa, sửa đổi các hàng.
Đối với các lập trình viên, tester hay BA thì SQL không còn là một kiến thức xa lạ nữa mà thay vào đó đây còn là một kiến thức, một ngôn ngữ quan trọng phục vụ trong quá trình làm việc. Chính vì điều này mà nhà tuyển dụng luôn muốn tìm hiểu các ứng viên của mình phải nắm chắc được kiến thức về dạng ngôn ngữ này. Sẽ có những câu hỏi khó và những câu hỏi đơn giản tuy nhiên để có thể chót lọt qua vòng phỏng vấn thì bạn phải trả lời được 90% trên 100% câu hỏi thì mới khẳng định được vốn kiến thức chuyên môn sẵn có của mình.
Đừng lo khi đã có cẩm nang các câu hỏi phỏng vấn SQL, work247.vn sẽ giúp bạn giải đáp những câu hỏi nan giải, từ đó chinh phục nhà tuyển dụng chỉ vài giây đầu tiên.
1.1. Bộ câu hỏi cơ bản, phổ biến khi phỏng vấn SQL
1.1.1. Câu 1: Bạn hiểu khái niệm cơ bản về SQL là gì?
>> Gợi ý trả lời
SQL là từ viết tắt của “Structured Query Language”
SQL là được hiểu là một ngôn ngữ truy vấn có cấu trúc thuộc ngôn ngữ quản lý cơ sở dữ liệu. Tác dụng của SQL đó là quản lý dữ liệu trong hệ thống cơ sở dữ liệu quan hệ, nhằm mục đích tạo, xóa, sửa đổi các bảng.
1.1.2. Câu 2: Theo bạn, MySQL định nghĩa là gì?
>> Gợi ý trả lời
MYSQL được hiểu là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System - RDBMS) với chức năng, cấu trúc hoạt động theo mô hình Client-server. Mức năng của nó là cung cấp các chức năng, giao diện có sẵn, dùng để hỗ trợ đa nền tảng và sở hữu các công cụ tiện lợi giúp người dùng đẩy nhanh công việc, tăng hiệu quả khi làm việc.
1.1.3. Câu 3: Giữa “Delete” và “Truncate” điểm khác biệt của chúng là gì?
>> Gợi ý trả lời
- Điểm chung:
Cả TRUNCATE và DELETE đều dùng để xóa dữ liệu nhưng không xóa cấu trúc.
- Khác nhau:
TRUNCATE: Xóa tất cả các dòng dữ liệu trong bảng đồng thời KHÔNG sử dụng được WHERE và KHÔNG ghi lại được xác dòng xóa trong TRANSACTION LOG.
DELETE: Xóa các dòng dữ liệu trong bảng, CÓ THỂ sử dụng được WHERE và CÓ THỂ ghi lại được các dòng xóa trong TRANSACTION LOG.
1.1.4. Câu 4: “Constraint” được hiểu với khái niệm như thế nào?
>> Gợi ý trả lời
- CONSTRAINT là một ràng buộc trong SQL. Nó là những quy tắc phục vụ cho các cột dữ liệu, trên bảng. Có tác dụng kiểm tra tính hợp lệ của dữ liệu vào đồng thời đảm bảo sự chính xác, tính nguyên vẹn của dữ liệu.
- Sau khi đã nêu ra được khái niệm. Bạn có thể liệt kê ra một số các loại ràng buộc như NOT NULL, UNIQUE, FOREIGN, PRIMARY,...
1.1.5. Câu 5: Sử dụng các truy vấn SQL, hãy nêu cách làm hiển thị thời gian, ngày tháng hiện tại
>> Gợi ý trả lời
Bạn cần phải trình bày cách làm của bạn với nhà tuyển dụng. Bởi vì bạn học, có kiến thức, chuyên môn nên bạn sẽ là người nắm rõ về cách sử dụng các truy vấn SQL. Để có thể truy xuất, hiển thị thời gian và ngày tháng hiện tại thì chỉ cần sử dụng lệnh có sẵn GETDATE()
1.1.6. Câu 6: “Primary key” và “Unique Key” là gì?
>> Gợi ý trả lời
Bạn cần nêu đủ các ý sau:
- PRIMARY KEY và UNIQUE KEY là 2 ràng buộc trong SQL
- Nêu khái niệm của PRIMARY KEY Và UNIQUE KEY
- Ý nghĩa của PRIMARY KEY Và UNIQUE KEY
- Nếu tác dụng của PRIMARY KEY Và UNIQUE KEY
1.1.7. Câu 7: Tính toàn vẹn dữ liệu được hiểu như thế nào?
>> Gợi ý trả lời
Tính toàn vẹn được hiểu là quá trình định tính, xác định của dữ liệu khi được lưu trữ trong môi trường cơ sở dữ liệu, nó có tác dụng xác định các ràng buộc mang tính chất nhất quán, toàn vẹn nhằm mục đích áp dụng các quy tắc kinh doanh dựa trên dữ liệu bất kỳ khi nó được truyền tải, cập nhật vào trong một ứng dụng hay một cơ sở dữ liệu bất kỳ.
1.1.8. Câu 8: Nêu khái niệm của “QUERY”
>> Gợi ý trả lời
Bạn cần nêu các ý sau:
- Khái niệm của QUERY: QUERY được hiểu làm một truy vấn, và nó là một câu hỏi. Câu hỏi này được viết ra sẽ được truyền đến cơ sở dữ liệu nhờ một mã CODE cụ thể nằm mục đích lấy một vài thông tin từ truy vấn.
- Lưu ý: Câu hỏi này bạn cần phải dùng kiến thức của mình về QUERY để giải thích. Nhà tuyển dụng sẽ chấm điểm “mức độ thông hiểu” của bạn đến đâu, bạn có thực sự hiểu bản chất hay không hay chỉ là những câu trả lời dựa trên sách vở.
1.1.9. Câu 9: Nêu tóm tắt tác dụng của UNION và phân biệt UNION và UNION ALL
>> Gợi ý trả lời
Bạn cần phải trả lời theo ý sau:
- Nêu đặc điểm nhân dạng chung: UNION và UNION ALL các tác dụng tập hợp 2 bản ghi có cùng cấu trúc.
- Nêu khái niệm riêng biệt của UNION và UNION ALL
- Khả năng hiệu suất của UNION và UNION ALL, vì sao?
- Lấy ví dụ cụ thể để thoát ly với kiến thức sách vở.
- Rút ra kết luận chung.
1.1.10. Câu 10: Theo bạn, một bảng có thể có nhiều hơn một FOREIGN KEY hay không?
>> Gợi ý trả lời
Trả lời đúng trọng tâm. “Một bang có thể có nhiều hơn một FOREIGN KEY (ngoại khóa) nhưng trong đó chỉ có một khóa chính, còn lại là khóa phụ, bổ sung cho khóa chính”
Câu hỏi phỏng vấn lập trình hướng đối tượng
1.2. Bộ câu hỏi khó khi phỏng vấn SQL
Hầu hết các câu hỏi khó bạn sẽ phải sử dụng khối kiến thức bạn có được để trình bày áp dụng thực tế, thoát ly với những kiến thức sách vở. Đồng thời việc có thể đưa ra một số các ví dụ sẽ giúp bạn ghi được ấn tượng nhiều hơn.
1.2.1. Câu 1: Để lấy ra các hàng ngẫu nhiên từ một bảng cho trước, bạn làm thế nào?
>> Gợi ý trả lời
- Sử dụng câu lệnh SAMPLE
- Nêu ví dụ cụ thể.
1.2.2. Câu 2: Để có thể đổi tên một cột trong đầu ra của truy vấn SQL bạn dùng lệnh nào?
>> Gợi ý trả lời
Sử dụng lệnh [SELECT] column_name [AS] new_name [FROM] table_name
1.2.3. Câu 3: Hãy nêu thứ tự của SQL SELECT
>> Gợi ý trả lời
- SELECT (bắt buộc)
- FROM (bắt buộc)
- WHERE
- GROUP BY
- HAVING
- ORDER BY
1.2.4. Câu 4: Bạn hiểu “INDEX” là gì?
>> Gợi ý trả lời
Những ý cần nêu khi trả lời:
- Khái niệm của INDEX
- Các loại INDEX
- Nêu ngắn gọn về các loại INDEX
- Nêu ví dụ cụ thể
Hầu như các câu hỏi nâng cao thường mang tính chất là “tự giải thích”. Bạn phải đưa những kiến thức sách vở trở thành của mình, và nói để cho nhà tuyển dụng nghe hiểu về câu trả lời của bạn.
1.2.5. Câu 5: Theo bạn giá trị của NULL có thể bằng 0 không?
>> Gợi ý trả lời
- Trước hết, đáp án câu trả lời là “Không”
- Nêu ví do tại sao lại trả lời “Không”. Số “0” - zero là một cách thức số, NULL biểu thị sự thiếu, vắng một ký tự (không quan tâm việc được biết trước hay không có sẵn) Nhưng đó không phải là một khoảng trắng và nó là một ký tự nên không thể nói giá trị của NULL có thể bằng 0.
1.2.6. Câu 6: Trong trường hợp đĩa dữ liệu bị quá tải, bạn sẽ làm gì?
>> Gợi ý trả lời
- Câu trả lời cho câu hỏi này đó là: Áp dụng liên kết phần mềm
- Tại sao bạn chọn cách này: “ Khi sử dụng các liên kết sẽ tạo ra một vị trí có thể lưu trữ được các file .frm và .ibd”
- Đừng trả lời là không thể tiếp tục khi đĩa dữ liệu quá tải.
1.2.7. Câu 7: Đặc quyền nào của người dùng có thể cấp cho một người dùng khác?
>> Gợi ý trả lời
- SELECT
- CONNECT
- RESOURCES
1.2.8. Câu 8: Bạn hiểu CTE là gì?
>> Gợi ý trả lời
- Nêu khái niệm của CTE
- Nêu ngắn gọn ý nghĩa và tác dụng của CTE
1.2.9. Câu 9: LOCAL (Bảng tạm cục bộ) và GLOBAL (Bảng tạm toàn cầu) có điểm gì khác nhau?
>> Gợi ý trả lời
- Nêu khái niệm về Bảng cục bộ - LOCAL, ký tự của nó là #
- Nêu khái niệm về bảng tạm toàn cầu - GLOBAL, kí hiệu của nó là # #
1.2.10. Câu 10: Mệnh đề “HAVING” và “WHERE” có điểm gì khác nhau?
>> Gợi ý trả lời
- Cả hai mệnh đề “HAVING” và “WHERE” đều có tác dụng chỉ định điều kiện tìm kiếm.
- “HAVING” sử dụng với lệnh SELECT, sử dụng được với mệnh GROUP BY
- Trong trường hợp không có GROUP BY thì cách sử dụng của HAVING giống với WHERE
1.3. Các câu hỏi khác khi phỏng vấn SQL
- Câu 1: Phân biệt DML và DDL
- Câu 2: Bạn hiểu thế nào về TRIGGER
- Câu 3: DELETE SQL có lệnh như thế nào?
- Câu 4: Trong trường hợp quên mật khẩu, bạn sẽ làm gì?
- Câu 5: Thành phần tạo nên cấu trúc MYSQL cơ bản là gì?
- Câu 6: Biến của SQL được giải thích như thế nào?
- Câu 7: Nêu khái niệm “DATA WAREHOUSE”
- Câu 8: “JOIN” “VIEW” là gì?
- Câu 9: Nêu khái niệm về “tính toàn vẹn dữ liệu.
- Câu 10: Định nghĩa về “các tập con khác nhau”
2. “Bạn có câu hỏi gì cho chúng tôi?” Bạn trả lời thế nào?
Những câu hỏi kèm theo những lời gợi ý có thể sẽ giúp bạn khá nhiều trong cuộc phỏng vấn của bạn. Tuy nhiên, sau khi kết thúc cuộc phỏng vấn, nhà tuyển dụng sẽ đưa ra cho bạn một câu hỏi đó là “Bạn có câu hỏi gì về chúng tôi?”
Nói một cách chính xác thì đây là một câu hỏi ăn điểm giúp bạn gây được ấn tượng với nhà tuyển dụng. Cho dù bạn có trả lời các câu hỏi chuyên môn tốt như thế nào, bạn cũng không thể trả lời “Tôi không có câu trả lời nào” hay “Tôi không biết”. Đây là một dấu trừ rất lớn dành cho bạn.
Câu hỏi này nhằm ngụ ý rằng: bạn có thực sự muốn tham gia vào vị trí công việc này hay không?
Vậy bạn sẽ phải trả lời như thế nào để gây ấn tượng với nhà tuyển dụng? Hãy đặt câu hỏi với nhà tuyển dụng về những điều bạn sẽ không tìm được thông tin trên mạng xã hội. Ví dụ như:
- Công việc cụ thể mà tôi sẽ phải đảm nhận là gì?
- Mức lương mà tôi sẽ được nhận là bao nhiêu?
- Văn hóa công ty là gì?
- Công ty sẽ cung cấp cho nhân viên lộ trình thăng tiến như thế nào?
- Trong trường hợp tôi làm việc xuất sắc (vượt KPI), công ty sẽ có mức thưởng như thế nào?
- Công ty dựa vào những tiêu chí nào để đánh giá một nhân viên xuất sắc?
- Chế độ đãi ngộ cho nhân viên của công ty như thế nào?
- …
Đây là những câu hỏi bạn có thể đặt ra ngay với nhà tuyển dụng và họ sẽ phải trả lời ngay cho bạn. Đừng ngại khi đặt ra câu hỏi cho họ, vì đây là câu hỏi hết sức bình thường, bởi vì bạn đi làm không phải chỉ để “chơi”, bạn phải xác định rằng việc bạn bỏ công bỏ sức ra với công ty liệu có xứng đáng hay không? Và khi bạn đứng trong hàng ngũ nhân viên xuất sắc, công ty sẽ cho bạn điều gì.
Chính vì vậy hãy tự tin đặt câu hỏi để giúp cho lộ trình thăng tiến của bản thân phản triển mạnh mẽ nhé!
3. Những lưu ý khi trả lời phỏng vấn SQL
Ngoài việc trả lời và hỏi đáp với nhà tuyển dụng, bạn cũng cần phải lưu ý những điều sau đây. Bởi lẽ đôi khi những điều này sẽ giúp cho bạn không bị mất điểm trong mắt nhà tuyển dụng.
- Hãy chuẩn bị cho mình một phong cách lịch lãm, lịch sự, thanh lịch để gây ấn tượng nhẹ nhàng nhé
- Hãy trả lời một cách thật tự tin vì bạn có năng lực và người ta đang cần bạn.
- Trước khi tham gia phỏng vấn hãy chuẩn bị cho mình khối lượng kiến thức để đáp ứng buổi phỏng vấn nhé!
- Không bao giờ được quên việc đặt câu hỏi với nhà tuyển dụng
- Hãy thể hiện cho nhà tuyển dụng biết bạn là một người có năng lực và bạn phù hợp với công việc này hơn ai hết.
- Nếu bạn còn chưa biết cách trả lời các câu hỏi phản xạ như “giới thiệu bản thân”, “nêu điểm mạnh điểm yếu”, “ Cách nói về kỹ năng và thành tích của bản thân” thì đừng ngần ngại tìm đến Work247.vn nhé! Một kho tàng các cách trả lời câu hỏi phản xạ đang chờ bạn ở phía trước, chỉ vài đường click chuột đơn giản, bạn sẽ biến điều khó khăn trở thành đơn giản hơn bao giờ hết!
Trên đây là những thông tin về hướng dẫn cách trả lời các câu hỏi phỏng vấn SQL giúp các ứng viên dễ dàng chinh phục được trái tim nhà tuyển dụng. Nếu như bạn có thắc mắc hay có những câu hỏi cần được giải đáp thì đừng ngần ngại đặt câu hỏi với work247.vn thông qua số hotline hoặc mục chat để được hỗ trợ kịp thời nhé!
8454 0