面試題

web安全:

SQL注入:
    由於用戶輸入一些不安全的數據。
    防範:白名單與黑名單,轉義,過濾。
CSRF(跨站請求僞造):
    通過模擬cookie信息,進行惡意請求
    防範:驗證碼,token
XSS攻擊:
    用戶輸入javascript代碼,過濾處理
DDOS攻擊:
    對服務器短時間內大量請求,造成服務器掛掉宕機。

緩存:

使用緩存場景:
    複雜開銷大的計算,降低後端負載
    加速請求響應

緩存更新策略:
    算法剔除
        memcache:LRU清除最近最少使用的
        redis:設置最大可用內存,內存不夠時,淘汰策略
    超時剔除:
        設置有效期
    主動更新:
        利用消息系統或其他的方式通知緩存更新
    最佳實踐:
        設置緩存最大內存值,超時剔除加主動更新主動使用

緩存穿透(緩存命中率):
    當我們從緩存服務器獲取一個一定不存在的值,由於緩存不命中,就會去存儲層查找,然而存儲層也查不到數據,
    所以就造成每次都會去請求存儲層。

緩存雪崩:
    當我們的cache層由於某些原因整體crash掉了,也就意味着所有的請求直接到達了storage層。

緩存無底洞:
    分佈式多次網絡IO時間

緩存粒度:
    緩存部分數據與全部數據 

正向代理與反向代理:

正向代理隱藏的了真實的請求客戶端,服務端不知道真實的客戶端是誰,客戶端的請求的服務無憂代理服務器代替來請求。
反向代理隱藏了真實的服務端,當我們請求www.baidu.com時候,背後可能有成千上萬臺服務器爲我們服務,但具體是那一臺,你
不知道,也不需要知道,你只需要知道反向代理服務器是誰就好了,www.baidu.com就是我們的反向代理服務器。反向代理服務器
會幫我們把請求轉發到真實的服務器那裏去,Nginx就是性能非常好的反向代理服務器,做負載均衡。

正向代理服務器與代理客戶端不在同一個局域網內,而反向代理正好相反。
請求發起方會知道正向代理的存在,但不知道反向代理的存在。
正向代理是直接轉發被代理方的請求,反向代理是轉發用戶訪問我們服務器的請求,也就是轉發請求給被代理方

CDN:就近取得所需內容。

CDN是構建在網絡上的內容分發網絡,依靠部署在各地的邊緣服務器。
通過中心平臺的負載均衡,內容分發,調度等功能模塊,使用戶就近取得所需內容,降低網絡擁塞,提高用戶訪問速度。
CDN關鍵技術主要是內容存儲和分發技術。

大流量處理:

查看當前網站是否支持當前的流量
硬件升級,服務器集羣,負載均衡,分佈式,CDN,頁面靜態化,緩存技術
數據庫優化
    分表,讀寫分離,主從複製,SQL優化。
禁止盜鏈,控制大文件的上傳與下載。
使用流量軟件進行監控。

高併發處理:

頁面靜態化,SOL優化,分區,分表,緩存,主從複製,讀寫分離。

PHP工作原理:

client->web serve->fast-cgi->php-fpm
                  |
client->web server->fast-cgi->php-fpm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章