대학원 개발자가 버퍼 오버플로를 수용 할 수 있습니까? 바를 너무 높게 설정하고 있습니까? 대학원 / 주니어 엔지니어의 예상 기능은 무엇입니까?
문맥:
우리는 현재 Linux에서 주로 C로 일하는 Junior Developer 직책을 모집하고 있습니다.
이 과정의 일부로 응시자는 C에서 여가 시간에 코드 테스트를 완료해야합니다.
지금까지 우리는 코드가 읽을 수 있고 어떤 경우에는 관용적이기는하지만 무제한 버퍼 쓰기로 인한 버퍼 오버플로 오류로 인해 두 후보를 거부했습니다.
[편집하다]:
- 오류 확인 된 생산 품질 코드를 명시 적으로 요청합니다.
- 우리는 응시자를위한 테스트 및 빌드 프레임 워크를 제공합니다
[최신 정보]:
이 스레드와 다른 개발자와 직접 대화 한 결과 코드 테스트 수행 방식과 채용 대상자를 대상으로 변경되었습니다.
우리는 버퍼 오버 플로우를 고치거나 이해할 수없는 후보가 우리가 수행하는 작업에 부적합하다는 것을 의미하며, 특히 우리가 편한 것보다 더 많은 멘토링을 할 것이라고 결정했습니다. 따라서 강력한 코드 샘플을 제출할 수없는 후보는 여전히 거부합니다.
그러나 채용 프로세스를보다 생산적으로 만들어 우리와 후보자 모두에게 도움이되는 몇 가지 조치를 마련했습니다.
특히:
- 우리는 생산 품질의 의미에 대한 명확한 설명과 입력 및 오류와 관련하여 코드가 강력하다는 경고를 통해 기대를보다 명확하게합니다.
- 이제 코드 테스트 설명에서 방어 프로그래밍 및 C 표준 라이브러리의 리소스에 후보를 연결합니다.
- 주니어 개발자 및 졸업생의 대상 고객을 변경하여 관련 경험이있는 사람을 대상으로했습니다.
- 제출 된 코드가 어떤 방식 으로든 실패하지만 다른 방식으로 승인 될 경우, 오류 조건을 유발하고 후보자가 실수를 바로 잡을 수있는 최소 테스트 사례를 제공합니다 (다른 이유로 코드가 거부되지 않는 한). 또한 적절한 경우 문제가있는 라인 / 기능을 지적 할 것입니다.
- 테스트 자체의 목표는 프런트 엔드 필터에서 후보자에 대한 더 나은 그림을 만들 수있는 기회로 약간 변경되었습니다. 특히 전화 토론에 도움이됩니다. 즉, 우리는 여전히 코드만을 기반으로 거부 할 의향이 있습니다.
[Update 2015-07-09] : Nujob의 Andy Davis는 응시자의 관점에서 코드 테스트를 사용하는 데 흥미롭고 관련있는 기사를 작성했으며이 기사를 살펴볼 가치가 있습니다. 여기에서 찾으 십시오 .