1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【精講】2022年P(guān)HP中高級面試題

        共 1187字,需瀏覽 3分鐘

         ·

        2022-02-17 13:59

        1.進(jìn)程,線程及通信方式
        https://www.php.cn/php-ask-453612.html?
        進(jìn)程和線程有點(diǎn)主從關(guān)系一樣的,線程共享進(jìn)程的資源
        進(jìn)程間通信方式:

        1.?管道?
        2.?信號?
        3.?消息隊(duì)列?Posix?消息隊(duì)列
        4.?共享內(nèi)存?
        5.?套接口


        2.Php 查看擴(kuò)展路徑

        php?-i?|?grep?-i?extension_dir?
        或者?phpinfo?來看一下?
        或者?echo?ini_get('extension_dir');


        3. Php 底層數(shù)組實(shí)現(xiàn)方式
        linked list + hashtable 雙向鏈表是中間映射表,用來存放索引和具體存儲位置,然后 具體存儲位置對應(yīng)的具體值在 hashtable 中


        4.寫時復(fù)制:
        如果兩個變量是相同的值,則共享同一塊內(nèi)存,而那塊內(nèi)存的 is_ref =1 refcount = 1 后者被引用一次 +1,為 0 的時候被銷毀,相當(dāng)于資源延遲分配。
        垃圾回收:
        不會立即回收,會放入緩沖區(qū)(一個雙向鏈表),然后默認(rèn)到了 10000 個開始回收,先 將 refcount -1 , =0 則進(jìn)行回收

        5.解決內(nèi)存溢出:

        ? ? ?1、要增加PHP可用內(nèi)存大小
        ?????2、對數(shù)組進(jìn)行分批處理,將用過的變量及時銷毀;
        ????3、盡可能減少靜態(tài)變量的使用;
        ??? 4、數(shù)據(jù)庫操作完成后,要馬上關(guān)閉連接。
        ????5、可以使用 memory_get_usage () 函數(shù),獲取當(dāng)前占用內(nèi)存 根據(jù)當(dāng)前使用的內(nèi)存來 調(diào)整程序
        引申:

        • unset () 函數(shù)只能在變量值占用內(nèi)存空間超過 256 字節(jié)時才會釋放內(nèi)存空間

        • 有當(dāng)指向該變量的所有變量(如引用變量)都被銷毀后,才會釋放內(nèi)存

        • unset 被引用的變量只會解除引用關(guān)系,不會銷毀該變量

        6.Php7 新特性

        https://www.php.net/manual/zh/migration70.new-features.php?

        簡要總結(jié)就是:

        標(biāo)量類型聲明、返回值類型聲明、通過 define() 定義常量數(shù)組、匿名類、相同命名空間 類一次性導(dǎo)入


        7.Php7 底層優(yōu)化:

        1. ZVAL 結(jié)構(gòu)體優(yōu)化,占用由24字節(jié)降低為16字節(jié)

        2. 內(nèi)部類型 zend_string,結(jié)構(gòu)體成員變量采用 char 數(shù)組,不是用 char*

        3. PHP 數(shù)組實(shí)現(xiàn)由 hashtable 變?yōu)?zend array

        4. 函數(shù)調(diào)用機(jī)制,改進(jìn)函數(shù)調(diào)用機(jī)制,通過優(yōu)化參數(shù)傳遞環(huán)節(jié),減少了一些指令

        8.Php 排序二維數(shù)組 array_multisort + array_column 就行


        ??$user_list?=?[
        ????['name'?=>?'張三',?'age'?=>?28],
        ????['name'?=>?'趙六',?'age'?=>?21],
        ????['name'?=>?'王五',?'age'?=>?20],
        ????['name'?=>?'李四',?'age'?=>?21]
        ?];

        ?array_multisort(array_column($user_list,?'age'),SORT_ASC,$user_list);
        ?var_dump($user_list);


        9.緩存的應(yīng)用場景:

        • 數(shù)據(jù)不需要強(qiáng)一致性

        • 讀多寫少,并且讀取得數(shù)據(jù)重復(fù)性較高


        10.Php 異步執(zhí)行腳本:

        1. popen 調(diào)用腳本,缺點(diǎn)是無法跨越,不能傳參,會產(chǎn)生進(jìn)程,高并發(fā)了會創(chuàng)建大量 進(jìn)程

        2. curl 方式,最小響應(yīng)超時時間是 1s,也受限

        3. fsockopen 打開一個網(wǎng)絡(luò)連接或者 unix 套接字連接,原理和 http 一致,支持毫秒 級超時處理

        4. 引入 swoole? ?https://www.php.cn/php-weizijiaocheng-469392.html


        11.常見狀態(tài)碼

        ? ??一二三四五原則:(即一:消息系列;二:成功系列; 三:重定向系列;四:請求錯誤系 列;五:服務(wù)器端錯誤系列。
        301 狀態(tài)碼是永久移動
        302 是臨時移動

        304 如果請求頭中帶有 If-None-Match If-Modified-Since,則會到源服務(wù)器進(jìn)行有效性校驗(yàn),如果源服務(wù)器資源沒有變化,則會返回304,同時不返回內(nèi)容;如果有變 化,則返回200;

        500 代碼 文件權(quán)限 資源有問題
        501 請求方法服務(wù)器不支持

        502 網(wǎng)關(guān)錯誤,例如得到了一個無效響應(yīng)一類的就會出現(xiàn)這種錯誤
        503 超載或者維護(hù)模式
        504 網(wǎng)關(guān)超時,即在指定時間內(nèi)沒有正確的響應(yīng)
        499 客戶端關(guān)閉請求,例如客戶端請求 1s 內(nèi)結(jié)束,php 未返回結(jié)果,或者找不到要請 求的地址,會返回 499 錯誤


        往期推薦



        騰訊PHP/GO工程師面試經(jīng)歷

        2021年12月PHP面試題總結(jié)

        穩(wěn)了!學(xué)會這些PHP面試題成功拿下offer

        2021年最新資源列表【建議收藏并分享】

        淺談面試經(jīng)驗(yàn)(面試官角度)

        盤點(diǎn)2021年P(guān)HP開發(fā)工程師遇到的面試題


        瀏覽 87
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            av五月| 美女脱小内内给男生摸 | 三级寡妇偷汉2 | 老女人高潮视频 | 撅着屁股挨c啊主人 | 91人人干 | 久久裸体| 亚洲VA欧美VA人人爽牛牛影视 | 操逼视频网站免费观看 | 图书室里娇喘的短裙白丝校花视频 |