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

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

    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]);

    // 創(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:跨站請求偽造,可以通過通過判斷來源和加 Token 的方式來防范。

    XSS:跨站腳本攻擊,可以通過對內容轉義和過濾來防范,還有 CSP

    三、應用中我們經常會遇到在 user 表隨機調取 10 條數據來展示的情況,簡述你如何實現該功能。

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

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

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

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

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

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

    不是核心業(yè)務的話,先停寫,把備機拉起來,查看兩臺機器的日志,進行數據補償,開寫。

    如果是核心業(yè)務的話,現在所有的操作都在正常的狀態(tài)機器上。把好的這臺機器的備機拉起來,當主機。

    以上全是應急操作。實際上數據庫的容災設計要復雜得多。

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

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

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

    答案:四只二進制問題。薛定諤的老鼠。

    一只老鼠有兩個狀態(tài),死活,對應 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)刪除。
    用戶投稿
    上一篇 2022年6月12日 18:20
    下一篇 2022年6月12日 18:21

    相關推薦

    聯系我們

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