Các câu hỏi để kiểm tra kiến thức lập trình về SQL là gì? Câu trả lời cho câu hỏi là gì? Và việc thiếu một câu trả lời đúng có nghĩa là gì về thời gian có khả năng hiểu (các) khái niệm liên quan đến câu hỏi?
GOOGLED: thử thách sql
Các câu hỏi để kiểm tra kiến thức lập trình về SQL là gì? Câu trả lời cho câu hỏi là gì? Và việc thiếu một câu trả lời đúng có nghĩa là gì về thời gian có khả năng hiểu (các) khái niệm liên quan đến câu hỏi?
GOOGLED: thử thách sql
Câu trả lời:
Nó phụ thuộc vào mức độ khó khăn mà bạn muốn. Ngoài ra, tôi có một chút cảnh giác khi đưa ra câu trả lời cho bạn vì hầu hết các vấn đề SQL có nhiều cách có thể chấp nhận để thực hiện và cũng có những cách giải quyết vấn đề SQL theo cách cẩu thả sẽ gây ra các vấn đề khác. Người "chấm điểm" câu trả lời chắc chắn cần có khả năng tự giải quyết.
Điều đó nói rằng, đây là một số ít tôi nghĩ ra khỏi đỉnh đầu của tôi.
Cấp độ cực kỳ dễ dàng:
Đưa ra một bảng nhân viên với các cột EmpID, FirstName, Lastname, HireDate và TerminationDate:
Viết truy vấn để trả về tất cả các nhân viên vẫn làm việc cho công ty với tên bắt đầu bằng "Smith" được sắp xếp theo tên cuối cùng sau đó là tên.
Cấp độ dễ dàng
Đưa ra bảng nhân viên ở trên, cộng với bảng mới "Hàng năm xem" với các cột EmpID và ReviewDate:
Viết truy vấn để trả về tất cả các nhân viên chưa bao giờ đánh giá được sắp xếp theo HireDate.
Mức trung bình Cho bảng nhân viên ở trên, viết một truy vấn để tính chênh lệch (tính theo ngày) giữa nhân viên được thuê nhiều nhất và ít nhất vẫn làm việc cho công ty?
Cấp độ cứng
Đưa ra bảng nhân viên ở trên, viết một truy vấn để tính khoảng thời gian dài nhất (tính theo ngày) mà công ty đã đi mà không cần thuê hay sa thải bất kỳ ai.
Cấp độ khó hơn
Một lần nữa sử dụng cùng một bảng, viết một truy vấn trả về mỗi nhân viên và cho mỗi hàng / nhân viên bao gồm số lượng nhân viên lớn nhất làm việc cho công ty bất cứ lúc nào trong nhiệm kỳ của họ và ngày đầu tiên đạt được tối đa. Thêm điểm cho việc không sử dụng con trỏ.
Tôi thường chỉ ngồi phỏng vấn cho các chuyên gia dữ liệu, vì vậy câu hỏi của tôi có xu hướng khó. Nhưng một điều tôi sẽ yêu cầu bất kỳ ai sẽ viết SQL là kiến thức về các phép nối và khi nào nên sử dụng phép nối trái so với phép nối bên trong. Bất cứ ai không hiểu rằng không có doanh nghiệp truy vấn cơ sở dữ liệu dưới bất kỳ hình thức hoặc hình thức nào.
Một điều nữa tôi sẽ làm là đảm bảo rằng họ hiểu cách thực hiện NHÓM THEO và sử dụng các hàm Tổng hợp.
Và sự khác biệt giữa UNION và UNION ALL đã loại bỏ rất nhiều ứng cử viên nghèo trong công việc của tôi.
Tôi sẽ hỏi "Tại sao và làm thế nào bạn nên vệ sinh các giá trị đầu vào được cung cấp từ người dùng sẽ được sử dụng trong truy vấn SQL?"
Này là cần thiết để ngăn chặn tiêm SQL, và có thể trả lời câu này đòi hỏi kiến thức tốt về cú pháp và các lệnh (chẳng hạn như SQL SELECT
, UPDATE
, DROP
, DELETE
, vv), cũng như thế nào những người có thể được phá vỡ bằng cách sử dụng SQL bình luận để phá vỡ một truy vấn và tiêm những gì người dùng ác tính có thể muốn làm.
Tôi đã có một tay trong việc phát triển một bài kiểm tra kỹ thuật cho các lập trình viên cơ sở dữ liệu. Các câu hỏi là những gì tôi cho là khá cơ bản: viết các câu lệnh CREATE TABLE cho một cấu trúc bảng đã cho; làm một số truy vấn đơn giản; Vân vân.
Hầu hết những người xin việc tự gọi mình là chuyên gia tại SQL đều bỏ qua bài kiểm tra. Một người nói rằng mặc dù anh ta đã là một nhà phát triển SQL trong nhiều năm, anh ta chưa bao giờ viết một câu lệnh CREATE TABLE vì GUI đã làm điều đó cho anh ta.
Chúng tôi đã có kinh nghiệm tương tự với các bài kiểm tra kỹ thuật khác. Đối với nhân viên hỗ trợ của Windows, các tác vụ tương tự như "tạo người dùng tên miền", "thêm máy in", "thay đổi quyền trên tệp." Hầu hết mọi người không thể làm những công việc đó, đặc biệt là dưới áp lực. Chúng tôi nghĩ rằng nếu bạn có thể làm ngay cả những thứ đơn giản, có lẽ bạn khá thành thạo.
Nếu bạn muốn hỏi những câu hỏi mở hơn: Đặt những câu hỏi chung về các kiểu dữ liệu DATE, DATETIME .... Hỏi về sự khác biệt giữa các sản phẩm / sản phẩm của nhà cung cấp khác nhau. Nói về các công cụ dòng lệnh, bộ tải số lượng lớn, máy in đẹp ... có lẽ bạn có thể học một mẹo mới trong cuộc phỏng vấn.