PHP高级面试问题-第一天

首先,写一个函数,获取一篇文章内容中的所有图片并下载。

其次,什么是CSRF攻击?XSS袭击?如何预防?

CSRF:跨站请求伪造可以通过判断来源和添加令牌来防止。

XSS:跨站点脚本攻击,可以通过转义和过滤内容以及CSP来防止。

第三,在应用中,我们经常会遇到从用户表中随机取出10条数据来展示的情况。简单描述一下你是怎么实现这个功能的。

第四,MYSQL中主键和唯一索引的区别

主键:绝对不能有空值。唯一索引:可以有空值。

动词 (verb的缩写)http和https的主要区别

关键在s上,总之https建立连接后,要先把SSL证书发下来。有了公钥和私钥,就可以解密了。

六、两台mysql服务器,其中一台挂机,如何让业务端无感切换,保证讲台服务器数据正常情况下一致。

如果不是核心业务,先停写,拉起备用机,查看两台机器的日志,补偿数据,开始写。

如果是核心业务,现在所有操作都在正常的状态机上进行。把这个好机器的备用机拉起来做主机。

以上都是应急操作。事实上,数据库的容灾设计要复杂得多。

如果面试官问你备用机数据不一致怎么办,你要勇敢地回去,你每秒有多少写操作。按照百万级表,每秒1000的写效率,正常的设计是,分布在两台机器上,每台500。在这个级别的数据同步中,差异的概率可以忽略不计。如果一台机器有问题,另一台机器可以抵抗。

(正常操作,还是先停写,等数据一致了,再切换开始写。我们公司凌晨四点左右做这些交换机,每秒钟只有十几个核心业务操作。延迟前后少于20秒)。

七,10瓶水,其中一瓶有毒。喝下有毒的水后,老鼠会在24小时后死亡。问:至少有几只老鼠能在24小时后找出哪瓶水有毒。

答案:四个。

二元问题。薛定谔的老鼠。

一只老鼠有两种状态,生和死,对应01。假设老鼠的数量是a,有2个a >;=10;a = 4;

想法很简单。十瓶药的数量是0,1,10,11...1001;

0不要喝酒。第一只老鼠喝1的所有位数:13579,第二只老鼠喝1的十位数,第三只老鼠喝1的百位数,第四只老鼠喝1的千位数。

24小时后,看死人是1,活人是0。站在老鼠的行列里...如果第一个和第三个都死了,就是0101,5有问题。