今天偶然在知乎上看到一个问题:“怎样面试一个PHP工程师?”,感觉这个问题在广大的PHPER里面有点用途,就稍微整理一下,贴上原文的连接:http://www.zhihu.com/question/19605013 我挑选其中几个相对来说比较有用的答案: 一:来自flamingtop知易行难 问一些日常的正常的PHP问题,主要是考察应聘者的认知:

  • 一个包含中英文的字符串如何获得它的自然长度(看看ta是否有encoding的知识和意识)
  • 问一问什么是ORM,有时候会问这个词的英文全称是什么,问问ta对于ORM有什么个人的看法?(看看ta学习细不细,有没有技术判断,PHP开发人员应该知道什么时候使用ORM)
  • 问一问假如ta要自己去实现一个framework,ta会怎么设计。(看看ta对代码架构的理解,对MVC的理解)
  • 问一问framework设计里的url dispatcher他会怎么考虑。(HTTP知识)
  • 问一问ta对框架本身的看法
  • 了解一下ta对Design Pattern的认知,比如Singleton,Observer,Factory等常用的设计模式,问一问ta对设计模式本身的看法。
  • 问两三个数据库设计的问题
  • 问几个前端的问题,哪怕ta的职位是PHP开发人员,好的PHP人员不可能不了解前端,而且很可能很了解前端
  • 问一问ta对noSQL的了解情况(对与noSQL的认识是和传统Relational DB的认知是分不开的)
  • 问一问ta碰到问题时候会如何去寻找答案
  • 问一问ta习惯使用哪一个搜索引擎(如果是GOOGLE.COM就有加分)
  • 问一问ta最近看的书
  • 问一问ta的职业规划,喜欢做什么,对工作环境有什么要求

别出生僻的题,别为难人家,更不要变相的侮辱人家,正常交流为主,你要的是一个正常的人,优秀不优秀就看你的眼光和运气了。 很多公司的技术人员招聘会刻意追求刺激的问题,比如很著名的微软的“下水道的盖子为什么是圆的”,不是说这些考察毫无道理,但更多的是一种“marketing”的手段。 二:来自阿权服务器运维/网站编程 | 阿权的书房 基本技术了解

  • 数据库的基本感觉,如何优化
  • 熟悉的框架,MVC的理解,对象
  • 代码安全因素
  • 缓存技术的了解,memcached等
  • 高访问量的解决方式
  • 平时解决问题的方法

技术积累经验

  • 错误经验分享
  • 成功经验分享

对前台和服务器的了解程度

  • 基本脚本和ajax的使用
  • lamp环境的了解
  • linux服务器
  • svn方面

三:来自Roy Li本期推荐创业人物:郑道揆,网页游戏,三 第一过去让做一份面试题 看看做的情况 然后根据他简历上的情况和做的题过去问下他的基本情况 像之前团队有多少人 ,做的项目有多大规模 多少pv 在团队中自己是个什么位置之类的问题 看他怎么说 如果还想深入了解就问问有没有什么职业规划看看这人进取心和计划性怎么样 这是第一步 第二步就是专业知识的问答 如果是初级人员主要集中在编码和db的设计优化上 如果是三四年的中高级根据简历情况从 系统 编程 db cache 负载 大数据量 一路问下来根据回答情况决定聊的深浅 如果聊的不错 就开始第三步 给他介绍下这边公司情况,团队 项目 相关的东西 回答他想知道的一些提问 如果第二步答的实在太差这步就可以省略 下一步就是让公司高层来谈待遇了 如果谈的妥就ok 谈不妥就算吧 四:来自许春照PHP资深人士,现任普派技术主管 前端: Doctype的作用。 如何隐藏超出对象部分的内容。 Name,ID有什么区别。 怎么使用jq,jq如果要是和其他类库冲突怎么办? charset=utf-8一般写在html什么位置? 客户端的对象资源缓存问题。 如何隐藏一个对象。 Js url怎么传递中文? http的header里面有哪些东西? 习惯使用什么工具作为前端调试? 举例说说IE和其他浏览器几个不兼容的地方。 Ajax的使用。 会不会SEO PHP PHP有什么东西可以提高运行效率的。 PHP如何防止注入 会使用哪些模板 如何防止一些关键php页面被下载 会不会memcached 如何防止XSS攻击? 正则表达式 Mysql 哪几种类型的存储引擎,各有什么优缺点 平时写sql语句要注意些什么 你认为的一般性系统瓶颈出现在哪些地方?缓存,数据库,php,前台。 如何优化他们。 额外: SEO,网站分析,用户体验。 总结:其它方面就是一些比较大家都懂得道理,展示作品啦什么的。 在这里有一篇文章要推荐:叫做“不聘用没有任何成就的人”。