在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    PHP中高級(jí)面試題 – 第一天

    一、寫(xiě)一個(gè)函數(shù),獲取一篇文章內(nèi)容中的全部圖片,并下載

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

    // 獲取文章類(lèi)容

    $content = file_get_contents($article_url);

    // 利用正則表達(dá)式得到圖片鏈接

    $reg_tag = ‘//’;

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

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

    // 創(chuàng)建路徑

    $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:跨站請(qǐng)求偽造,可以通過(guò)通過(guò)判斷來(lái)源和加 Token 的方式來(lái)防范。

    XSS:跨站腳本攻擊,可以通過(guò)對(duì)內(nèi)容轉(zhuǎn)義和過(guò)濾來(lái)防范,還有 CSP

    三、應(yīng)用中我們經(jīng)常會(huì)遇到在 user 表隨機(jī)調(diào)取 10 條數(shù)據(jù)來(lái)展示的情況,簡(jiǎn)述你如何實(shí)現(xiàn)該功能。

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

    四、MYSQL 中主鍵與唯一索引區(qū)別

    主鍵:絕對(duì)不能有空值。唯一索引:可以有空值

    五、http 與 https 的主要區(qū)別

    關(guān)鍵是 S 上。簡(jiǎn)而言之,https 建立連接后要先把 SSL 的證書(shū)發(fā)下去,有了公鑰和私鑰,就可以解密了。

    六、兩臺(tái) mysql 服務(wù)器,其中一臺(tái)掛了,怎么讓業(yè)務(wù)端無(wú)感切換,并保證正常情況下講臺(tái)服務(wù)器的數(shù)據(jù)是一致的

    不是核心業(yè)務(wù)的話(huà),先停寫(xiě),把備機(jī)拉起來(lái),查看兩臺(tái)機(jī)器的日志,進(jìn)行數(shù)據(jù)補(bǔ)償,開(kāi)寫(xiě)。

    如果是核心業(yè)務(wù)的話(huà),現(xiàn)在所有的操作都在正常的狀態(tài)機(jī)器上。把好的這臺(tái)機(jī)器的備機(jī)拉起來(lái),當(dāng)主機(jī)。

    以上全是應(yīng)急操作。實(shí)際上數(shù)據(jù)庫(kù)的容災(zāi)設(shè)計(jì)要復(fù)雜得多。

    面試官要是問(wèn)你,備機(jī)的數(shù)據(jù)不一致怎么辦,你要勇敢懟回去,你們每秒多少寫(xiě)入操作。按照百萬(wàn)級(jí)表,每秒 1000 的寫(xiě)入效率,正常的設(shè)計(jì)是,分布在 2 臺(tái)機(jī)器上每臺(tái) 500。這個(gè)級(jí)別的數(shù)據(jù)同步,出現(xiàn)差異的概率 可以忽略不計(jì)的。有一臺(tái)出現(xiàn)問(wèn)題,另一臺(tái)也可以抗住。

    (正常的操作,還是先停寫(xiě),等數(shù)據(jù)一致,切換,開(kāi)寫(xiě)。我們公司搞這些切換都是在凌晨 4.00 左右,核心業(yè)務(wù)的每秒寫(xiě)操作,只有十幾個(gè)。前后耽擱不到 20 秒)。

    七、10 瓶水,其中一瓶有毒,小白鼠喝完有毒的水之后,會(huì)在 24 小時(shí)后死亡,問(wèn):最少用幾只小白鼠可以在 24 小時(shí)后找到具體是哪一瓶水有毒。

    答案:四只二進(jìn)制問(wèn)題。薛定諤的老鼠

    一只老鼠有兩個(gè)狀態(tài),死活,對(duì)應(yīng) 01。假設(shè)老鼠的個(gè)數(shù)為 A,則有 2^A>=10; A=4;

    思路很簡(jiǎn)單,十瓶藥編號(hào):0,1,10,11….1001;

    0 不喝。第一只老鼠喝所有個(gè)位是 1 的:13579,第二只喝十位是 1 的,第三只和百位是 1 的,第四只喝千位是 1 的。

    24 小時(shí)后,看下死了的是 1,活著的是 0。按老鼠的順序乖乖站好…… 假如第一只和第三只死了,那就是 0101,就是 5 有問(wèn)題。

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月12日 18:20
    下一篇 2022年6月12日 18:21

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息