우리 회사는 PHP 개발자를 고용해야하지만 회사에 PHP 지식이있는 사람은 없으며 PHP 기술을 테스트하기가 어렵습니다. C / Java 개발자라면 Game of Life의 빠른 구현을 작성하도록 요청하지만 PHP는 완전히 다른 언어입니다.
이 테스트를 흥미롭게 보았습니다.
http://vladalexa.com/scripts/php/test/test_php_skill.html
다른 사람이 더 제안이 있습니까?
우리 회사는 PHP 개발자를 고용해야하지만 회사에 PHP 지식이있는 사람은 없으며 PHP 기술을 테스트하기가 어렵습니다. C / Java 개발자라면 Game of Life의 빠른 구현을 작성하도록 요청하지만 PHP는 완전히 다른 언어입니다.
이 테스트를 흥미롭게 보았습니다.
http://vladalexa.com/scripts/php/test/test_php_skill.html
다른 사람이 더 제안이 있습니까?
답변:
암호
응시자에게 코드 작성을 요청하는 경우 다음을 확인하십시오.
응시자에게 코드를 읽도록 요청하면 다음을 확인하십시오.
3 개 이상의 서로 다른 코드 조각을 사용할 수 있으며 더 간단한 코드부터 시작하여 후보자가 쉽게 대처할 수있는 경우에만 다음 코드로 넘어갈 수 있습니다. 재귀를 던져서 물건을 꾸미십시오.
자원
응시자가 사용하는 자세한 PHP 리소스 목록을 요청하십시오. 책, 블로그, 포럼, 잡지 등 내 현재 고용주가 StackOverflow 에 대해 알게 된 방법 입니다.
응시자가 StackOverflow 또는 프로그래머를 언급 한 경우, 사용자 이름을 묻거나 찾으려고 시도해서는 안됩니다. 그들이 자신의 평판을 알리고 싶다면 이력서에 Careers 2.0 링크를 포함했을 것 입니다.
프레임 워크
모든 PHP 개발자는 가장 널리 사용되는 PHP 프레임 워크를 알고 있어야합니다.
그들 중 적어도 하나에 유창합니다. 각각에 대해 몇 가지 코드 샘플을 준비 할 수 있으며, 후보자가 더 친숙한 것을 말한 후이를 읽고 설명하도록 요청할 수 있습니다.
디버깅 및 프로파일 링
필자는 항상 PHP 개발자가 디버깅 및 프로파일 링 기술이 부족하다고 느꼈습니다 (아마도 내가 작업 한 PHP 개발자 만). 토론 중에 응시자가 적극적으로 xdebug를 사용하고 있음을 알게 되면 나머지 인터뷰에 신경 쓰지 말고 그냥 고용하십시오. ;)
입력 소독
이것은 중요합니다. 왜 중요한지에 대한 토론부터 시작하여 가장 일반적인 방법을 요구할 수 있습니다. 이 토론 은 무엇을 물어 보는 데 도움 이 될 것입니다.
몇 가지 힌트 :
PHP 스나 푸스
이 훌륭한 토론 에서 많은 PHP snafus를 찾을 수 있습니다 . 고위 직책에 대한 인터뷰를하는 경우, 그 중 일부에 대해 명확하게 질문해야합니다. 몇 가지 예 :
문자열에서 PHP의 숫자 값 처리 :
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
System.out.print("hello");
PHP에서 문자열은 함수 포인터만큼 좋습니다.
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
단위 테스트
더 말할 필요가 있습니까?
결론
훌륭한 PHP 개발자는 다양한 기술과 재능을 결합해야합니다.
목록은 계속 이어집니다. 면접의 특정 요구 사항에 맞게 인터뷰를 조정하십시오. 좋은 개발자 만 고용하고 싶지 않고 즉시 필요한 일을 잘하는 훌륭한 개발자를 고용하고 싶지는 않습니다.
연결 한 테스트는 흥미롭고 Yannis Rizos의 답변 은 훌륭하지만 중요한 것은 이것입니다.
좋은 개발자가 필요하면 PHP 개발자를 찾지 마십시오. PHP를 잘 알고있는 훌륭한 개발자를 찾으십시오. 즉, 인터뷰의 적어도 절반은 PHP 구문이나 PHP 함수와 관련이없는 질문을해야합니다.
MVC, AJAX, HTTP 작동 방식, REST 작동 방식, SQL 조인 작동 방식, 일부 데이터 구조, 일부 성능 기본 (측정 방법, 개선 방법), 기본 테스트, 보안 기본 (XSS, XSRF, 주입, 방어 방법), 일반적인 PHP 도메인에 적용되는 기본 프로그래밍 기술 지식 (웹, 네트워킹, 데이터 변환 등)
그가 그것에 능숙하다면 간단한 코드를 작성하도록 요청하고, 텍스트에서 행이 많은 모음이있는 단어를 찾거나 텍스트에서 각 단어를 뒤집거나 두 개를 곱하는 것과 같이 오래 걸리지 않아야 할 쉬운 작업을 선택하십시오. 행렬. 원하는 경우 PHP로 Game of Life를 구현하도록 요청할 수도 있습니다. :)
그가 그것을 통과하면, 당신은 더 까다로운 PHP 질문으로 진행할 수 있지만 이것에 너무 많은 무게를 넣지 마십시오. 그는 매뉴얼에서 대부분의 내용을 읽을 수 있으며 읽을 수없는 내용은 잘하면 아주 빨리 배울 수 있습니다. PHP는 단순하게 만들어 졌으므로, 훌륭한 프로그래머이고 PHP에 대한 실무 지식이 있다면 아마도 따라 잡을 수있을 것입니다. 그가 일반적인 프로그래밍 방법을 알고 있다면 PHP에서 프로그래밍하는 방법을 배우는 것이 역순보다 쉽습니다. PHP 구문을 이해하는 것은 단위 테스트가 무엇인지 이해하지 못하거나 XSS 문제를 제거하는 방법을 이해하지 못하는 경우 중요하지 않습니다.
Yannis Rizos의 대답 은 좋은 것입니다-나는 그 시험을 통과하지 못했으며 그 대답을 내 PHP 절단을 향상시키는 데 집중할 수있는 곳으로 결정할 수 있다는 것을 알고 있습니다. 인터뷰 과정에 PHP를 알고있는 친구. 이전 답변의 모든 질문은 훌륭하지만 도메인 지식이 없으면 답변의 품질을 평가하기가 어렵습니다.
즉, 다른 사람들이 말한 것처럼 일반적인 프로그래밍 기능과 팀 구성은 언어 별 지식보다 더 중요 할 수 있습니다.
I think it would be worth your while to find a programming buddy who knows PHP to sit in on the interview process.
, 큰 제안.