作业盒子
目前使用php的版本? 7.1.15
原生sql写得多吗?嗯,然后出题:
学生:老师=n:n
老师:课程=1:n
学生:课程=n:n
如何建表?
teacher(id,name,mobile)
student(id,name)
class(id,name,teacherid)
relate(studentid,classid)
求手机号=15086930659的老师所教的学生姓名
select s.name
from student s
left join relate r on s.id=r.studentid
left join class c on r.classid=c.id
left join teacher t on t.id=c.teacherid
where t.mobile='15086930659'
求教学生人数>20的所有老师的手机号
select t.mobile
from teacher t
left join class c on c.teacherid=t.id
left join relate r on r.classid=c.id
left join student s on t.id=r.studentid
group by t.mobile
having count(s.id)>20
注意:使用group by分组,分组条件和select列一样,只有一种情况,select列可多一个不是group by条件的,比如:count(*), avg(grade)
等等
斐波那契数列
列举php常用的数组
array+array与array_merge区别
usort函数举例说明
mvc,其中model层和controller层还可以继续分层吗?
答:可分middle层,service层等,尽量让controller层只负责业务上逻辑,model层负责
pdo
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。
列举常见的linux命令
vim tail -f ps wc -l find awk(相当于grep+sed)等等
查询test.log文件中接口耗时>200s的个数(假设接口耗时在第2个字段中)
cat test.log | awk '{if($2>200) print $0}'|wc -l
简述3次握手和4次挥手。3次握手可改成2次吗?4次挥手可改为3次吗?
3次握手不可改成2次,但4次挥手可改为3次
知道QPS吗?quest per second
静态和动态个数个work进程的优缺点
对于动态个,要初始>=5个,不能有20个空闲,如何计算分配?
假若QPS=100,一个进程处理要200ms,那只要开(5个)进程即可
计算本周的开始与结束
详见:http://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79645635
360
面试官叫翟xx,特别傲慢,或许有才华所以恃才傲物吧,但言行举止很让人不爽。
大量数据求最大的k个数------小根堆(O(nlogk))和BFPRT算法(O(n))
假设一维数组int [] a={-9,1,3,60,-18,2},求max{a[j]-a[i] | j>i}
详见:http://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79644381
select * from A join B on A.id=B.id whereA.name ='zs'
问这里join原理或join怎么执行的,先join还是先where,需要建临时表吗?
详见:http://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79644523
索引怎么建?索引的原理
详见:http://blog.csdn.net/wuhuagu_wuhuaguo/article/details/72867374
http://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79627488
redis有哪些结构?redis如何处理过期的键?
k-v,hash,hget,hset
详见:http://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79635872