php面試寶典7

2021-08-03 19:20:50 字數 1331 閱讀 5556

1. mysql_real_escape_string mysql_escape_string有什麼本質的區別,有什麼用處,為什麼被棄用? 答:

(1)mysql_real_escape_string需要預先連線資料庫,並可在第二個引數傳入資料庫連線(不填則使用上乙個連線)

(2)兩者都是對資料庫插入資料進行轉義,但是mysql_real_escape_string轉義時,會考慮資料庫連線的字符集

(3)被棄用的原因是官方不再建議使用mysql_xx的資料庫操作方式,建議使用pdo和mysqli(連線復用(持久化)),因為不管從效能跟安全來看,mysqli都比mysql要好

(4)它們的用處都是用來能讓資料正常插入到資料庫中,並防止sql注入,但是並不能做到100%防止sql注入

2. 再問:為什麼不能100%防止? 答:

(1)因為客戶端編碼以及伺服器端編碼不同,可能產生注入問題,但是其實這種場景不多見。

3.什麼是記憶體洩漏,js記憶體洩漏是怎麼產生的?

答:(1)記憶體洩漏是因為一塊被分配記憶體既不能被使用,也不能被**,直到瀏覽器程序結束

(2)頁面元素被刪除,但是繫結在該元素上的事件未被刪除

(3)閉包維持函式內區域性變數(外部不可控),使其得不到釋放

(4)意外的全域性變數

(5)引用被刪除,但是引用內的引用,還存在記憶體中

4.什麼是閉包,跟原型鏈、作用域鏈有什麼關聯

答:5.一台電腦配置無限好,可以同時開啟多少個網頁 答:

65535-1000 = 64535(埠數)

6.ip位址能被偽造嗎 答:

http頭部可以被篡改,但是只能修改x_forwarded_for,真實ip位址(remote_addr)很難修改(除非是路由器去修改),因為真實ip是底層會話ip位址,而且因為tcp 3次握手的存在,連線無法建立,偽造的意義不大,至於udp的話,一般是內網才使用udp通訊

7.有100萬個獎品,每個人可以中獎3次,先到先得,怎麼控制併發,不能髮超,並保證完全的先到先得模式

8.innodb的master執行緒在什麼情況下fork其他子執行緒

9.資料鏈路層的資料是怎麼校驗的,有哪些校驗方式

答:crc32,別的校驗可能是取模校驗奇偶數吧。

10.b+樹的查詢時間複雜度是多少,雜湊表是多少,為什麼資料庫索引用b+樹儲存,而不是雜湊表,資料庫索引儲存還有其他資料結構嗎

答:(1).

o(log(n)),o(1)

(2)因為雜湊表是雜湊的,在遇到`key`>'12'這種查詢條件時,不起作用,並且空間複雜度較高

(3)b+數根據層數決定時間複雜度,資料量多的情況下一般4-5層,然後用二分法查詢頁中的資料,時間複雜度遠小於log(n)

php面試寶典5

1.類繼承用 extends,靜態屬性用static 常量屬性用const,抽象屬性用 abstract,阻止子類覆蓋用final,檢測是否為其子類用 instanceof,序列化物件用serialize,2.php復合資料型別有 array,object,特殊資料型別有 resource,null...

面試寶典12

1 請你自我介紹一下自己好嗎?3 說說你最大的缺點?4 你對薪資的要求?5 你對加班的看法?回答樣本 如果工作需要我會義不容辭加班,我現在單身,沒有任何家庭負擔,可以全身心的投入工作。但同時我也會提高工作效率,減少不必要的加班。6 如果通過這次面試我們錄用了你,但工作一段時間卻發現你根本不適合這個職...

cpp面試寶典

小白在面試寶典上的遊蕩 下面開始今日說法 比較兩端 include using namespace std int main cout 0 2 1 分析 初始化a 0,x 0,滿足a 1,且x的非為1,所以符合迴圈條件,x自加為1,a自加為1,進入迴圈體a加為2,已經不符合小於等於1的條件,所以後面...