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>

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

        共 3031字,需瀏覽 7分鐘

         ·

        2021-12-09 22:33

        01

        為什么要跨域?


        跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對(duì)JavaScript施加的安全限制。
        下表給出了與 URL http://store.company.com/dir/page.html 的源進(jìn)行對(duì)比的示例:
        URL???????????????????????????????????????結(jié)果??????原因
        http://store.company.com/dir2/other.html?同源?只有路徑不同
        http://store.company.com/dir/inner/another.html?同源?只有路徑不同
        https://store.company.com/secure.html?失敗?協(xié)議不同
        http://store.company.com:81/dir/etc.html?失敗?端口不同?(?http://?默認(rèn)端口是80)
        http://news.company.com/dir/other.html?失敗?主機(jī)不同

        02

        Socket為什么需要心跳?

        在smack里有個(gè)30s發(fā)送一個(gè)空消息的線程,同樣關(guān)于心跳包(keepalive)
          據(jù)網(wǎng)絡(luò)搜索到的資料解釋如下
        內(nèi)網(wǎng)機(jī)器如果不主動(dòng)向外發(fā)起連接,外網(wǎng)機(jī)沒(méi)法直連內(nèi)網(wǎng)的,這也是內(nèi)網(wǎng)機(jī)安全的原因之一,又因?yàn)槁酚善鲿?huì)把這個(gè)關(guān)系記錄下來(lái),但是過(guò)一段時(shí)間這個(gè)記錄可能會(huì)丟失 ,所有每一個(gè)客戶端每隔一定時(shí)間就會(huì)向服務(wù)器發(fā)送消息,以保證服務(wù)器可以隨時(shí)找到你,這東西被稱為心跳包。
        理論上說(shuō),這個(gè)連接是一直保持連接的,但是實(shí)際情況中,如果中間節(jié)點(diǎn)出現(xiàn)什么故障是難以知道的。更要命的是,有的節(jié)點(diǎn)(防火墻)會(huì)自動(dòng)把一定時(shí)間之內(nèi)沒(méi)有數(shù)據(jù)交互的連接給斷掉。在這個(gè)時(shí)候,就需要我們的心跳包了,用于維持長(zhǎng)連接,保活。在獲知了斷線之后,服務(wù)器邏輯可能需要做一些事情,比如斷線后的數(shù)據(jù)清理,重新連接……當(dāng)然,這個(gè)自然是要由邏輯層根據(jù)需求去做了。總的來(lái)說(shuō),心跳包主要也就是用于長(zhǎng)連接的保活和斷線處理。一般的應(yīng)用下,判定時(shí)間在30-40秒比較不錯(cuò)。如果實(shí)在要求高,那就在6-9秒。
        如果不主動(dòng)關(guān)閉socket的話,系統(tǒng)不會(huì)自動(dòng)關(guān)閉的,除非當(dāng)前進(jìn)程掛掉了,操作系統(tǒng)把占用的socket回收了才會(huì)關(guān)閉。為什么需要心跳連接主要是判斷當(dāng)前連接是否是有效的、可被使用的。在實(shí)際應(yīng)用中假設(shè)一段時(shí)間沒(méi)有數(shù)據(jù)傳輸時(shí)候理論上說(shuō)應(yīng)該連接是沒(méi)有問(wèn)題的,但是網(wǎng)絡(luò)復(fù)雜,中途出現(xiàn)問(wèn)題也是常見(jiàn)的,網(wǎng)線被掐斷了、對(duì)方進(jìn)程掛掉了、頻繁丟包等,這時(shí)候TCP連接是不可使用的,但是對(duì)于應(yīng)用層并不知道,如果需知道網(wǎng)絡(luò)情況則要很復(fù)雜的超時(shí)進(jìn)行了解,TCP從底層就實(shí)現(xiàn)了這樣的功能。心跳機(jī)制是TCP在一段時(shí)間間隔后發(fā)送確認(rèn)連接端是否還存在,如果存在的話就會(huì)回傳一個(gè)包確定網(wǎng)絡(luò)有效,如果心跳包有問(wèn)題,則通知上層應(yīng)用當(dāng)前網(wǎng)絡(luò)有問(wèn)題了。
        這取決于你的server端的超時(shí)配置, 每個(gè)socket連接都是長(zhǎng)連接,它是一個(gè)相當(dāng)占用系統(tǒng)資源的通信管道, 如果這個(gè)長(zhǎng)連接什么事也沒(méi)干硬是要占著資源,則server端可以選擇關(guān)閉這個(gè)連接,以省下資源讓更多的用戶連接進(jìn)來(lái)。更多面試講解,微信搜索【碼農(nóng)編程進(jìn)階筆記
        所以,即便客戶端的是采用死循環(huán)while(true)方式連到服務(wù)端,對(duì)于特定的客戶端和服務(wù)端類型來(lái)說(shuō)也需要一定時(shí)間間隔的心跳(告訴服務(wù)端,我還活著,雖然我沒(méi)干活也沒(méi)說(shuō)話,但別把我關(guān)了)

        03

        微信支付回調(diào)失敗該如何處理?

        他問(wèn)的是已經(jīng)支付成功后,但是回調(diào)失敗了。自己可以創(chuàng)建定時(shí)任務(wù)在每天的凌晨執(zhí)行,去微信那邊對(duì)賬,然后更新數(shù)據(jù)庫(kù)訂單狀態(tài)。


        04

        Mysql索引優(yōu)化使用like時(shí)用%開(kāi)頭的,如何提高性能?


        ?https://www.cnblogs.com/mqfs/p/13097229.html


        05

        跨域的實(shí)現(xiàn)原理是什么?

        ?https://www.cnblogs.com/fundebug/p/10329202.html


        06

        Nginx負(fù)載均衡時(shí)如何按時(shí)間段設(shè)置

        https://blog.csdn.net/jasonware/article/details/75044944


        07

        秒殺活動(dòng)中如何限制超買?

        https://blog.csdn.net/mu_rain/article/details/80249010


        08

        用鎖表限制秒殺超買如何實(shí)現(xiàn)?


           https://blog.csdn.net/yyqhwr/article/details/106960605



        09

        分表時(shí),如何在兩張表中查詢數(shù)據(jù)??不用關(guān)聯(lián)表的情況。Union 和 distinct的區(qū)別是什么?


        參考這個(gè) https://bbs.csdn.net/topics/90484500

        1. 從用途上講它們都具有去重的效果

        2. 從效率上講:distinct通常不建議使用,效率較低;union all 和union 而言,union all效率更高;原因是:union 相當(dāng)于多表查詢出的數(shù)據(jù)進(jìn)行去重然后再進(jìn)行排序后返回,而union all是多表查詢合并去重后就直接返回

        3. 從單表還是多表上講:

          單表上有重復(fù)記錄只能使用distinct,多表查詢建議用union all


        10

        調(diào)用區(qū)塊鏈接口的安全措施,有那些實(shí)現(xiàn)方法?

        1. 使用MD5實(shí)現(xiàn)對(duì)接口加簽,目的是為了防止篡改數(shù)據(jù)。

        2. 基于網(wǎng)關(guān)實(shí)現(xiàn)黑明單與白名單攔截

        3. 可以使用rsa非對(duì)稱加密 公鑰和私鑰互換

        4. 如果是開(kāi)放接口的話,可以采用oath2.0協(xié)議

        5. 使用Https協(xié)議加密傳輸,但是傳輸速度慢

        6. 對(duì)一些特殊字符實(shí)現(xiàn)過(guò)濾 防止xss、sql注入的攻擊

        7. 定期使用第三方安全掃描插件

        8. 接口采用dto、do實(shí)現(xiàn)參數(shù)轉(zhuǎn)化 ,達(dá)到敏感信息脫敏效果

        9. 使用token+圖形驗(yàn)證碼方法實(shí)現(xiàn)防止模擬請(qǐng)求

        10. 使用對(duì)ip訪問(wèn)實(shí)現(xiàn)接口的限流,對(duì)短時(shí)間內(nèi)同一個(gè)請(qǐng)求(ip)一直訪問(wèn)接口 進(jìn)行限制。


        11

        ?服務(wù)器受到dos攻擊,這個(gè)問(wèn)題如何應(yīng)付?

        看看你的服務(wù)的訪問(wèn)日志,在防火墻中加過(guò)濾,或者在web服務(wù)器中加過(guò)濾吧。方法有以下幾種。
        1. 對(duì)于特定的IP訪問(wèn)的情況,限制IP訪問(wèn)
        2. 限制同一IP在單位時(shí)間內(nèi)的訪問(wèn)次數(shù)
        3. 上級(jí)服務(wù)器,提高吞吐能力
        是消耗服務(wù)器資源為主還是純流量攻擊?消耗資源的可以通過(guò)配置防火墻過(guò)濾規(guī)則防御中小規(guī)模的攻擊。如果是純流量攻擊,考慮你用的是linode真心無(wú)解。即便你封了IP封了端口也沒(méi)用,人家不管你接不接受他的請(qǐng)求,他都會(huì)塞滿你的帶寬。linode必然認(rèn)為你是被流量攻擊或者消耗過(guò)多資源然后給你掛起。

        一往期精彩回顧

        [精選]PHP高級(jí)開(kāi)發(fā)工程面試經(jīng)整理

        2021年最新大廠php+go面試題集(一)

        2021年最新大廠php+go面試題集(二)

        2021年最新大廠php+go面試題集(三)

        2021年最新大廠php+go面試題集(四)

        php程序員面試題(偏中級(jí)面試題)

        面試官問(wèn):如何防超賣,有幾種實(shí)現(xiàn)方式[精選]

        PHP高級(jí)開(kāi)發(fā)工程面試經(jīng)整理

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

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

        go面試題:第一天

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

        2021 年6月面試遭遇滑鐵盧,現(xiàn)在這么內(nèi)卷了嗎

        想跳槽漲薪,想進(jìn)大廠,如何準(zhǔn)備面試呢?

        瀏覽 62
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        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>
            爱爱精品 | 性xxxx18免费观看视频 | 国语对白在线视频 | 中国婬乱a一级毛片多女麻豆 | 日韩v在线 | 女人的叫声嗯爽视频 | 国内精品久久久久久99果冻传媒 | 91精品人妻一区二区 | 大黑鸡巴操逼视频 | 亚洲日韩欧美久久久 |