本文目录一览:
在面试PHP工程师时会被问哪些问题
面试官在面试求职的PHP工程师时所问的问题千奇百怪,但由于他们需要的是一个PHP工程师,所以他们提问的问题一般不会偏离以下几个角度:
技术线(偏深度):
1. 基础知识,比如数据结构,多线程,I/O,Http协议等。
2. 语言深度,比如PHP的运行机制,性能优化,APC(以及其原理等)。
3. 源码阅读,比如看过哪些框架,其中的机制是怎么样的,往细了问。
4. 知识宽度,静态语言,比如C、Java等,我始终觉得只会一门语言不是什么好事情。
5. 项目经验,做过什么,是否复杂,负责什么,做了什么。
业务线(偏能力):
1. 业务能力,也就是之前做过的项目(担任的角色,负责的部分)。
2. 沟通能力,这一点能从沟通中就看出来。
3. 主动性,之前主动推动的事物等等,哪怕是一个小的点也可以。
4. 抗压能力,之前做过的项目中去挖掘细节。
5. 技术宽度,了解不一定要深入,一般会问一些比较泛的,比如多语言,Linux操作,HTTP协议等。
如何面试 PHP 工程师
1. echo count(”abc”); 输出什么?
答案:出1
解释:在PHP的源码中可以看到,仅对IS_NULL,IS_ARRAY,IS_OBJECT有特殊处理,其它所有的类型都返回1(RETURN_LONG(1);)
2. 用PHP写出显示客户端IP与服务器IP的代码
答案:
“SERVER_ADDR” 当前运行脚本所在的服务器的 IP 地址。
“REMOTE_ADDR” 正在浏览当前页面用户的 IP 地址。
3. error_reporting(2047)什么作用?
答案:error_reporting(E_ALL)
显示所有PHP错误和警告
4. echo,print()和print_r()有什么区别?
答案:echo, print是语言结构,并不是一个真正的函数,print_r是函数打印变量信息
解释:print() is not actually a real function (it is a language construct) so you are not required to use parentheses with its argument list.
这个问题看别人的答案后最纠结
面试php工程师出什么考题好
1、不用新变量直接交换现有两个变量的值. (考php基本功)
答案:list($a, $b) = array($b, $a);
2、PHP数字金额转大小格式,同时说明思路 (考数组掌握)
3、SQL查询语句如下:
select * from table where (ID = 10) or (ID = 32) or (ID = 22) or (ID = 76) or (ID = 13) or (ID = 44)
让结果按10,32,22,76,13,44的顺序检索出来,请问如何书写? (sql能力)
4、简单写一个上传文件程序,要求同时上传文件数量可以人为控制 (逻辑能力)
5、php同时调用3个数据库中的一个表的信息(架设A.a.aid=B.b.bid=C.c.cid),请说明思路及书写部分代码
6、现有一IM软件,使用id、email做为注册条件,假设已注册1040人,有一zh_cn论坛,使用id、email做为注册条件,假设已注册200人,有一en_us论坛,使用id、email做为注册条件,假设已注册150人
要求:将三者同步,使用统一的注册流程 ,写出设计思路
希望对您有帮助
如何面试PHP工程师?
工程师能否胜任某个岗位很大程度上受专业程度、周边知识、沟通能力、主动工作的意愿等多方面因素影响,对每个Team来说需要考核的重点是有区别的,但总的来说都是基于上面问题里提到的几个方面根据对候选人的观察考量提出相应的问题并通过回答来确定他在这些方面的真实水准。但短短的面试时间往往很难考察出,或者说让候选人体现出其全部的能力来,所以面试过程里除了佣人团队的Leader、Manager和HR外,最好能包括 和候选岗位同一个Team的其他工程师、主要合作的Team的Leader,但只是简短聊聊,从别的一些角度提供一些参考意见。
面试高级php工程师,一般会问到哪些问题
高并发大访问量的mysql优化,服务器优化?
字段建索引、主从数据库、读写分离、表分区、负载均衡。
linux的慢查询日志会记录mysql的超时查询sql语句,定期察看进行优化。
2.大访问量下秒杀模块程序怎么设计,如果使用mysql会有多卖的情况,就是订单超过库存。
将订单数据缓存到内存,如果用数据库直接崩掉,毫无悬念的。
3.缓存的使用
能用静态的用静态,不能静态的用内存缓存,例如memcache、redis,不能缓存的用数据库。
4.session可不可以跨域?怎么跨域?
将PHP session机制重写(PHP提供),将session存储在memcache或者数据库就可以跨域了。
另外session能以三种方式存储,文件、数据库、缓存。
5.了不了解非关系型数据库?
mongodb
6.会不会写shell脚本以及linux的操作
还会问一下时下流行的东西,比如做没做过微信开发,例如微信支付开发、APP移动开发,等等问题。
问的核心东西都是围绕这些转的,如果有笔试会让你写sql,php功能(例如冒泡排序等排序),还有逻辑题。
我当初面试了很多,这是一个我的面试经验的总结,纯手打忘采纳。