野路子PHP面试官的疑惑

         部门最近想招几个中级的PHP工程师,让我安排面试,因为说实在话,公司的薪资标准在业内不算是高的,我也就没想能招911,285等名牌大学的高材生了,培训班出来的,半路转行的,自学成才的都能接受,毕竟我自己呢,当年算是科班出身,不过也进过培训班,刚开始工作呢,也不是一开始就做IT,销售,中介,餐饮,服务行业都做过,后来才做的IT,所以也算是半路转行,说穿了,我自己就是个野路子的PHP开发员。

         可是面试了好几个PHP开发,每一个感觉让人满意的,而薪资要求一个比一个高,搞得我都开始要怀疑是不是自己已经跟不上这个潮流了,是属于要被拍死在沙滩上的前辈吗??

我先说说,我对初级,中级,高级PHP工程师的定义。

初级:

基本就是学校或者培训班刚出来,知识面主要在php的相关函数,基本的js,html语法,以及数据库的基本操作,其余方面都有一点了解。

中级:

          开发语言方面,已经熟练掌握1种php主流框架(tp,yii,lavarel,ci等),对MVC模型有自己的理解和分割方案,熟练掌握js的常规语法,熟练运用jquery框架,对一些常见的标准,或者交互方式足够了解。

          数据库方面:对一种数据库较为了解,对各种类型表的应用,以及对应的sql应用非常熟练,了解索引作用,并如何在sql中利用索引优化性能。

         服务器方面:常规来说,php都是部署在linux服务器上的,应该起码对一种linux系统较为熟悉,常见的centos,ubuntu上,能部署一个apache/nging+php+mysql的环境,非集成。了解apache/nging,php,mysql的配置中常见参数的作用。

         编码方面:应当对编码规范和风格有一定的了解,并对自己的编码有一定要求,能说出几点编码规范中的被应用较多的规范。svn,git中至少熟练使用一种。对自己最常用的php编辑器,足够熟练,知道如何在编辑器中配置集成svn或git,如何在编辑器中提现注释作用,如何利用编辑器功能自查基本错误,等等。

高级:

        基本已经不问php语言方面的问题了(说实在话,我是觉得没什么必要,因为php的语法太简单了,都回答出来了,也无助于加分),如有必要,就考一下编写PHP扩展的能力,不过大多数公司招高级PHP开发,基本都不是用来写PHP扩展的。

       对高级工程师来说,重点是方案设计能力(数据库的表结构设计,业务逻辑设计,基本架构设计),性能优化方面(包含数据库的性能优化,索引优化,程序的逻辑优化,语法优化,Apache/Nginx的优化),还有一些其他的相关能力,不过相对而言重要性低一点,有人问设计不是应该是项目经理或者架构师的工作吗?数据库性能优化不应该是DB管理员的事情吗?我的理解是,设计和性能优化是分层级的,项目有大有小,小项目并不等于就可以随意设计,也是需要遵循一定的设计规范的,这部分的工作应该在开发层面就直接解决掉,这就是高级工程师的能力。

       其他的还有项目经验是否和公司项目较为贴近,沟通、理解能力,带领团队能力(一般情况下,高级程序员都会带几个中级或初级组成开发小组)。辅助项目管理方面能力。

(当然,面试人员不是仅仅上面这几个技术方面,当然还有一些常规的人事方面的,不在本主题讨论的范围内,就不扩展了。)

因为,目标是中级php开发,所以我针对我的定义的中级工程师,设计了几个简单的小问题。

1.例举http交互中,最常见的get和post使用的地方,分别说明get的限制和post的限制。

2.对自己最擅长的框架,根据你的经验,说出几点你觉得非常方便的地方。就框架中的配置文件的参数,抽例询问。

3.对树结构表的统计SQL运用

4.说明索引在sql中的使用

5.阐述一下,自己对编码规范的理解,并举例说明自己日常编码中,遵循的那几点规范。

6.就apache的配置参数ServerRoot ,Timeout ,Listen ,User/Group,ServerName, DocumentRoot,DirectoryIndex ,Nginx的配置参数listen,server_name,worker_process,user随机抽取询问作用,php的配置参数memory_limit,max_input_vars, post_max_size, upload_max_filesize,default_charset, date.timezone,Mysql的配置参数basedir,datadir,user,port, max_connections,从中随机抽取几个询问。

7.常见的linux指令:df ,ls,ll,ps,top,netstat,kill,date,chown,chmod,ln,cp,mv,rm,yum,vi,more,tail等

8.js中for和foreach的区别

9.js定于变量,是否使用var有没有区别。

其实,大家可以通过百度分别查一下,这些问题,我是觉得都很简单属于基础内容,当然,有水平的能基于这些问题进一步扩展说明。

但是,结果却是面试的几个人员,都还是选的2年以上工作经验的,大多数都回答不出来,还一个一个开价月薪都是10K以上。是不是我的这些问题真的很刁专吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值