1.原味地址:【 http://www.yiichina.com/tutorial/57 】

注:本文转自 http://www.icultivator.com/p/5535.html

整理了一份PHP高级工程师的笔试题,问题很全面。基本上这些题都答得不错,那么你应该可以胜任大部分互联网企业的PHP职位了。下面直接上题:

1. 基本知识点

  1. HTTP协议中几个状态码的含义:503,500,401,200,301,302。。。(答案参考这篇文章:深入理解HTTP协议(二)——协议详解篇)
  2. include,require,include_once,require_once 的区别。(答案参考这篇文章:PHP基础之流程控制9——require/include/require_once/include_once
  3. PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改进等等。
  4. HEREDOC介绍。(答案参考这篇文章:PHP基础之数据类型4——字符串(String)
  5. 写出一些php魔术方法。(答案参考这篇文章:PHP基础之类和对象15——魔术方法
  6. 一些编译php时的configure 参数。(答案参考这篇文章:在Ubuntu中使用源码编译安装Apache+MySQL+PHP开发环境
  7. 向php传入参数的两种方法。(答案参考这篇文章:PHP基础之函数2——函数参数
  8. (mysql)请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别;(答案参考这篇文章:MySQL的数据类型详解大全
  9. error_reporting 等调试函数使用。(答案参考这篇文章:PHP扩展之错误处理和日志记录
  10. 您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(答案参考这两篇文章:Linux中svn安装、配置和使用版本控制工具 git 使用入门指南
  11. posix和perl标准的正则表达式区别。
  12. safe_mode 打开后哪些地方受限。(参考这篇文章:PHP特点之安全模式2——被安全模式限制或屏蔽的函数
  13. 写代码来解决多进程/线程同时读写一个文件的问题。
  14. 写一段上传文件的代码。(参考这篇文章:PHP特点之文件上传1——使用POST方法上传单文件和多文件
  15. Mysql 的存储引擎,myisam和innodb的区别。(参考这篇文章:再谈MySQL存储引擎的选择:InnoDB还是MyISAM

2. web 架构,安全,项目经验

  1. 介绍xdebug,apc,eAccelerator,Xcache,Zend opt的使用经验。(答案参考这两篇文章:PHP调试利器XDebug的安装与使用——XDebug的简单介绍可选PHP缓存 APC 浅析——安装、配置及工作原理
  2. 使用mod_rewrite,在服务器上没有/archivers/567.html这个物理文件时,重定向到index.php?id=567 ,请先打开mod_rewrite。
  3. MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
  4. 写出一种排序算法(原理),并说出优化它的方法。
  5. 请简单阐述您最得意的开发之作。
  6. 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题。
  7. 您是否用过模板引擎? 如果有您用的模板引擎的名字是?
  8. 请介绍Session的原理,大型网站中Session方面应注意什么?
  9. 测试php性能和mysql数据库性能的工具,和找出瓶颈的方法。
  10. 正则提出一个网页中的所有链接。
  11. 介绍一下常见的SSO(单点登陆)方案(比如dedecms整合discuz的passport)的原理。
  12. 您写过的PHP框架的特点,主要解决什么问题,与其他框架的不同点。
  13. 大型的论坛/新闻文章系统/SNS网站在性能优化上有什么区别?
  14. 相册类应用:要求在浏览器中能同时选中并上传多个文件,图片要求能剪裁,压缩包在服务器端解压。能上传单个达50M的文件。上传过程中有进度条显示。每个图片能生成四种大小缩略图,视频文件要转成flv供flash播放。叙述要涉及的各类开源软件和简单用途。
  15. 一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。用程序模拟该过程。

3. unix/linux 基本使用

  1. linux下查看当前系统负载信息的一些方法。(答案参考这两篇文章:Ubuntu指令大全系列一——linux指令Ubuntu查看系统的信息命令大全
  2. vim的基本快捷键。(答案参考这两篇文章:Ubuntu指令大全系列二——VIM编辑器的使用简明 Vim 练级攻略
  3. ssh 安全增强方法;密码方式和rsa key 方式的配置。
  4. rpm/apt/yum/ports 装包,查询,删除的基本命令。(答案参考这篇文章:Ubuntu指令大全系列五——软件安装
  5. Makefile的基本格式,gcc 编译,连接的命令,-O0 和-O3区别。(答案参考这篇文章:Linux编译安装中configure、make和make install各自的作用
  6. gdb,strace,valgrind的基本使用。

4. 前端,HTML,JS

  1. css盒模型。
  2. javascript中的prototype。
  3. javascript中this对象的作用域。
  4. IE和firefox事件冒泡的不同。
  5. 什么是怪异模式,标准模式,近标准模式。
  6. DTD的定义。
  7. IE/firefox常用hack。
  8. firefox,IE下的前端js/css调试工具。

php相关问题学习(以备面试)的更多相关文章

  1. Linux_相关命令(学习,备忘)

    1.Linux 查看实时cpu使用率: top 说明:top命令即时显示process的动态 2.查看cpu处理器使用率: cat /proc/stat 3.平均cpu使用率 4.赋予文件夹下所有文件 ...

  2. 支持向量机(SVM)相关免费学习视频集锦

    http://www.matlabsky.com/thread-36823-1-1.html [其它] 支持向量机(SVM)相关免费学习视频集锦    [复制链接]     faruto 签到天数: ...

  3. java学习之路--面试之多线程基础

    Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是 ...

  4. 《深入理解C#》第3版 学习进度备忘

    学习资源:<深入理解C#>第3版 知识基础支持: <C# in a nutshell> O Reilly出版社,是一本从头介绍C#的优秀图书.<Essential C#5 ...

  5. 《Windows核心编程》第5版 学习进度备忘

    学习资源:<Windows核心编程>第5版 知识基础支持: 本书与<Windows程序设计>第5版珍藏版结合很好,二者重叠内容不多,二者互补性强,而且相关方面的优秀书籍 跳过的 ...

  6. 庞锋 OpenCV 视频 学习进度备忘

    书签:另外跳过的内容有待跟进 学习资源: opencv视频教程目录(初级)   主讲:庞锋,毕业于电子科技大学 知识基础支持: 线性代数 应用数学 跳过的内容: 1.第1~6集跳过,简单.(2014- ...

  7. SQL 教程学习进度备忘

    书签:跳过:另外跳过的内容有待跟进 __________________ 学习资源:W3School. _________________ 跳过的内容: 1.  “SQL select”底部的“ AD ...

  8. JavaScript 教程学习进度备忘(二)

    备忘:之前,只将“JS 教程”学习完毕,这篇记录:“JS HTML DOM ”.“JS 对象”.“JS Window”.“JS 库” 书签:跳过:另外跳过的内容有待跟进 _______________ ...

  9. Asp.Net学习进度备忘(第一步:ASP.NET Web Forms)

    书签:“Web Pages”和“MVC”跳过:另外跳过的内容有待跟进 __________________ 学习资源:W3School. _________________ 跳过的内容: 1.ASP. ...

随机推荐

  1. 出现“无法在发送 HTTP 标头之后进行重定向”问题

    如题,在Response.Redirect之后会偶尔出现“无法在发送HTTP标头之后进行重定向”问题. 是因为,已经在出现错误的代码之前进行过一次重定向了.仔细检查代码即可. 解决方法:按照逻辑移除多 ...

  2. 巨杉Tech | 使用 SequoiaDB 分布式数据库搭建JIRA流程管理系统

    介绍 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域.很多企业与互联网公司都在使用Jira作为内部 ...

  3. 网易云信融合CDN方案及实践

    日前,网易云信视频云架构师席智勇在第七届GFIC全球家庭互联网大会进行了题为<网易云信融合CDN方案及实践>的分享,以下是演讲内容回顾. 图为 网易云信视频云架构师席智勇 CDN所面临的问 ...

  4. C语言修炼之二

    1.内存操作: (1)内存指针.函数指针: (2)动态内存谁申请谁释放(malloc和free成对出现). 2.

  5. pyodbc 一些内容

    如果表格里是空的,读出来是会变为None,所以用是否等于None来判断内容是否为空.

  6. C++索引从0开始的堆排序算法实现

    更新2019年11月4日 04:26:35 睡不着觉起来寻思寻思干点啥吧,好像好久没写堆排了.于是写了个索引从0开始的堆排,这次把建堆函数略了并在heapsort主函数里,索引从0开始到size-1结 ...

  7. thows,thow和try catch的区别

    1.throw是当前方法不处理这个异常,由它的上一级进行处理.并且抛出异常后将停止执行代码. package myProject; public class ExceptionTest { //测试t ...

  8. 801. 二进制中1的个数(lowbit(n)函数)

    给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数. 输入格式 第一行包含整数n. 第二行包含n个整数,表示整个数列. 输出格式 共一行,包含n个整数,其中的第 i 个数表示数列中的第 ...

  9. 如何转proto

    找到对应协议在对应proto中的片段(片段的子也要提取),提出来 放到适合proto文件中(逻辑 || 功能近似协议聚集地) 转换成proto.js 替换 || 增加原有js内容

  10. java项目中的异常处理总结

    异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要. 比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异常. 我找一个比较形象 ...