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

面试题 相关文章推荐
如何获取某个日期是当月的最后一天
Dec 05 面试题
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
Jan 07 面试题
JRE、JDK、JVM之间的关系怎样
May 16 面试题
Java的五个基础面试题
Feb 26 面试题
什么造成了Java里面的异常
Apr 24 面试题
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
Jan 18 面试题
阿尔卡特(中国)的面试题目
Aug 20 面试题
介绍一下SQL Server的全文索引
Aug 15 面试题
一些.net面试题
Oct 06 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
Sep 10 面试题
C#中类(class)与结构(struct)的异同
Nov 03 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
Sep 28 面试题
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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
php中get_object_vars()方法用法实例
2015/02/08 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
jquery 实现两级导航菜单附效果图
2014/03/07 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
Python3计算三角形的面积代码
2017/12/18 Python
python 动态加载的实现方法
2017/12/22 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
python函数定义和调用过程详解
2020/02/09 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
python实现控制台输出颜色
2021/03/02 Python
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
大学生毕业自我鉴定范文
2013/11/03 职场文书
大学生自我鉴定范文
2013/12/28 职场文书
信访工作者先进事迹
2014/01/17 职场文书
工作迟到检讨书
2014/02/21 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
四风之害观后感
2015/06/09 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB