第一部分 基础知识
1 ) int变量的长度是
2)请给出下面这段php代码的输出结果.
$arr1 = array(2);
foreach($arr1 as &$val)
echo $val, "\n";
$arr2 = array(2);
foreach($arr2 as &$val)
echo $val, "\n";
for($i = 0; $i < count($arr2); $i++)
$val = $arr2[$i]*$arr2[$i];
echo $val, "\n";
foreach($arr1 as &$val)
echo $val, "\n";
foreach($arr2 as &$val)
echo $val, "\n";
2
2
4
2
4
3 )有新编写的(从未执行过)文件test.php,代码只有二行,第一行是setcookie("name","soso");第二行是var_dump($_COOKIE['name']);如:
<?php
setcookie("name","soso");
var_dump($_COOKIE['name']);
?>
请说出执行结果?为什么?
NULL
4 ) 请编写一个快排算法,要求:不使用已有的类库,使用C语言描述即可。
voidQickSort(int * arr_val, unsigned int size);
第二部分PHP与系统设计
PHP
5) 简述 _autoload 函数作用,举例说明
惰性自动加载类
6) MVC中, 简述M的作用;列举你熟悉的php框架
Model
7) 简述加快程序运行速度的方法至少3种(例如:使用更强处理能力的计算机系统)
1、32位系统改64位系统
2、常用数据静态化
8)假设某网站(www.test.com)通过cookie中的user_id字段和user_key字段来对用户进行验证。网站上有一个动态页面,访问形式为http://www.test.com/show.php?content=$content, 这个页面在接收到content参数之后,将content的内容显示给用户。但是没有对content进行安全检查或特殊字符转义。设计一种方法来获取这个网站上用户的验证信息。
http://www.test.com/show.php?content=<script>alert(document.cookie);</script>
数据库相关:
9) 请简述在mysql数据库的字段定义中,char类型和varchar类型的区别
char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).
10)简述sql中, join, left join, rightjoin的区别。
11) 假设在mysql数据库中,有一个用户信息表定义如下:
CREATE TABLE User
(
USERNAME varchar(255) binary, # 用户名称
PASSWORD varchar(255) binary, # 用户密码
UNIQUE KEY USER (USERNAME)
);
请问如下四条语句,哪些语句可以用到USER字段上的索引:_____________
A select * from User where USER ='abc';
B select * from User where USERlike '%abc';
C select * from User where USERlike 'ab%c';
D select * from User where USERlike 'abc%';
E select * from User where USERlike '%abc%';
12) 上题所述数据表记录数过多需要优化请给出您的优化方案.
如果在上题所述的数据表中创建索引对表操作有何影响?
第三部分
1) 简述一个PHP程序是如何被执行的?