인터뷰에서 PHP 기술을 어떻게 테스트 할 수 있습니까? [닫은]


58

우리 회사는 PHP 개발자를 고용해야하지만 회사에 PHP 지식이있는 사람은 없으며 PHP 기술을 테스트하기가 어렵습니다. C / Java 개발자라면 Game of Life의 빠른 구현을 작성하도록 요청하지만 PHP는 완전히 다른 언어입니다.

이 테스트를 흥미롭게 보았습니다.

http://vladalexa.com/scripts/php/test/test_php_skill.html

다른 사람이 더 제안이 있습니까?


3
흥미로운 테스트는 SQL 주입을 다루지 않지만 확실히 다룰 것입니다. 테스트가 PHP가 변수를 처리하는 방법에 대한 친숙 함을 결정하는 능력을 테스트하는 좋은 방법이라고 생각합니다.
벤 Brocka

6
무엇을 하든지 표준 함수 이름의 철자에 대해 질문하지 마십시오. PHP 함수 이름이 너무 일치하지 않습니다.
Chris C


16
그들은, 팀 작업, 프로그램 등 웹 보안을 이해할 수 있다면 나는 그들의 PHP 갈비에 대해 점점 더 걱정 것
피터 Loron

12
귀사에서 PHP를 잘 아는 사람이 없으면 기술 테스트 서비스를 사용하는 것이 가장 좋습니다. http://tests4geeks.com/test/php-mysql- 나는 이것을 좋아한다. 그리고 결과가 좋으면 PHP 코드를 작성하도록 요청할 수 있습니다. 예를 들어, 데이터베이스에 학생과 과목이 있습니다. 감독이 표에서 마크를 편집하는 HTML 양식을 작성해달라고 요청하십시오 (학생은 왼쪽 열에 있고 제목은 맨 위에 있으며 마크는 교차점에 있습니다).
Joseph

답변:


71

암호

  • 응시자에게 코드 작성 요청
  • 응시자에게 코드를 읽도록 요청하십시오

응시자에게 코드 작성을 요청하는 경우 다음을 확인하십시오.

  • 코드는 사소하지 않지만 작습니다.
  • 매뉴얼과 인터넷에 액세스 할 수 있습니다

응시자에게 코드를 읽도록 요청하면 다음을 확인하십시오.

  • 코드에 사소한 오류가 있습니다
  • 코드에 사소한 오류가 있습니다
  • 코드는 잘 작동하지만 쉽게 최적화 할 수 있습니다

3 개 이상의 서로 다른 코드 조각을 사용할 수 있으며 더 간단한 코드부터 시작하여 후보자가 쉽게 대처할 수있는 경우에만 다음 코드로 넘어갈 수 있습니다. 재귀를 던져서 물건을 꾸미십시오.

자원

응시자가 사용하는 자세한 PHP 리소스 목록을 요청하십시오. 책, 블로그, 포럼, 잡지 등 내 현재 고용주가 StackOverflow 에 대해 알게 된 방법 입니다.

응시자가 StackOverflow 또는 프로그래머를 언급 한 경우, 사용자 이름을 묻거나 찾으려고 시도해서는 안됩니다. 그들이 자신의 평판을 알리고 싶다면 이력서에 Careers 2.0 링크를 포함했을 것 입니다.

프레임 워크

모든 PHP 개발자는 가장 널리 사용되는 PHP 프레임 워크를 알고 있어야합니다.

그들 중 적어도 하나에 유창합니다. 각각에 대해 몇 가지 코드 샘플을 준비 할 수 있으며, 후보자가 더 친숙한 것을 말한 후이를 읽고 설명하도록 요청할 수 있습니다.

디버깅 및 프로파일 링

필자는 항상 PHP 개발자가 디버깅 및 프로파일 링 기술이 부족하다고 느꼈습니다 (아마도 내가 작업 한 PHP 개발자 만). 토론 중에 응시자가 적극적으로 xdebug를 사용하고 있음을 알게 되면 나머지 인터뷰에 신경 쓰지 말고 그냥 고용하십시오. ;)

입력 소독

이것은 중요합니다. 왜 중요한지에 대한 토론부터 시작하여 가장 일반적인 방법을 요구할 수 있습니다. 이 토론 은 무엇을 물어 보는 데 도움 이 될 것입니다.

몇 가지 힌트 :

PHP 스나 푸스

훌륭한 토론 에서 많은 PHP snafus를 찾을 수 있습니다 . 고위 직책에 대한 인터뷰를하는 경우, 그 중 일부에 대해 명확하게 질문해야합니다. 몇 가지 예 :

문자열에서 PHP의 숫자 값 처리 :

"01a4" != "001a4" // true
"01e4" == "001e4" // also true

유효한 PHP 코드 :

System.out.print("hello");

PHP에서 문자열은 함수 포인터만큼 좋습니다.

$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"   

단위 테스트

더 말할 필요가 있습니까?

결론

훌륭한 PHP 개발자는 다양한 기술과 재능을 결합해야합니다.

  • HTTP에 대한 이해
  • Apache 구성에 대한 이해 (회사에서 다른 웹 서버를 사용하는 경우에도)
  • JavaScript에 대한 최소한의 기본 이해
  • HTML / CSS에 대한 이해

목록은 계속 이어집니다. 면접의 특정 요구 사항에 맞게 인터뷰를 조정하십시오. 좋은 개발자 만 고용하고 싶지 않고 즉시 필요한 일을 잘하는 훌륭한 개발자를 고용하고 싶지는 않습니다.


22
전반적으로 좋은 답변이지만 'frameworks'부분과 'basic performance'부분에 동의하지 않습니다. 특정 프레임 워크를 알고 있는지 여부는 프로그래머로서의 자질에 대해 많이 말하지 않습니다. 성능 부분에 대해 :이 수준에서 최적화하는 경우, 우선 PHP를 사용하지 않아야합니다. 나는 당신이 매일 수십 번 열거 한 대안 중에서 선택하지만 항상 성능이 아닌 가독성과 기능에 기초합니다. 이러한 성능 질문에 대한 정답은 "대부분 중요하지 않습니다."입니다.
tdammers

1
@YannisRizos : 팀에 쉽게 통합 할 수는 있지만 OP 회사에서는 이러한 인기있는 프레임 워크 중 하나를 사용한다고 가정하고 있지만 프레임 워크를 모르면 아무 것도 입증 할 수 없습니다. 아마도 당신은 작업 할 자신의 능력을 테스트하는 방법으로이 부분을 의미 프레임 워크보다는와 프레임 워크를? (필요한 경우 : 회사에서 자체 개발 한 프레임 워크를 사용합니다.)
Purefan

2
@Petah 특히 인터뷰 단계에서는 전혀 이해가되지 않으며 인터뷰 중에 그러한 정보를 공개하도록 요구하는 회사에서 일하는 것을 피하고 싶습니다. "무언가 숨기고있는"모든 추론은 어리석은 일이다. 나는 자유 시간을 어떻게 쓰는지 아는 고용주를 신경 쓰지 않는다. 내 프로그래머 계정을 스스로 공개하고
싶다면

1
(사악한 나치 모드와 25 %에게 그들의 시간의 -35 %를 지출하고자하는 것) @Petah 잘 나는 정직하게 미래의 고용주가 활동 내 프로그래머를 통해 내 성격을 알게하려고하지 않았 으면
야 니스

1
프레임 워크에 동의하지 않습니다. 훌륭하고 현대적인 방법은 전체 프레임 워크를 사용하는 대신 필요한 작성기를 사용하여 프레임 워크의 해당 구성 요소를 사용하는 것입니다. 사실, JS 세계에서도 마찬가지입니다.
John Hunt

44

연결 한 테스트는 흥미롭고 Yannis Rizos의 답변 은 훌륭하지만 중요한 것은 이것입니다.

좋은 개발자가 필요하면 PHP 개발자를 찾지 마십시오. PHP를 잘 알고있는 훌륭한 개발자를 찾으십시오. 즉, 인터뷰의 적어도 절반은 PHP 구문이나 PHP 함수와 관련이없는 질문을해야합니다.

MVC, AJAX, HTTP 작동 방식, REST 작동 방식, SQL 조인 작동 방식, 일부 데이터 구조, 일부 성능 기본 (측정 방법, 개선 방법), 기본 테스트, 보안 기본 (XSS, XSRF, 주입, 방어 방법), 일반적인 PHP 도메인에 적용되는 기본 프로그래밍 기술 지식 (웹, 네트워킹, 데이터 변환 등)

그가 그것에 능숙하다면 간단한 코드를 작성하도록 요청하고, 텍스트에서 행이 많은 모음이있는 단어를 찾거나 텍스트에서 각 단어를 뒤집거나 두 개를 곱하는 것과 같이 오래 걸리지 않아야 할 쉬운 작업을 선택하십시오. 행렬. 원하는 경우 PHP로 Game of Life를 구현하도록 요청할 수도 있습니다. :)

그가 그것을 통과하면, 당신은 더 까다로운 PHP 질문으로 진행할 수 있지만 이것에 너무 많은 무게를 넣지 마십시오. 그는 매뉴얼에서 대부분의 내용을 읽을 수 있으며 읽을 수없는 내용은 잘하면 아주 빨리 배울 수 있습니다. PHP는 단순하게 만들어 졌으므로, 훌륭한 프로그래머이고 PHP에 대한 실무 지식이 있다면 아마도 따라 잡을 수있을 것입니다. 그가 일반적인 프로그래밍 방법을 알고 있다면 PHP에서 프로그래밍하는 방법을 배우는 것이 역순보다 쉽습니다. PHP 구문을 이해하는 것은 단위 테스트가 무엇인지 이해하지 못하거나 XSS 문제를 제거하는 방법을 이해하지 못하는 경우 중요하지 않습니다.


13

Yannis Rizos의 대답 은 좋은 것입니다-나는 그 시험을 통과하지 못했으며 그 대답을 내 PHP 절단을 향상시키는 데 집중할 수있는 곳으로 결정할 수 있다는 것을 알고 있습니다. 인터뷰 과정에 PHP를 알고있는 친구. 이전 답변의 모든 질문은 훌륭하지만 도메인 지식이 없으면 답변의 품질을 평가하기가 어렵습니다.

즉, 다른 사람들이 말한 것처럼 일반적인 프로그래밍 기능과 팀 구성은 언어 별 지식보다 더 중요 할 수 있습니다.


5
에 대한 +1 I think it would be worth your while to find a programming buddy who knows PHP to sit in on the interview process., 큰 제안.
yannis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.