一、选择题(需要注意有单选有多选)
1、以下HTTP状态码中哪个表示服务器拒绝访问()
A、302
B、304
C、403
D、404
2、php core dump 导致nginx返回的http状态码()
A、404
B、500
C、502
D、504
3、下面哪些函数可以用来读取文件()
A、file
B、file_get_contents
C、fgets
D、popen
4、下面哪些函数可以用来判断a字符串是否存在于b字符串()
A、strpos
B、strstr
C、substr
D、preg_match
5、下面那种类型攻击可能导致Cookie被发送到黑客手中()
A、xss
B、sql inject
C、csrf
D、ssrf
6、当nginx作为负载均衡服务器,与php web服务器分布式部署的时候,下面哪个能获取到客户端ip()
A、$_SERVER["REMOTE_ADDR"]
B、$_SERVER["SERVER_ADDR"]
C、$_SERVER["REMOTE_HOST"]
D、$_SERVER["HTTP_X_FORWARDED_FOR"]
7、下面哪些命令可以用来查看端口是否被占用()
A、ps
B、du
C、netstat
D、lsof
8、下面哪些函数可以用于获取字符串长度()
A、strlen
B、mb_strlen
C、iconv_strlen
D、strlength
9、下面哪些shell命令可以用于读取文件内容()
A、cat
B、tail
C、less
D、sed
10、你通常如何学习新技术()
A、阅读新技术相关博客/文章
B、观看新技术相关直播/视频
C、线上向新技术对应专家提问
D、线下参加新技术的沙龙/活动
E、向周边懂技术的同事/老师请教
二、代码题
1、你经常去那些技术社区?列举一个并说明其优点。
2、现有学生表(t_student)和成绩表(t_score)
学生表有学生id(id),学生姓名(name),性别(sex)字段;
成绩表有成绩id(id),学生id(student_id),学科id(item_id)和成绩(score)字段。
请通过SQL查找出每个学生所有学科的平均分和最高分和最低分
3、请用尽可能多的方式来判断一个ip是否属于192.168.1.1~192.168.1.100
(必须写代码,不要只写思路,方法越多越好,提醒,这题很考验逻辑思维能力,请认真作答)
(代码写在背面)
4、有一个字符串 $a = "503,123,789,453,987,102,23,45,90";请写一个函数,将其从小到大排序,以一个数组返回,不能使用php自带的函数。
三、思考题
1、有一个后台模块只有白名单里的用户才能访问,下面这段代码返回结果是什么?应该如何改进。
function permissionCheck($uid)(
$uids = "162,157,186";
if(strpos($uid,$uids) === false){
return false;
}
return ture;
)
permissionCheck(162);
2、在文章列表场景中,翻页到后面就非常慢,比如下面的sql,有什么优化的手段吗,不局限于sql优化。
select id,title,content from article
where is_del = 0 order by id desc limit 8000000,20;