PHP高级工程师的需知道的

1. 基本知识点

* HTTP协议中几个状态码的含义:503 500 401 200 301 302
503:请求超时 500:内部服务错误,一般是php程序错误导致 401:未受权访问  200 :正确响应 301::永久重定向 302:临时重定向
* Include require include_once require_once 的区别.
include与require区别:
include包含文件可以return返回值,require不能 ;
require 不能在控制结构中根据条件的不同而包含不同的文件。require()语句只会在第一次执行时调用它所包含的文件中的内容替换本身这条语句,当再次被执行 时只能执行第一次所包含的语句。但是include()语句可以在循环体中来包含不同的文件,所以php解析器每次遇到include()语句时,对它进 行重新处理。
在程序中只要有require,就会被包含,即使你在一个非真的if语句里,所以require一般都放在程序的最头部,
require()语句在PHP程序执行前就会将使用require引用的文件读入,如果requrie包含文件出错,程序会中止,include语句只有在被执行时才会读入要包含的文件,如果include包含文件出错,程序会跳过错误,继续执行
include_once与include(require_once与require) 区别
include_once会检查是否在其它地方导入过,有导入过则不在重复导入,这样可以避免函数或变量重复定义的错误,而include会无限数导入,
require_once同上
* PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改进等等。
mysql4.1 改进了子查询(MyIsam用了R-trees) 5.0增加了存诸过程 视图 游标 5.1 有触发器,约束,InnoDB外键等改进
php5主要增强了oo特性,比如构造/析构函数,类中属性和方法的类型 (public,private,protected)一些魔术方法(__call,__set,__get等),接口等
* HEREDOC介绍
* 写出一些php魔幻方法;
* 一些编译php时的configure 参数
prefix,with-config-file ,with-mysql , with-myqli,with-gd,with-curl,with-iconv,with-mbstr等
* 向php传入参数的两种方法。
get , post
* (mysql)请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别;
int:数字型  范围: -2147483648 to 2147483647
cahr:固定长度字符串
varchar :可变长度字符串
datetime : 0000-00-00 00:00:00 时间类型
text : 超长字符串,可存2^16-1字节
varchar与char区别:一个固定,一个可变,所以char一般情况下所占空间更大,但查询更快(不需要计算字符串长度)
* error_reporting 等调试函数使用
一般在生产环境上设置为:error_reporting(0)用来不显示错误,开发环境设置为:error_reporting(E_ALL)用来显示所有错误
* 您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?
用过,subsvn
* posix和perl标准的正则表达式区别;
perl正则表达式更丰富
* Safe_mode 打开后哪些地方受限.
会影响到 system,passthru,exec,shell_exec,popen,phpinfo等等大部分的文件操作函数。
* 写代码来解决多进程/线程同时读写一个文件的问题。
* 写一段上传文件的代码。
* Mysql 的存储引擎,myisam和innodb的区别。

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

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

3. unix/linux 基本使用

* linux下查看当前系统负载信息的一些方法。
* vim的基本快捷键。
* ssh 安全增强方法;密码方式和rsa key 方式的配置。
* rpm/apt/yum/ports 装包,查询,删除的基本命令。
* Makefile的基本格式,gcc 编译,连接的命令,-O0 和-O3区别。
* gdb,strace,valgrind的基本使用.

4. 前端,HTML,JS

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章