面试题,自己做了些,做不全,求完整答案

时间:2021-02-15 19:08:00
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)>70

d、先创建索引,再写一条高效率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、如果有一个大访问量,高并发的网站需要你优化,你提供的优化建议是?

18 个解决方案

#1


20分…………………………………………………………………………………………

#2


引用 1 楼  的回复:
20分…………………………………………………………………………………………

还有结贴率…………………………………………………………………………………………

#3


引用 1 楼  的回复:
20分…………………………………………………………………………………………
厉害

#4


该回复于2012-10-16 08:48:03被版主删除

#5


怎么得积分,我想下载一些东西

#6


第一题, 前5年, 1, 之后0, 
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

#7


引用 6 楼  的回复:
第一题, 前5年, 1, 之后0, 
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

高见

#8


第一题,不科学啊!啥时候进入发情期也是个问题。

#9


3、str_split,chunk_split,wordwrap三个字符串函数的区别

这样的题有些费解,有人能背下手册?如果考试时允许查手册的话,那这样的题又有什么意义呢,考察看手册能力?

#10


对新手来说有难度。。。

#11


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

#12


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;
}

#13


引用 6 楼  的回复:
第一题, 前5年, 1, 之后0, 
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

牛x呀

#14


母牛公牛的生育问题

#15


第一题有点像斐波那契序列的那个兔子生兔子的问题。不过人家那个兔子是不会死的。

#16


引用 13 楼  的回复:
引用 6 楼  的回复:

第一题, 前5年, 1, 之后0,
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

牛x呀


确实,没有公的怎么生呢

#17


引用 12 楼 zy205817 的回复:
PHP code12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758function getExt($filename) {    //strrpos()函数查找字符串在另一个字符串中最后一次出现的位置。如果成功……

#18


这些题,百度都看过,问个P啊。

#1


20分…………………………………………………………………………………………

#2


引用 1 楼  的回复:
20分…………………………………………………………………………………………

还有结贴率…………………………………………………………………………………………

#3


引用 1 楼  的回复:
20分…………………………………………………………………………………………
厉害

#4


该回复于2012-10-16 08:48:03被版主删除

#5


怎么得积分,我想下载一些东西

#6


第一题, 前5年, 1, 之后0, 
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

#7


引用 6 楼  的回复:
第一题, 前5年, 1, 之后0, 
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

高见

#8


第一题,不科学啊!啥时候进入发情期也是个问题。

#9


3、str_split,chunk_split,wordwrap三个字符串函数的区别

这样的题有些费解,有人能背下手册?如果考试时允许查手册的话,那这样的题又有什么意义呢,考察看手册能力?

#10


对新手来说有难度。。。

#11


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

#12


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;
}

#13


引用 6 楼  的回复:
第一题, 前5年, 1, 之后0, 
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

牛x呀

#14


母牛公牛的生育问题

#15


第一题有点像斐波那契序列的那个兔子生兔子的问题。不过人家那个兔子是不会死的。

#16


引用 13 楼  的回复:
引用 6 楼  的回复:

第一题, 前5年, 1, 之后0,
"农场开始只有一只刚出生的母牛", 没有公牛给她配种, 她啥也生不出来.......

牛x呀


确实,没有公的怎么生呢

#17


引用 12 楼 zy205817 的回复:
PHP code12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758function getExt($filename) {    //strrpos()函数查找字符串在另一个字符串中最后一次出现的位置。如果成功……

#18


这些题,百度都看过,问个P啊。