PHP高级工程师面试问题推荐


Posted in 面试题 onJanuary 18, 2013

 一、PHP开发部分

  1.合并两个数组有几种方式,试比较它们的异同

  2.请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制、八进制、十进制、十六进制数字)

  3.PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换

  4.PHP的is_writeable()函数存在Bug,无法准确判断一个目录/文件是否可写,请写一个函数来判断目录/文件是否绝对可写

  5.PHP的chmod()函数存在Bug,无法保证设置成功,请写一个函数在指定路径下创建一个目录/文件并确保可以正确设置权限掩码

  6.PHP处理上传文件信息数组中的文件类型$_FILES['type']由客户端浏览器提供,有可能是黑客伪造的信息,请写一个函数来确保用户上传的图像文件类型真实可靠

  7.PHP通过对数据的URL编码来实现与Javascript的数据交互,但是对于部分特殊字符的编解码与Javascript的规则不尽相同,请具体说明这种差异,并针对UTF-8字符集的数据,写出PHP的编解码函数和Javascript的编解码函数,确保PHP编码数据可以被 Javascript正确解码 、Javascript编码的数据可以被PHP正确解码

  8.试阐述Memcache的key多节点分布的算法?当任一节点出现故障时PHP的Memcache客户端将如何处置?如何确保Memcache数据读写操作的原子性?

  9.如何实现PHP的安全最大化?怎样避免SQL注入漏洞和XSS跨站脚本攻击漏洞?

  10.请设计一个数据结构可以实现无限级子菜单的树型菜单功能并提供菜单生成算法,用UML描述设计并写出相关PHP代码

  二、系统相关部分

  1.请简述Linux、FreeBSD、Soalaris、Mac OS、Windows几种系统下进程与线程的内核实现方式、管理机制的异同

  2.请简述Linux/BSD系统下进程间通讯的方式有哪些,并具体说明在PHP下如何实现

  3.请简述Linux/BSD系统下系统的消息/事件异步通知机制有几种,并加以比较

  4.简单比较TCP/UDP协议的异同,对于PHP的Socket扩展与Stream扩展,试比较两者基于TCP/UDP协议的SOCKET编程差异?

  5.为什么会出现僵死进程(孤儿进程)?怎样查看僵死进程?如何解决僵死进程问题?

  6.对于System-V消息队列,如何解决系统本身对于消息队列条数、总容量(字节数)的限制?如何设置消息的优先级别?请比较阻塞模式和非阻塞模式的异同,并说明如何避免非阻塞模式下的消息队列堵塞?

  7.请描述Apache 2.x版本的MPM(Multi-Processing Module)机制,并具体说明在不同的MPM机制下如何支持PHP?

  8.请简述PHP在Apache下的几种运行方式并加以比较?如何让PHP在Linux+Apache下以Fast CGI方式运行?

  9. 请写出让PHP能够在命令行下以脚本方式执行时安装PHP所必须指定的configure参数,并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?

  10.请简述PHP 5.2的内存池及其内存管理机制、垃圾回收机制

   11. 使用PHP多长时间?精通哪一块?

  答:一年了。

   12. 使用MySQL多长时间?精通哪一块?

  答:一年了。

  13. 比较MySQL的两种常用引擎的区别(MyIsAm和InnoDB)。

  14. 从各种角度优化以下SQL语句:SELECT * FROM tablename WHERE id IN (13, 15, 18, 19) and age=21

  ORDER BY address DESC

  15. 是否了解XML?讲一下格式规范。

  16. 是否使用PHP解析过XML文件?使用的什么方法?该方法使用的是什么API?(没有听懂后面半句是什么意思)

  17. 写一个正则表达式

  18. 一个3k+1数组,k为非负整数,请问从1乘到7000,结果的末尾会包含多少个0?

  19. 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?

  20. 求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数

  21. 请写一个函数,实现以下功能:

  字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。

  22. 要求写一段程序,实现以下数组$arr1转换成数组$arr2:

  $arr1 = array (

  ’0′ => array (‘fid’ => 1, ‘tid’ => 1, ‘name’ =>’Name1′ ),

  ’1′ => array (‘fid’ => 1, ‘tid’ => 2 , ‘name’ =>’Name2′ ),

  ’2′ => array (‘fid’ => 1, ‘tid’ => 5 , ‘name’ =>’Name3′ ),

  ’3′ => array (‘fid’ => 1, ‘tid’ => 7 , ‘name’ =>’Name4′ ),

  ’4′ => array (‘fid’ => 3, ‘tid’ => 9, ‘name’ =>’Name5′ )

  );

  $arr2 = array (

  ’0′ => array (

  ’0′ => array ( ‘tid’ => 1, ‘name’ => ‘Name1′),

  ’1′ => array ( ‘tid’ => 2, ‘name’ => ‘Name2′),

  ’2′ => array ( ‘tid’ => 5, ‘name’ => ‘Name3′),

  ’3′ => array ( ‘tid’ => 7, ‘name’ => ‘Name4′)

  ),

  ’1′ => array (

  ’0′ => array ( ‘tid’ => 9, ‘name’ => ‘Name5′ )

  )

  );

  23. 请简述数据库设计的范式及应用。

  一般第3范式就足以,用于表结构的优化,这样做既可以避免应用程序过于复杂同时也避免了SQL语句过于庞大所造成系统效率低下。

   24.Png 透明 使用js代码 改

  25.Min-height 最小高度 !Important 解决’

  26. 在ie6下遮盖 使用iframe嵌套

  27.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)

  28.web前端工程师面试题--个人总结标签上title与alt属性的区别是什么?

  Alt 当图片不显示是 用文字代表。

  Title 为该属性提供信息

  29.描述css reset的作用和用途。

  Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一

  30.解释css sprites,如何使用。

  Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量

  31.浏览器标准模式和怪异模式之间的区别是什么?

  盒子模型 渲染模式的不同

  使用 window.top.document.compatMode 可显示为什么模式

  32.你如何对网站的文件和资源进行优化?期待的解决方案包括:

  文件合并

  文件最小化/文件压缩

  使用CDN托管

  缓存的使用

  33.什么是语义化的HTML?

  直观的认识标签 对于搜索引擎的抓取有好处

  34.清除浮动的几种方式,各自的优缺点

  1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)

  2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)

  3.是用afert伪元素清除浮动(用于非IE浏览器)



Tags in this post...

面试题 相关文章推荐
Ibatis中如何提高SQL Map的性能
May 11 面试题
介绍一下Java中的Class类
Apr 10 面试题
什么是Rollback Segment
Apr 22 面试题
新大陆软件面试题
Nov 24 面试题
木马的传播途径主要有哪些
Apr 08 面试题
可以使用抽象函数重写基类中的虚函数吗
Jun 02 面试题
abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
Oct 15 面试题
linux面试题参考答案(6)
Jun 23 面试题
什么是规则表达式
May 03 面试题
EntityManager都有哪些方法
Nov 01 面试题
How to spawning asynchronous work in J2EE
Aug 29 面试题
Overload和Override的区别
Sep 02 面试题
PHP开发工程师面试问题集锦
Nov 01 #面试题
一份比较全的PHP面试题
Jul 29 #面试题
Yahoo-PHP面试题4
May 05 #面试题
Yahoo-PHP面试题3
Jan 14 #面试题
Yahoo-PHP面试题2
Dec 06 #面试题
Yahoo-PHP面试题1
Jul 20 #面试题
PHP面试题附答案
Nov 28 #面试题
You might like
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
JS上传前预览图片实例
2013/03/25 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
JavaScript函数详解
2014/11/17 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
js遍历详解(forEach, map, for, for...in, for...of)
2019/08/28 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
Python 数据结构之队列的实现
2017/01/22 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
创联软件面试题笔试题
2012/10/07 面试题
2014年高考决心书
2014/03/11 职场文书
求职信格式要求
2014/05/23 职场文书
新书发布会策划方案
2014/06/09 职场文书
节约粮食标语
2014/06/18 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
高三数学教学反思
2016/02/18 职场文书
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
python中validators库的使用方法详解
2022/09/23 Python