PHP中高级面试题 – 第一天

一、写一个函数,获取一篇文章内容中的全部图片,并下载

function download_images($article_url = ”, $image_path = ‘tmp’){

// 获取文章类容

$content = file_get_contents($article_url);

// 利用正则表达式得到图片链接

$reg_tag = ‘//’;

$ret = preg_match_all($reg_tag, $content, $match_result);

$pic_url_array = array_unique($match_result1[1]);

// 创建路径

$dir = getcwd() . DIRECTORY_SEPARATOR .$image_path;

mkdir(iconv(“UTF-8”, “GBK”, $dir), 0777, true);

foreach($pic_url_array as $pic_url){

// 获取文件信息

$ch = curl_init($pic_url);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_NOBODY, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE );

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE );

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$fileInfo = curl_exec($ch);

$httpinfo = curl_getinfo($ch);

curl_close($ch);

// 获取图片文件后缀

$ext = strrchr($pic_url, ‘.’);

$filename = $dir . ‘/’ . uniqid() . $ext;

// 保存图片信息到文件

$local_file = fopen($filename, ‘w’);

if(false !== $local_file){

if( false !== fwrite($local_file, $filecontent) ){

fclose($local_file);

}

}

}

}

二、什么是 CSRF 攻击?XSS 攻击?如何防范?CSRF:跨站请求伪造,可以通过通过判断来源和加 Token 的方式来防范。

XSS:跨站脚本攻击,可以通过对内容转义和过滤来防范,还有 CSP

三、应用中我们经常会遇到在 user 表随机调取 10 条数据来展示的情况,简述你如何实现该功能。

SELECT * FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORD

四、MYSQL 中主键与唯一索引区别

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

五、http 与 https 的主要区别

关键是 S 上。简而言之,https 建立连接后要先把 SSL 的证书发下去,有了公钥和私钥,就可以解密了。

六、两台 mysql 服务器,其中一台挂了,怎么让业务端无感切换,并保证正常情况下讲台服务器的数据是一致的

不是核心业务的话,先停写,把备机拉起来,查看两台机器的日志,进行数据补偿,开写。

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

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

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

(正常的操作,还是先停写,等数据一致,切换,开写。我们公司搞这些切换都是在凌晨 4.00 左右,核心业务的每秒写操作,只有十几个。前后耽搁不到 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 有问题。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月12日
下一篇 2022年6月12日

相关推荐

  • 陈玉玲:全力投入,与实验室共成长

    顾野灵 科技日报记者 何星辉 近十年来,大数据成了贵州对外展示的一张靓丽名片,为推动大数据产业发展,贵州筑巢引凤,吸引了一大批科技巨头。贵州一方面紧锣密鼓进行产业布局,另一方面坚持…

    2022年8月5日
  • 推荐提升网站权重的7个步骤(提升网站权重的步骤有哪些)

    关于网站seo优化的方案,这是我们经常会讨论到的一个问题,今天岛主来告诉,告诉大家只要七步可以提升网站的一个权重。那么让我们一起来讨论一下。 一:网站的主题定位 网站主题的定位,主…

    2022年10月17日
  • 桑启确认重做,普攻加血移除,明世隐大砍一刀,大幅度降低双抗

    大家好,我是阿呆。这里将会给你带来王者荣耀最新的爆料内容。 随着王者荣耀体验服更新之后,官方又在体验服中,重大调整了两位英雄,分别是明世隐和桑启,这两位英雄一个是当前版本的强大辅助…

    2022年8月5日
  • 直接写和放在函数中不同的R语言用法

    索引数据框中的某一列 df$A可以索引数据框df中列名为A的列的所有值。那么假如列名是一个R对象怎么做? df <- data.frame(A=1:5, B=(1:5)*2)…

    2022年6月15日
  • 巴萨迷之操作!2亿成本+4年长约签33岁神锋,哈维如愿,梅西蚌住

    经过长久的等待和协商,巴萨在莱万的转会问题上终于取得了进步,巴萨将支付一笔5000万欧元+1000万欧元的浮动条款签下莱万,双方达成一份“3+1”合同,尽管莱万已经回到慕尼黑和拜仁…

    2022年7月21日
  • Java 应用程序的 CPU 使用率飙升原因分析

    1、背景 在服务器上执行某个任务时,系统突然运行缓慢,top 发现cpu飙升,一度接近100%,最终导致服务假死。 2、CPU 使用率怎么计算? CPU% = 1 – …

    2022年7月13日
  • 纽约市长:美国经济已衰退 华尔街正在崩溃

    海外网7月30日电 据美国《纽约邮报》新闻网站报道,纽约市长埃里克•亚当斯于当地时间28日警告,美国经济已进入衰退,华尔街正在崩溃。 亚当斯在纽约斯塔滕岛出席一场活动时表示,“我们…

    2022年8月4日
  • 国内外并购资讯-20220811

    1、川投能源收购玉柴农光电力51%股权 玉柴农光是一家光伏发电项目经营商,专注于新能源服务领域,主要从事农光互补光伏发电项目的建设、管理及运营业务。近日川投能源以3.1657亿元的…

    2022年8月12日
  • wordpress数据库操作类wpdb的详细用法

    wordpress提供了一系列用于数据库操作的函数类 $wpdb,此类是一个全局变量,每次使用时都需要先global $wpdb。 执行数据库查询 你可以通过query函数在Wor…

    2022年6月17日
  • 深空之眼:基于218个黑区13满星样本的数据分析分享

    作者:NGA-哈士奇5322 第一部分:配队推荐 不同配置水平的优秀配队推荐。 以下配队在对应配置水平打出了优秀的成绩(相同配队只取最快的记录)。 极低配置(满星限时的85%以内通…

    2022年8月2日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息