php基础部分
-
1. 以下php代码的输出结果?
$i=10;
$n = $i++;
echo $n, $i++, ++$i
2. include与require的区别?
3. 以下代码,是判断字符串中是否存在#符号, 错误之处在于?
if ( strpos($str, “#”)) { … }
4. 程序代码使用utf-编码,以下代码输出结果是什么?strlen函数是计算字符串的字节数还是字符数?
$str = “您好hello”;
echo strlen($str);
5. 什么是时间戳? 时间戳能代表的最小年份和最大年份是多少?
6. php.ini配置文件中magic_quotes_gpc, magic_quotes_runtime的作用是什么?应该开启还是关闭?
7. 现有一个文本体积大约2G, 计算机内存只有1G, 需要使用php对数据进行分析,如何读取如此体积的文件?
8. php的序列化各反序列化,有何用途?
9. php的魔术方式包含哪些(越多越好)? 在何情况下被自动调用?
10. ArrayAccess接口的作用是什么?
11. php类的静态成员变量与非静态成员变量有何区别?
12. 如何记录php程序错误至系统日志(如windows的事件查看器,Linux的syslog)?
13. SQL注入最有效的防御方式是什么?
mysql数据库部分(mysql版本为 5.0+)
1. 假设mysql数据表使用utf-8编码, 数字类型均使用指出以下各个数据类型的范围和长度
类型 | 字节数 | 值范围 |
unsigned TinyINT(2) | | |
unsigned SmallINT(3) | | |
unsigned MediumINT(4) | | |
unsigned INT(5) | | |
unsigned BigINT(6) | | |
2. 假设mysql数据表使用utf-8编码, 填写以下表格
类型 | 最大字节数 | 最长字符数 |
char(100) | | |
varchar(200) | | |
3. char(100)与varchar(100)有何区别?
4. 如何查看某个SQL的执行计划,以便分析其性能问题?
-
5. MyISAM与innoDB存储引擎有何差别? 类似CMS, bbs应用,使用哪一种引擎更好?
HTTP协议
1. http 200, 404, 304状态码般是何含义?
2. http gzip压缩传输, 是怎么回事?
3. 一些网站(如baidu, 163.com),使用手机和电脑访问相同域名时,呈现的页面并不相同, 如何实现?
4. COOKIE与session的关系?,禁用浏览器的cookie, session能正常工作吗?
5. 默认情况下,session在浏览器关闭时将失效,如果要延长session的生存周期(比如一个月),如何处理?
6. XSS, CSRF攻击如何防止?
7. 如何给动态文件(如php页面)作浏览器缓存?(即第二次刷新浏览器时,返回304状态)
8. 在HTTP 应用程序层,来源 IP 的重要性不言而语,例如表单提交限制,频率等等均需要客户端 IP 信息。使用流行的 Discuz X2.5 的文件 source/class/discuz/discuz_application.php 中的代码片断:
private function _get_client_ip() {
$ip = $_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_CLIENT_IP']) && preg_match(‘/^([0-9]{1,3}\.){3}[0-9]{1,3}$/’, $_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
此程序代码,存在“IP伪造”之漏洞,如何处理?
前端技术
1. ajax是无法跨顶级域名的,那么要实现跨域名ajax数据获取,有哪些方法?
2. 是否熟悉jquery?
3. ajax应用中,json格式为何流行?
综合技术
-
1. memcache是否使用过?,它的分布式是由客户端还是服务器端实现的?
-
2. 是否使用过版本控制工具(如SVN)? 它的作用是什么?
-
3. 是否编写过PHP CLI程序?
-
4. 如何处理大数据表分页(如包含数千万记录的数据表,使用mysql limit性能会很差)?
-
5. 大流量网站一般的构架技术有哪些?