SQL에 대한 프로그래머 지식을 테스트하기위한 질문은 무엇입니까? 질문에 대한 답은 무엇입니까? 정답이 부족하다는 것은 질문과 관련된 개념을 이해하는 데있어 시간적 측면에서 무엇을 의미합니까?
GOOGLED : SQL 도전
SQL에 대한 프로그래머 지식을 테스트하기위한 질문은 무엇입니까? 질문에 대한 답은 무엇입니까? 정답이 부족하다는 것은 질문과 관련된 개념을 이해하는 데있어 시간적 측면에서 무엇을 의미합니까?
GOOGLED : SQL 도전
답변:
얼마나 어려운지에 달려 있습니다. 또한 대부분의 SQL 문제에는 허용되는 여러 가지 방법이 있으며 SQL 문제를 조잡한 방식으로 해결하여 다른 문제를 일으킬 수 있기 때문에 답변을 제공하는 것에 약간의주의를 기울입니다. 답을 "등급"하는 사람은 스스로 스스로 해결할 수 있어야합니다.
즉, 여기 내 머리 꼭대기에서 나온 몇 가지가 있습니다.
매우 쉬운 수준 :
열이 EmpID, FirstName, Lastname, HireDate 및 TerminationDate 인 직원 테이블이 주어짐 :
이름이 "Smith"로 시작하여 성으로 정렬 된 회사에서 아직 근무중인 모든 직원을 반환하려면 쿼리를 작성하십시오.
쉬운 수준
위의 Employee 테이블과 EmpID 열 및 ReviewDate 열이 포함 된 새 테이블 "AnnualReviews"가 주어지면 HireDate
별로 정렬 된 리뷰가없는 모든 직원을 반환하는 쿼리를 작성하십시오.
중간 수준 위의 직원 테이블을 고려할 때 여전히 회사에서 근무하는 가장 많거나 가장 적은 직원의 차이를 계산하는 쿼리를 작성 하시겠습니까?
Hard Level
위의 직원 테이블을 감안할 때, 회사를 고용하거나 해고하지 않고 회사가 가장 긴 기간 (일)을 계산하는 쿼리를 작성하십시오.
더 어려운 수준
다시 같은 테이블을 사용하여 각 직원을 반환하고 각 행 / 직원에 대해 쿼리를 작성하여 재직 기간 중 언제라도 회사에서 근무한 최대 직원 수와 최대 도달 날짜를 포함합니다. 커서를 사용하지 않는 추가 포인트.
내가 물어 보곤 "왜 그리고 어떻게 당신은 SQL 쿼리에 사용되는 사용자로부터 주어진 입력 값을 소독해야합니까?"
이것은 SQL 주입을 방지하기 위해 필요하고, 대답 할 수있는이 SQL 구문과 명령 (예에 대한 좋은 지식을 필요로한다 SELECT
, UPDATE
, DROP
, DELETE
사람들은 쿼리를 깰 SQL 주석을 사용하여 우회 할 수있는 방법뿐만 아니라, 등) 및 악성 사용자가 원하는 것을 주입하십시오.
데이터베이스 프로그래머를위한 기술 테스트를 개발했습니다. 질문은 내가 아주 기본적인 것으로 생각한 것입니다. 주어진 테이블 구조에 대해 CREATE TABLE 문을 작성하십시오. 간단한 쿼리를 수행하십시오. 기타
SQL에서 전문가라고 불렀던 대부분의 구직자는 테스트를 시작했습니다. 한 사람은 비록 그가 수년간 SQL 개발자 였지만 GUI가 그를 위해 CREATE TABLE 문을 작성했기 때문에 결코 작성하지 않았다고 말했다.
다른 기술 테스트에서도 비슷한 경험을했습니다. Windows 지원 직원의 경우 작업은 "도메인 사용자 만들기", "프린터 추가", "파일에 대한 권한 변경"과 유사합니다. 대부분의 사람들은 특히 압력을 받고 그러한 작업을 수행 할 수 없습니다. 우리는 당신이 간단한 일을 할 수 있다면 아마도 당신은 아마 유능하다고 생각합니다.