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

面试题 相关文章推荐
如何启动时不需输入用户名与密码
May 09 面试题
JPA面试常见问题
Nov 14 面试题
写出程序把一个链表中的接点顺序倒排
Apr 28 面试题
C++面试题:关于链表和指针
Jun 05 面试题
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
Aug 09 面试题
数据库专业英语
Nov 30 面试题
什么是Assembly(程序集)
Sep 14 面试题
Shell如何接收变量输入
Sep 24 面试题
Ajax的工作原理
Dec 04 面试题
重写子类方法时,抛出异常的书写注意事项
Oct 17 面试题
25道Java面试题集合
May 21 面试题
Java面试题冲刺第十五天--设计模式
Aug 07 面试题
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
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
php生成短网址示例
2014/05/05 PHP
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
Python中is与==判断的区别
2017/03/28 Python
Python使用微信SDK实现的微信支付功能示例
2017/06/30 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
python进行参数传递的方法
2020/05/12 Python
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
商场消防管理制度
2014/01/12 职场文书
学习演讲稿范文
2014/05/10 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
小学生思想品德评语
2014/12/31 职场文书
捐助感谢信
2015/01/22 职场文书
2015年除四害工作总结
2015/07/23 职场文书
导游词之神仙居景区
2019/11/15 职场文书
MySQL 全文检索的使用示例
2021/06/07 MySQL
Log4j.properties配置及其使用
2021/08/02 Java/Android
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
Python基本知识点总结
2022/04/07 Python