我的公司需要聘用PHP开发人员,但是没有人在我公司中拥有PHP知识,因此我们很难测试PHP技能。如果是C / Java开发人员,我会请他编写《生命游戏》的快速实现,但是PHP是一种完全不同的语言。
我感兴趣地看到了这个测试:
http://vladalexa.com/scripts/php/test/test_php_skill.html
还有其他建议吗?
我的公司需要聘用PHP开发人员,但是没有人在我公司中拥有PHP知识,因此我们很难测试PHP技能。如果是C / Java开发人员,我会请他编写《生命游戏》的快速实现,但是PHP是一种完全不同的语言。
我感兴趣地看到了这个测试:
http://vladalexa.com/scripts/php/test/test_php_skill.html
还有其他建议吗?
Answers:
码
如果您确实要求应聘者编写代码,请确保:
如果您确实要求应聘者阅读代码,请确保:
您可以使用三段或更多段不同的代码,从较简单的代码开始,直到看到候选人轻松应对后,再前进至下一个代码。进行一些递归,以使事情变得有趣。
资源资源
要求候选人详细使用PHP资源的列表。书籍,博客,论坛,杂志等。这就是我目前的老板关于StackOverflow的发现。
如果候选人提到StackOverflow或Programmers,则不应询问或尝试找出其用户名。如果他们想宣传自己的声誉,他们的简历上将包含Careers 2.0链接。
构架
每个PHP开发人员都应该了解最受欢迎的PHP框架:
并至少流利其中之一。您可以为每个样本准备一些代码样本,并在他们告诉您最熟悉的样本之后,要求应试者阅读并解释它们。
调试和分析
我一直感觉到PHP开发人员缺乏调试和性能分析技能(也许只有与我合作过的PHP开发人员)。如果在讨论中您发现应聘者积极使用xdebug,请不要理会其余的面试,只雇用他们。;)
输入消毒
这个很重要。您可以从讨论为什么如此重要开始,然后要求实现它的最常用方法。该讨论将帮助您提出什么问题。
一些提示:
PHP的af
在这个精彩的讨论中,您会发现很多PHP的缺点。如果您要面试高级职位,则应明确询问其中一些内容。一些例子:
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实现生命游戏:)
如果他通过了,那么您可以进行更棘手的PHP问题,但是不要对此施加太大的重视。他可以在手册中阅读大部分内容,但看不懂,如果他过得很好,他会很快学会。PHP的构建很简单,因此,如果他是一个优秀的程序员,并且对PHP有一定的了解,那么他可能会追上。如果他知道一般的编程方法,那么学习PHP编程要比反向学习容易得多-如果您不了解单元测试的目的或如何摆脱XSS问题,那么了解PHP语法细节并不重要。
尽管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.
,很棒的建议。