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

面试题 相关文章推荐
JDK安装目录下有哪些内容
Aug 25 面试题
Java里面如何创建一个内部类的实例
Jan 19 面试题
北承题目(C++)
May 16 面试题
数据库专业英语
Nov 30 面试题
某公司的.net工程师面试题笔试题
Nov 22 面试题
ASP.NET中的身份验证有那些
Jul 13 面试题
一些网络技术方面的面试题
May 01 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
客服端调用EJB对象的几个基本步骤
Jan 15 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
Mar 05 面试题
如何写出高质量、高性能的MySQL查询
Nov 17 面试题
Java中的异常处理机制的简单原理和应用
Apr 27 面试题
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
PHP中的cookie不用刷新就生效的方法
2012/02/04 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
【消息提示组件】,兼容IE6/7&&FF2
2007/09/04 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
Django 拆分model和view的实现方法
2019/08/16 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
企业安全生产演讲稿
2014/05/09 职场文书
公司户外活动总结
2014/07/04 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL