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...

面试题 相关文章推荐
String和StringBuffer的区别
Aug 13 面试题
C/C++程序员常见面试题二
Nov 19 面试题
解释一下Windows的消息机制
Jan 30 面试题
经典c++面试题四
May 14 面试题
SQL Server里面什么样的视图才能创建索引
Apr 17 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
Aug 25 面试题
一套带网友答案的.NET笔试题
Dec 06 面试题
C#笔试题集合
Jun 21 面试题
什么是Linux虚拟文件系统VFS
Jan 31 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
Dec 04 面试题
sleep()方法和wait()方法的区别是什么
Nov 17 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
Oct 30 面试题
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
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
zend framework多模块多布局配置
2011/02/26 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
smarty缓存用法分析
2014/12/16 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
基于jquery的动态创建表格的插件
2011/04/05 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
2017/05/12 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
python如何生成各种随机分布图
2018/08/27 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
python实现微信防撤回神器
2019/04/29 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
Python如何读取文件中图片格式
2020/01/13 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
Python中的全局变量如何理解
2020/06/04 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
2014年秋季开学演讲稿
2014/05/24 职场文书
教师求职信
2014/06/17 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书