PHP開發面試常問問題合集

2021-09-12 11:36:06 字數 1011 閱讀 9674

1 cookie及session的聯絡與區別

區別:(1)cookie資料存放在本地瀏覽器,session資料存放在伺服器

(2)存放在伺服器端的session較為安全,不容易被竊取,相對來說,存放在本地瀏覽器的沒有那麼安全,別人可以分析存放在本地的cookie並進行偽造欺騙

(3)session會在一定時間內儲存在伺服器上,當訪問增多,會比較占用伺服器效能,考慮到減輕伺服器效能,可以將登入資訊等較為重要的資訊存放在session,其它的存放在cookie

聯絡:session的實現方式和cookie有一定關係。建立乙個連線就生成乙個session id,開啟幾個頁面就好幾個了,這裡就用到了cookie,把session id存在cookie中,每次訪問的時候將session id帶過去就可以識別了.

如果客戶端禁用cookie:

單點登入的原理是後端生成乙個 session id,設定到 cookie,後面所有請求瀏覽器都會帶上cookie,然後服務端從cookie獲取 session id,查詢到使用者資訊。

所以,保持登入的關鍵不是cookie,而是通過cookie 儲存和傳輸的 session id,本質是能獲取使用者資訊的資料。

除了cookie,還常用 http 請求頭來傳輸。但這個請求頭瀏覽器不會像cookie一樣自動攜帶,需手工處理

詳情可以參考下面博文:

2 關於mysql的搜尋引擎innodb和myisam

(1)myisam只支援表級鎖,innodb支援行級鎖

(2)myisam不支援事務,innodb支援事務

(3)myisam不支援外來鍵,innodb支援外來鍵

(4)myisam支援全文索引,innodb不支援全文索引

(5)myisam插入資料速度相對來說比較快

3 xss以及csrf原理以及如何防止

可以參下面的文章

5 關於快取memcached 以及 redis 的比較

6 如何防止sql注入攻擊

7 **效能優化(資料庫、高併發、大資料量)

後續再更新……

php 面試常問問題

1.看看簡歷,會問一些過去做的專案的使用者量 pv 吞吐量 相關難點和解決方法等 2.資料庫設計經驗,為什麼進行分表?分庫?一般多少資料量開始分表?分庫?分庫分表的目的?什麼是資料庫垂直拆分?水平拆分?分割槽等等?可以舉例說明 3.資料庫優化有哪些?分別需要注意什麼?4.web開發方面會遇到哪些快取...

C 研發面試常問問題整理

1 在瀏覽器中輸入乙個 開啟網頁的過程,用到了什麼協議,這些協議分別在 用到。dns解析 tcp連線 http請求 伺服器處理請求並返回http報文 瀏覽器解析渲染介面。參考 前端經典面試題 從輸入url到頁面載入發生了什麼?2 tcp三次握手及四次揮手的過程。為什麼不是兩次?如果兩次握手有什麼後果...

Mysql面試常問問題

資料庫基礎知識 1 為什麼要使用資料庫 2 什麼是sql?3 什麼是mysql?4 資料庫三大正規化是什麼 5 mysql有關許可權的表都有哪幾個 6 mysql的binlog有有幾種錄入格式?分別有什麼區別?資料型別 1 mysql有哪些資料型別 引擎1 mysql儲存引擎myisam與innod...