第一次電話面試總結
第一次電話面試在毫無徵兆下到來,感覺自己做的不是很好吧,有點虛,所以,特意寫一篇部落格來記錄其中遇到的問題
1當在瀏覽器中輸入url時,後面一系列發生了什麼行為
答:導航的第一步是通過訪問的域名找出其IP地址,DNS查詢過程
1 瀏覽器的快取 系統快取,ISP DNS快取
2瀏覽器解析url獲取協議 主機 埠 path
3瀏覽器組裝成一個http (get) 請求報文
4 瀏覽器獲取主機ip地址 過程如下
瀏覽器快取 本機快取 hosts快取 路由器快取等
dns地櫃查詢
5開啟一個socket 與目標IP地址 埠簡歷TCP連結 3次握手
6 TCP連線建立後傳送http請求
7伺服器接受請求並解析 將請求轉發到服務程式
9伺服器檢查http請求頭是否包含快取等驗證資訊
伺服器將響應報文通過TCP連結發回瀏覽器
10瀏覽器接受http 響應 通過4次握手 關閉TCP連結
11 瀏覽器解析成DOM樹 大致就是如此
具體可看如下http://www.qdfuns.com/notes/16842/88908c6bd93eaa881bb0fdc087ef67e0.html
二 js的繼承 js中的每個型別實際上都是一種物件 js可以通過原型鏈來進行繼承
具體可看這裡function Person(name,sex){ this.name = name; this.sex = sex; } Person.prototype = { getName:function () { return this.name; }, getSex:function () { return this.sex; } }
http://www.cnblogs.com/sanshi/archive/2009/07/08/1519036.html
三 跨域的幾種處理方法
1 在主域相同的時候
document.domain + iframe
2.動態建立script
3.location.hash + iframe
4.window.name + iframe
5.postMessage
6.CORS背後的思想 就是使用自定義的HTTP頭部讓瀏覽器與伺服器進行通訊 從而決定請求或是響應是否應該成功 還是應該失敗
7.JSONP包含兩部分:回撥函式和資料
websocket 瀏覽器API
8 http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html 閉包的作用 實際上就是函式裡面巢狀函式