PHP 开发工程师笔试试卷 姓名 :__________ 第一部分为必答题,第二、三部分任选其一回答 一、 PHP 开发部分 1.合并两个数组有几种方式,试比较它们的异同。 2.请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制、八进制、十进制、十六进制数字)。 3PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换 4PHP的is_writeable()函数存在Bug,无法准确判断一个目录文件是否可写,请写一个函数来判断目录文件是否绝对可写 5PHP的chmod()函数存在Bug,无法保证设置成功,请写一个函数在指定路径下创建一个目录/文件并确保可以正确设置权限掩码 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 的内存池及其内存管理机制、垃圾回收机制 三、 WEB 相关部分 1 .请比较说明 HTML 与 XHTML 过渡标准、严格标准之间的区别,指出具体的标签差异 2 . Javascript 脚本如何实现和页面其它资源并发下载、 避免阻塞?请列举 3-5 种 Javascript 脚本并发加载的实现方式,并比较异同和优劣 3 . Yahoo 的 Web 优化 34 条原则是什么? 4 .请说明 HTTP 状态码 200 , 302 , 304 以及 cache 所代表的含义,以及在 Web 优化上的作用 5 .请具体说明 IE 、 FireFox 、 Safari 、 Opera 四种浏览器对于 JS 事件处理机制的差异,并 写出能够多浏览器支持的 JS 事件处理代码 6 .请简述 MySQL3.23 、 4.0 、 4.1 、 5.0 、 5.1 、 6.0 这些主要版本之间的差异,并说明如何实 现数据库升级并确保数据安全、数据格式和字符集编码正确? 7 .使用 PHP 写出 MySQL 预查询、事务处理、存储过程、触发器、视图实现方式及适用场合 8 .请比较 MySQL 各种数据表类型,并说明各自的用法和限制 9 .请列举 MySQL 各种定长和变长字段类型,并说明其存储数据的长度限制、占用字节数 10 .请说明 MySQL 主从镜像、 Cluster 这两种集群的不同实现方式及各自的数据同步原理, 并比较两种集群方式的优缺点

PHP面试题学习的更多相关文章

  1. 2010年腾讯前端面试题学习(jquery,html,css部分)

    看了牛人写的回忆文章,里面有2010年腾讯的前端面试题,里面涉及到不少基础性的问题,js部分已学习,这是jquery,html和css部分,学习一下:) 原文地址:https://segmentfau ...

  2. 2010年腾讯前端面试题学习(js部分)

    看了牛人写的回忆文章,里面有2010年腾讯的前端面试题,里面涉及到不少基础性的问题,学习一下:) 原文地址:https://segmentfault.com/a/1190000012998107 js ...

  3. 通过面试题学习零散知识:Java面试题整理

     一.如何看待面试题 对于喜欢学习的开发者来说,我们抛开工作和生活的时间,剩余的时间并不多,如果都用于学习的话,也不可能学的下所有感兴趣的技术点,精力也跟不上,我是深感如是.而面试题一般都是零碎的知识 ...

  4. 海量数据处理面试题学习zz

    来吧骚年,看看海量数据处理方面的面试题吧. 原文:(Link, 其实引自这里 Link, 而这个又是 Link 的总结) 另外还有一个系列,挺好的:http://blog.csdn.net/v_jul ...

  5. [js高手之路]javascript腾讯面试题学习封装一个简易的异步队列

    这道js的面试题,是这样的,页面上有一个按钮,一个ul,点击按钮的时候,每隔1秒钟向ul的后面追加一个li, 一共追加10个,li的内容从0开始技术( 0, 1, 2, ....9 ),首先我们用闭包 ...

  6. Android常见面试题学习第二天(原创)

    61. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指Dalvik的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik ...

  7. Python 面试题学习

    Python的函数参数传递 在Python中,strings,tuples=('abc',123,2.2,'join),numbers 是不可更改的对象. list=['abc',123,2.23,' ...

  8. Android常见面试题学习第一天(原创)

    1. 内存泄漏 在android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内 ...

  9. <面试题>学习面试

    1.代码中要修改不可变数据会出现什么问题? 抛出什么异常? 代码不会正常运行,抛出 TypeError 异常. # 比如修改元祖.会报错 TypeError: 'tuple' object does ...

随机推荐

  1. UVA1388 Graveyard

    思路 就是对于每个点,找出离他最近的目标点的距离 我使用了上取整和下取整实现,蓝书上的实现方法是坐标系缩放,每个点的目标位置就是它四舍五入的结果 具体证明见蓝书 代码 #include <cst ...

  2. P3649 [APIO2014]回文串

    思路 回文自动机 回文自动机的fail[i]就是编号为i的这个字符串的最长的回文后缀的编号,然后len[i]表示编号为i的回文串的长度,cnt[i]表示编号为i的回文串的出现次数 然后trans边就是 ...

  3. 【HNOI 2018】排列

    Problem Description 给定 \(n\) 个整数 \(a_1, a_2, \ldots , a_n(0 \le a_i \le n)\),以及 \(n\) 个整数 \(w_1, w_2 ...

  4. Codeforces 788 C. The Great Mixing

    题目链接:http://codeforces.com/contest/788/problem/C 一看就不能暴力$DP$,我们可以将浓度的合并操看作为在追逐一高度,每次操作前这个高度都会向上走$n$, ...

  5. ES6的小知识(后半部分)

    一.iterator和for-of循环 在js里有数组和对象,es6又新出现了set和map这样js就有了四种数据集合,这样可以组合使用他们,比如数组里拥有对象,set等,这样就需要一个统一的 接口机 ...

  6. 《Practical Vim》第五章:命令行模式

    前言 出于历史原因,命令行模式又叫 Ex 模式,它具有的功能有: 读写文件:比如 :edit, :write 等等 创建标签页或者窗口:比如 :tabnew :split 操作缓存区,比如: bnex ...

  7. Servlet、Listener和Filter

    Servlet: Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式 ...

  8. OAF 抛出html消息

    throw new oracle.apps.fnd.framework.OAException("<html><p style=\"color:#FF0000; ...

  9. 6、什么是TypeScript、TypeScript的安装、转换为.js文件

    1.什么是TypeScript (本人用自己的理解梳理了一下,不代表官方意见) TypeScript:Type+ECMAScript6 TypeScript是一种预处理编程语言,遵循es6标准规范,在 ...

  10. zabbix3.4.7实操总结二

    一,Zabbix Web操作深入 1.1 Zabbix Web下的主机和模版以及监控项的添加方式 (1)创建一个模版 我们所有的功能几乎都是在模版中定义的 我们再点进新创建的模版查看 模版里几乎可以设 ...