사전 스크리닝 코딩 테스트-얼마 동안 합리적입니까? [닫은]


22

편집하다

주제에 대해 많은 양의 사고와 자기 반성을 한 후,이 질문에서 제기 한 대부분의 문제는 전문적인 관점이 아니라 개인적 관점에서만 발생한다는 것을 깨달았습니다. 따라서 중재자는 제가 이야기하려고했던 문제의 개인적이고 주관적인 성격으로 인해이 질문을 보류했습니다. 나는 질문을 되풀이하는 것에 대해 생각하고 있었지만 질문을 좀 더 객관적으로 표현할 수있는 가능한 방법을 찾을 수 없었기 때문에 어떤 종류의 증거 또는 참조로 답변을 뒷받침 할 수있는 토론의 주제가 될 수 있습니다.

여전히 관심이있는 사람들을 위해이 질문에서 나온 토론을 요약하려고합니다.

  • 4 시간의 사전 인터뷰, 오프 사이트 프로그래밍 테스트는 일반적이지 않지만
  • 많은 사람들이 일부 회사에 대해 당신은 그 모든 것보다 훨씬 더 오랫동안 인터뷰를 할 것이라고 지적했습니다.
  • 우리가 시험을 치르는 지 여부는 우리의 개인적인 결정이며, 우리의 상황과 회사에 고용 될 때의 이점을 근거로이를 평가할 수 있습니다
  • 모든 회사는 사람마다 다르며 회사의 요구 또는 상황에 맞는 경우 더 긴 사전 인터뷰 오프 사이트 테스트를 수행하는 것이 합리적 일 수 있습니다.

나는 원래의 질문이 나로부터 4 시간을 기대할 수있는 합리적인 방법과 문제를 제기 하는 윤리적 방법에 대해 솔루션 (코드가 아니라 디자인)을 회사에 사용할 수 있기를 원했습니다. 이제 알 수 있듯이 stackexchange와 같은 질문 답변 유형 커뮤니티 도구를 사용하는 대신 포럼 토론에서 두 가지 질문을 모두 (최선 적으로) 탐색 할 수 있습니다.

그러나 귀하의 모든 답변이 가치 있고 공유해 주셔서 감사합니다.

오리지널 포스트

여러 직책에 대해 인터뷰하고 있는데 대부분 전화 인터뷰 나 현장 인터뷰를하기 전에 코딩 테스트를 제출해야하는 사전 심사 단계가 있습니다. 나는이 아이디어에 꽤 익숙해졌으며, 회사가 내가이 작업을 스스로 수행 할 수있는 작업 유형을 확인할 수 있도록하기를 기대하는 것이 합리적이라는 것을 알게되었다.

일반적으로 필자의 경험은 이러한 유형의 코딩 연습은 대부분 작은 프로그래밍 작업이라는 것입니다. 약간의 논리를 수행하고, 작은 알고리즘을 구현하고, 파일을 열고, 데이터를 읽고 쓸 수 있습니다. 가장 간단한 작업조차도 로직, 테스트 가능한 구성 요소 등을 분리하여 후보자가 코딩하는 방법, 일반적으로 회사가 채우려는 직업 유형에 얼마나 잘 준비되어 있는지 확인할 수 있습니다.

최근에 나는 운동에 대한 전체 페이지의 긴 설명으로 코딩 테스트를 보낸 회사를 방문하여 비즈니스의 실제 문제를 해결할 것을 요청했습니다. (회사를 보호하기 위해 구체적인 사항은 말하고 싶지 않지만 테스트는 그들이하는 일에 대한 내용이 많았습니다). 그들은 구현하기 위해 매우 복잡한 시스템을 설명하고 실제 데이터를 포함했으며 결국 코딩 테스트는 4 시간 이상 걸리지 않아야한다는 결론을 내 렸습니다 .

회사가 나에게 인사하기 전에도 자유 시간에 더미 과제를 위해 4 시간을 보내도록 기대하는 것이 합리적입니까? (채용자가 나에게 코딩 테스트를 보냈다)

내가 틀리지 말고, 새로운 직업과 새로운 도전을 찾도록 동기를 부여 받았지만, 대부분의 회사는 그러한 작업에 최대 1-2 시간을 소비 할 것을 기대하며, 그러한 작업은 항상 덜 복잡했습니다.

이 회사의 결론으로 ​​내가 얻은 것은 다음 중 하나입니다.

1) 내 동기 부여가 좋지 않으며 아마도 다른 사람을 찾고있을 것입니다.

2) 그들은 장래의 직원들에게 그런 긴 코딩 테스트가 그들에게 인사하지 않고도 그렇게 할 것이라고 기대하지 않습니다.

3) 그들은 단지 그들이 일하는 문제 중 하나를 포기하고 무료로 해결할 수있는 열정적 인 젊은 친구가 있는지 확인하고 싶습니다 (다시 말하지 마십시오. 음모 이론가는 아니지만 그런 이야기를 들었다 ...)

기업이 후보자들과 대화하지 않고 더미 코딩 테스트에 시간을 할애 할 것이라고 생각하는 것이 얼마나 합리적이라고 생각하십니까? 일반적으로 어떤 경험이 있습니까?



귀하의 의견은 공정합니다. 그러나 사전 심사 업무에 4 시간을 소비하는 것이 얼마나 합리적인지에 대한 귀하의 생각에 관심이 있습니다.
Aston

1
시장이 무엇을 할 것인지에 의해 합리성이 정의되는 경제적 인 제안입니다. 상황에 따라 변동될 것입니다. 그것이 직원의 시장이라면 (즉, 후보자가 적은 후보를 따르는 많은 회사들), 그것이 고용주의 시장 일 때보 다 그러한 종류의 일에 대한 내성이 줄어 듭니다. 나는 지금의 입장에 대해 인터뷰하는데 총 12 시간을 보냈다. 10 년 후, 그들은 옳았 고, 매 순간마다 투자 할 가치가있었습니다.
Blrfl

3
주요 소프트웨어 회사에서 인터뷰 한 적이있는 경우, 종종 자신의 위치 (10 시간의 여행 시간)로 비행 한 다음 프로그래밍 / 디자인 / 인터뷰. 문제는 당신이 그 영향력을 요구하는 회사를인지하고 있는지 아닌지의 여부입니다.
Steven Evers

1
'주요 소프트웨어 회사'에 대한 나의 경험은 첫 번째 단계는 1 시간의 전화 인터뷰였으며, 그것은 공평했습니다. 내가 여기서 누락 된 것은 그들이 아무런 입력없이 4 시간의 근무 시간을 기대한다는 것입니다. 나는 조금 더 생각을했고 시간이 많지 않을 수도 있고 누군가를 좋아한다면 4 시간 동안 그를 고용 할 것이라고 생각했습니다. 이 경우 그들의 접근 방식을 이해할 수 있습니다 (이것은 Dunk의 답변과 관련이 있습니다).
Aston

답변:


24

다른 답변은 아직 멀지 않았으므로 회사 측을 잠시 생각해 보겠습니다. 자격을 완전히 알 수없는 사람들로부터 4 시간 동안의 코딩 테스트 제출을 통해 사용 가능한 코드 기반을 구축하는 것은 거의 불가능합니다. 충분히 상세한 사양을 작성하고 응답을 검토 한 후 나머지 코드와 통합하는 데 4 시간 이상 소요됩니다. 가장 유용한 엔터프라이즈 급 소프트웨어 프로젝트는 말할 것도없고 수천 시간의 인력이 필요합니다. 몇 주 동안의 처리 시간과 함께 4 시간 단위로 나누는 사업을하는 것은 솔직히 말도 안됩니다.

비즈니스의 실제 문제를 해결하는 것은 누군가가 비즈니스의 실제 문제를 잘 해결할 수 있는지를 결정하는 가장 좋은 방법 중 하나입니다. 인터뷰에서이 작업을 자주 수행하지만 (4 시간 분량의 코드가 아닌 일반적인 디자인 원칙을 요구하지만) 매번 문제가 해결되었습니다. 아직 해결하지 않은 경우 테스트에서 거의 모든 검증 가치를 잃게됩니다.

4 시간의 시험이 귀하에게 가치가 있는지 여부는 개인적인 결정입니다. 나는 항상 정규직을 찾는 것을 정규직으로 대우하도록 배웠습니다. 실직 상태이거나 실직 상태 인 상태에서 하루 8 시간 동안 일자리를 찾는 데 4 시간의 코딩 테스트는 아무 것도 없습니다. 나는 녹슨 언어를 칫솔질하고, 포트폴리오 프로그램을 작성하고, 특정 직책에 대한 이력서를 커스터마이즈하는 것과 같은 작업에서 그 이상을 보냈습니다.

다른 한편으로, 최고의 일꾼 중 일부는 이미 잘 고용되어 있으며 우연히 더 나은 기회를 찾고 있습니다. 그 상황에 처한 사람들은 기회가 별빛이 아닌 한 4 시간 동안 진행된 리가 마롤을 거치지 않을 것입니다. 그러나 그것은 당신의 문제가 아니라 회사의 문제입니다.

직원에 대한 회사의 태도에 대한 의미를 이해하는 한, 자격을 갖춘 지원자를 다루는 데 지칠 것 같지 않은 한, 다른 방법으로 말할 수 있다고 생각하지 않습니다. 나쁜 것과 좋은 것 중 일부.


또한 OP는 테스트에 4 시간 이상 걸리지 않아야한다고 밝혔다. 시험에 응시자가 4 시간 미만인 경우, 아마 어쨌든 관심이 없을 것이라고 생각합니다.
Tombatron

답변 해주셔서 감사합니다. 어쩌면 나는 이런 작업을 쉽게 할 여유가 4 시간도없는 두 번째 유형일 것입니다. 그렇습니다. 실제로 문제를 제기하는 것은 당신이 언급 한 이유로 유익하며 TV 회사와 인터뷰 할 때 채널 구독 계산기를 만들어야하고 FX 회사의 경우 요약해야 할 때와 같은 작업을 수행했습니다. CSV 파일의 통화를 사용하는 것이 좋습니다. 그러나이 회사는 저의 기대에 조금 못 미쳤습니다. 어쩌면 나를 위해
Aston

3
나는 이것이 약간 단순하다고 생각합니다. 모든 솔루션을 다른 시스템과 통합 할 필요는 없습니다. 예를 들어 데이터 파싱 프로세스 일 수 있습니다. 회사에서 직접 코드를 사용하지는 않지만 디자인 을 잘 사용할 수 있습니다. 테스트 프로세스는 설계 상 피상적이어야하며, 한 시간 이상이 너무 많다고 생각합니다.
Kirk Broadhurst

2
구직 활동을 풀 타임 직업으로 취급하는 것은 실직 상태 인 경우에만 합리적입니다. 당신이 일하고 있지만 시장을 테스트하여 더 나은 것을 사용할 수 있는지 확인하는 경우, 단기간을 제외하고는 그 정도의 노력이 실용적이지 않습니다.
Dan Neely

11

아니요, 일반적이지 않은 이유는 무엇입니까? 무료로 문제를 해결하고 있습니까? (4 시간)

프로그래밍 테스트의 경우 1 시간이 일반적입니다. 과거에 우리의 프로그래밍 테스트는 4 가지 질문이었습니다. 처음 3 개의 질문은 1/2 시간, 마지막 1 시간 30 분이 걸렸습니다. 우리는 또한 기존 고용인들에게 테스트를 실시하여 예상 기간 내에 있었고 테스트가 공정하고 적절하게 조정되었는지 확인했습니다.

처음 몇 개의 질문은 프로그래밍 할 수없는 사람들을 제거하기위한 "Fizz Buzz"유형이었습니다. 그들은 점점 어려워졌습니다. 마지막 질문은 문제 해결 운동이었습니다. 일반적으로 우리는 수백 줄 (전체)로 작성되는 코드의 양을 제한하려고 시도했으며 영리한 트릭을 요구하지 않습니다. 우리는 또한 오류 처리, 스타일, 구문, 구성 등에 대해 사람들을 평가했습니다. 질문은 비즈니스와 관련이 아니라 현재 플랫폼이 작성된 기술과 기술과 관련이 있습니다.

일반적으로, 좋은 후보자들은 할당 된 것보다 적은 시간 안에 완료되었습니다. 때때로 사람들은 퀴즈를 푸는 데 따른 스트레스로 인해 허용되는 추가 시간을 요청했지만 특정 한도 내에서 모든 사람을 제한했습니다. 퀴즈는 현재 개발 환경에 있었고 사람들은 참조 정보를 얻기 위해 인터넷에 액세스 할 수있었습니다. 우리는 또한 모든 후보자들에게 퀴즈에 대한 기대를 극복했습니다.

한 번에 코드 기반 (실제)을 퀴즈에 통합하는 것에 대해 논의했지만 결국 코드가 복사 / 도난당하는 등의 우려로 인해 그 사실을 버렸습니다. 결국 우리는 방금 quiz.sln고립 된 개발 시스템에서 별도의 시스템을 사용했습니다.

마지막으로, 우리는 공정한 시험을 내리기가 어려웠지만 너무 어렵지도 쉽지 않았습니다. 우리는 항상 응시자들에게 퀴즈를 풀고 나중의 응시자들을 위해 퀴즈를 수정 한 후 피드백을 얻었습니다.


답변 해주셔서 감사합니다. 당신의 방법은 공정한 것 같습니다. 나는 쉬운 질문과 어려운 질문에 대한 아이디어를 좋아한다. 왜냐하면 후보자는 더 이상의 설명 없이도 그들이 잘하고 있는지 잘 알 수 있기 때문이다. 3 가지 쉬운 작업을 수행하고 마지막 작업을 수행 할 수 없다고 가정 해 보겠습니다. 실패한 것 같지는 않지만 개선이 필요하다는 것도 인정할 수 있습니다. 실제로 저를 귀찮게했던 것은 회사가 나와 이야기하기 전에 4 시간 동안 현장 밖에서 기대하는 것입니다.
Aston

@Aston-또한 마지막 질문을 완료하지 않아도 자동으로 실격 처리되지 않습니다. 아마도 당신은 프로그래머로 고용되지 않고 다른 곳에서 고용되었을 것입니다. 경우에 따라 다른 직책 (지원, QA)을 위해 후보자를 고용하기도했습니다. 우리는 사람들이 먼저 인터뷰를하고 퀴즈를 보았습니다. 나는 먼저 퀴즈를 풀고 그 사람을 즉시 배제 할 수 있다고 생각하지만 잠재적으로 좋은 기술적이지만 프로그래밍이 아닌 후보자를 놓칠 수도 있습니다.
Jon Raynor

8

인터뷰에서 코딩 테스트는 어쨌든 엄청난 부담입니다. 아무도 일반적인 환경과 도구없이 압력을받는 가장 간단한 루틴을 제외하고는 아무것도 코딩하지 않으므로 결과가 가장 모호합니다.

내가 프로그래머의 능력을 실제로 테스트 한 것으로 밝혀진 것은 프로젝트 코드를 제공하고 검토하도록 요청하는 것입니다. 코드에 몇 가지 명백한 버그, 몇 가지 명백한 코드 문제 및 몇 가지 의심스러운 사례가있는 경우 실제로 잘 작동합니다. 좋은 코더는 그들 모두를 말해 줄 것이며, 왜 어떤 코드가 '잘못되지 않았지만 유지 보수를 용이하게하기 위해 더 잘 수행 될 수 있는지'에 대해 논의 할 것입니다. 가난한 프로그래머는 버그를 발견하고 멈출 것입니다.

30 분 이상 걸리는 시험을 기대하는 모든 직종은 기술에 대한 모호한 아이디어 이상을 제공하는 우수한 목표 시험을 수행하는 데 오랜 시간을 소비하지 않았습니다. (대부분의 회사는 인터뷰 전 준비 작업에 시간을 보내는 것이 매우 어렵다는 것을 알고 있습니다).

내가 당신처럼 시험을 받았다면, 나는 의사 코드로 답을 쓸 것입니다. 일반적인 작업 프로젝트에서 수행하는 전체 컴파일, 빌드 및 테스트 단계를 거치지 않고 코딩 및 디자인에 대한 나의 이해를 입증하기에 충분해야합니다.


1
확실하지 않으면 죄송하지만 면접 전에 실시되는 시험에 대해 언급하여 집에서 직접 할 수 있습니다.
Aston

1
그럼에도 불구하고 나는 어쨌든 의사 코드를 할 것입니다. 그들은 문제를 해결하는 방법에 대한 나의 생각을 원하거나 당신에게서 자유로운 일을 원합니다. 후자라면, 당신이 일하고 싶은 곳이 아닙니다.
gbjbaanb

@gbjbaa : 또는 더 가능성이 높은 시나리오는 그들이하는 일의 유형을보고 싶어한다는 것입니다. 그런 점에서 사소한 작업으로는 충분하지 않습니다. 의사 코드는 잘리지 않습니다. 또한 문제를 정의하고 검토하고 개선하고 승인하는 데 4 시간 이상이 걸렸을 것입니다. 그들이 물어 보는 것보다 적은 시간 안에 스스로 구현할 수 있다면, 왜 그들이 자유 근로를하고 있다고 생각하겠습니까? 일주일이나 2 주가 걸린다면 요점을 볼 수 있지만 4 시간이 걸렸습니까? 또한, 나는 생각을 잘 표현하고 문제 해결에 매우 나쁜 사람들을 너무 많이 인터뷰했습니다.
덩크

1
작업이 실제 상황에 너무 가깝다면 나는 항상 조금 의심합니다. 관리자가 똑똑하고 똑똑한 사람들로부터 특정 문제를 해결하는 방법에 대한 팁을 얻기 위해 인터뷰를 주선하는 이야기를 들었습니다. 그들이 스스로 그것을 해결하지는 않았지만, 다른 사람이 그것을 어떻게 해결할지 알고 싶어했습니다. 결국 그들은 누구를 고용하고 싶지 않았지만 그것은 다른 이야기입니다.
Aston

3

당신은 4 시간이 없을 수도 있지만, 그들의 회사에 더 관심이있는 사람은 확실히 그럴 것입니다. 나는 회사가 나에게 그 일만 미리하도록 요구 한 비슷한 일에 기초하여 본질적으로 고용되었다. 명확하고 이해하기 쉬운 코드 작성, 철저한 테스트 사례 및 이해하기 쉽고 일관된 설계 문서 작성은 이상입니다. 실제로 누군가가 그것을 보는 것은 사람들을 날려 버렸습니다. 어쨌든, 인터뷰에서 내가 말한 모든 사람들은 내가 한 일에 대해 칭찬했으며, 이미 마음을 다 잡았 기 때문에 인터뷰에서 아무도 감동하지 않아야한다고 느꼈습니다. 어리석은 일을해서 거절 할 이유를주지 않는 것은 저의 문제였습니다.

따라서 4 시간은 상당히 많은 시간을 투자한다는 데 동의하지만 작업의 규모가 충분하다는 것을 의미합니다. 실제 인터뷰 상황에서 할 수있는 것보다 훨씬 많은 양의 작품을 말할 수 있습니다.

참고로 : 최근 비슷한 것을 시도했지만 훨씬 작은 문제를 사용하여 결과에 만족하지 못했습니다. 작은 문제는 그 사람의 지식을 충분히 나타 내기 위해 사소한 것입니다. 또한 사소한 문제는 그 사람이 문제를 해결하는 데 필요한 몇 가지 트릭 / 세부 사항을 인식해야하는 경향이 있습니다. 따라서 사소한 일이기 때문에 너무 많은 사람의 시간을 소비하는 것과 실제 이익을 얻지 못하는 것 사이에는 약간의 균형이 있습니다. 4 시간의 과제는 아마도 후보자가 자신의 기술을 보여줄만큼 충분히 복잡하고 아무도 귀찮게하지 않을만큼의 시간이라고 생각합니다.


답변 해주셔서 감사합니다. 약간의 자기 반성, 귀하의 답변 및 회사에 초점을 두려는 시도 후에, 나는 이것이 그들의 관점에서 어떻게 합리적인지 알 수 있습니다. 어쩌면 그들의 프로세스는 그 정도일 것입니다. 4 시간의 일을하고 그들이 누군가를 초대하면 제안을합니다. 어쩌면 그들은 사람들이 작았지만 더 큰 임무를 수행하지 않았다는 나쁜 경험을했을 수도 있고, 좋은 후보자가되지 않은 사람들을 인터뷰하는 데 너무 많은 시간을 보냈을 수도 있습니다. 나는 아직도 4 시간을 너무 많이 생각하지만 그렇게 할 수도 있습니다.
Aston

1

한 시점에서 6 시간의 코딩 테스트를 받았습니다. 내가이 시험을했을 때 나는 상당히 높은 신뢰를 얻었을 것이다. 그것이 실현되는 동안, 나는 그 후속에 만족하는 모든 사람이 아니었다.

분명히 4 시간을 요구하는 많은 고용주를 갖는 것은 과도합니다. 테스트에서 그 사람이 찾고 있던 것은 코딩 스타일이었습니다. 내 것이 그의 것과 가장 가까워서 고용되었습니다. 이와 관련하여이 관점에서 문제를 살펴보십시오. 첫째, 어떤 경우에도 해결이 가치가있는 흥미로운 문제입니까? 결국, 당신은 가치있는 것을 배울 수 있습니다.

둘째, 시험에 '통과'할 수 있다면 고용되었다는 의미입니까? 이것이 분명하지 않으면 어쨌든 다른 이유가 있는지 결정해야합니다.

셋째, 그들은 '4 시간'이 걸리는 것으로 추정 할 수 있지만 다르게 찾을 수 있습니다. 그들은 이것이 얼마나 오래 걸리는지 알고 있습니까? 아마도 대답은 '아니오'입니다. 따라서 그들은 4 시간 안에 맞지 않을 때까지 4 시간 동안 테스트를 계속할 것입니다. 이 경우 시간을 낭비하고 있습니다. 가장 좋은 방법은 채용 관리자와 적극적으로 대화하고 4 시간 안에 멈춰서 가지고있는 것을 주어야하는지 또는 완료 될 때까지 계속하고 얼마나 오래 걸 렸는지 알려주는 것입니다. 요컨대, 이것에 싸인 문자 시험이있을 수 있으며, 단순히 그들의 용어로 그것을 받아들이려고 시도하면 경험이 없을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.