1、一只母牛,第二年底生一只母牛和一只公牛,第三年底生一只母牛 ,第五年开始母牛会死。公牛也只能活四年。请问一个农场开始只有一只刚出生的母牛,N年后一共有多少只牛。
请写一个函数输出结果,用递归和非递归两种方法来实现.Function getBulls(n){
  
}
2、写出下面程序的输出结果。
$a = 3;
$b = &$a;
unset($b);
$b = 4;
echo $a;
输出结果:3
3、str_split,chunk_split,wordwrap三个字符串函数的区别
str_split()函数的作用是将一个字符串按照字符间距分割为一个数组,str_split()函数有两个参数,第二个参数可选,默认值为“1”。chunk_split()函数的作用是按一定的字符长度将字符串分割成小块,第二个参数可选,表示字符间距,默认为76,第三个参数可选,表示用什么字符进行分割,默认为“\r\n”。wordwrap()函数的作用是按照一定的字符长度分割字符串,第二个参数可选,表示按多少字符进行分割,默认为75,第三个参数可选,表示用哪个字符分割,默认为“\n”,第四个参数可选,true表示强制打破一个单词,false表示不大破单词,默认为false。4、'NULL' , '0' , 0 ,'' ,'  ',false 哪些是空字符。
''是空
5、用数组函数array_merge合并数组,数字索引会重建。如何处理这个冲突。6、用五种方式获取文件名的后缀,如:abcd.php,extc.sd.txt 获取这两个文件名的后缀php,txt。方法不能明显重复。
7、写一段正则表达式匹配邮箱正确 。要求可以匹配 .com.cn后缀域名。   
  echo preg_match("/^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$/",$email);
8、Mysql 操作题
a、创建一个学生表,包含字段:编号,名字,年级,班级,分数,入学时间,使用合适字段类型,指定合适的存储引擎。
sNum sName sGrade sClass sScore sInTime MyISAM
Int(8) varchat(100) varchar(100) varchar(100) int(3) int(8)
b、写一条SQL语句,如果成绩小于60分输出“不及格”,成绩大于60小于80 输出“及格”,成绩大于80分输出“优秀”。Select c、写SQL语句输出平均分大于70分的班级
Select sClass from table where acg(sScore)>70d、先创建索引,再写一条高效率SQL语句随机读取今年入学,二年级分数为优秀的十个学生信息。9、javastript题
a、你常用的javascript字符串操作函数
concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。
ndexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。
charAT() – 返回指定位置的字符。
lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。
match() – 检查一个字符串是否匹配一个正则表达式。
substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。
replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
slice() – 提取字符串的一部分,并返回一个新字符串。
split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。
length() – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
toLowerCase() – 将整个字符串转成小写字母。
toUpperCase() – 将整个字符串转成大写字母。b、下面函数的输出结果是:
var outter = [];
function clouseTest () {
var array = ["one", "two", "three", "four"];
for(var i = 0; i < array.length;i++){
var x = {};
x.no = i;
x.text = array[i];
x.invoke = function(){
print(i);
}
outter.push(x);
}
}
//调用这个函数
clouseTest();
print(outter[0].invoke());
print(outter[1].invoke());
print(outter[2].invoke());
print(outter[3].invoke());
什么都不输出
c、描述下你对javascript闭包、面向对象、继承的理解
简单的说闭包就是能够读取其他函数内部变量的函数。 
10、PHP部署在linux下的性能优化建议,写出你常用的linux命令。
cd 进入目录
ls 显示目录内容
man 查看手册
more/less 分页显示
cat 查看文件
vi 编辑文件11、如果有一个大访问量,高并发的网站需要你优化,你提供的优化建议是?

解决方案 »

  1.   

    3、str_split,chunk_split,wordwrap三个字符串函数的区别这样的题有些费解,有人能背下手册?如果考试时允许查手册的话,那这样的题又有什么意义呢,考察看手册能力?
      

  2.   

    用五种方式获取文件名的后缀,如:abcd.php,extc.sd.txt 获取这两个文件名的后缀php,txt。方法不能明显重复。
    这个题目网上好像又5种解法
      

  3.   

    function getExt($filename) {
        //strrpos()函数查找字符串在另一个字符串中最后一次出现的位置。如果成功,则返回位置,否则返回 false。
        $ext = strtolower ( substr ( $filename, strrpos ( $filename, '.' ) + 1 ) );
        return $ext;
    }function getExt1($filename) {
         //strrev()函数反转字符串
        $str = strrev ( $filename );
        $ext = strrev ( strtolower ( substr ( $str, 0, strpos ( $str, '.' ) ) ) );
        return $ext;
    }function getExt2($filename) {
        $ext = substr ( strrchr ( $filename, '.' ), 1 );
        return $ext;
    }function getExt3($filename) {
        $arr = explode ( '.', $filename );
        $ext = strtolower ( end ( $arr ) );
        return $ext;
    }function getExt4($filename) {
         //array_reverse — 返回一个单元顺序相反的数组 explode() 字符分割
        $arr = array_reverse ( explode ( '.', $filename ) );
        $ext = strtolower ( $arr [0] );
        return $ext;
    }function getExt5($filename) {
        //split — 用正则表达式将字符串分割到数组中
        $arr = split ( "\.", $filename );
        $ext = strtolower ( array_pop ( $arr ) );
        return $ext;}function getExt6($filename) {
         
        $ext = strtolower ( pathinfo ( $filename, PATHINFO_EXTENSION ) );
        return $ext;
    }function getExt7($filename) {
        //pathinfo — 返回文件路径的信息
        $arr = pathinfo ( $filename );
        $ext = strtolower ( $arr ['extension'] );
        return $ext;
    }function getExt8($filename) {
         //preg_split — 用正则表达式分割字符串
        $arr = preg_split ( '/\./', $filename );
        $ext = strtolower ( $arr [count ( $arr ) - 1] );
        return $ext;
    }