1)git fetch和git pull的區別node
git pull:從遠程獲取最新版本並merge到本地。git
git fetch:從遠程獲取最新版本到本地,不會自動merge。mongodb
2)說說網絡分層裏七層模型是哪七層?數據庫
應用層:瀏覽器
應用層、表示層、會話層(從上往下)(HTTP、FTP、SMTP、DNS);緩存
傳輸層(TCP、UDP)服務器
網絡層(IP)網絡
物理和數據鏈路層(以太網)分佈式
每一層的做用:post
一、物理層:經過媒介傳輸比特,肯定機械及電氣規範
二、數據鏈路層:
將比特組裝成幀和點到點的傳遞(幀Frame)
三、網絡層
負責數據包從源到宿的傳遞和網際互連(包Packet)
四、傳輸層
提供端到端的可靠報文傳遞和錯誤恢復(Segment)
五、會話層
創建、管理和終止會話(會話協議數據單元SPDU)
六、表示層
對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
七、應用層
容許訪問OSI環境的手段(應用協議數據單元APDU)
各類協議:
ICMP協議:因特網控制報文協議,它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。
TFTP協議:是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜,開銷不大的文件傳輸服務
HTTP協議:超文本傳輸協議:是一個屬於應用層的面向對象的協議。因爲其簡捷、快速的方式,適用於分佈式超媒體信息系統
DHCP協議:動態主機配置協議,是一種讓系統得以鏈接到網絡上,並獲取所須要的配置參數手段。
3)說說mongoDB和MySQL的區別
MYSQL是傳統的關係型數據庫,MongoDB則是非關係型數據庫
mongodb以BSON結構(二進制)進行存儲,對海量數據存儲有着很明顯的優點。
對比傳統關係型數據庫,NoSQL有着很是顯著的性能和擴展性優點
與關係型數據庫相比,MongoDB的優勢有:
【1】弱一致性(最終一致),更能保證用戶的訪問速度。
【2】文檔結構的存儲方式,可以更便捷的獲取數據。
4)講講304緩存的原理?
服務器首先產生Etag,服務器可在稍後使用它來判斷頁面是否已經被修改,本質上客戶端經過將該記號傳回服務器,要求服務器
驗證其(客戶端)緩存。
304是HTTP狀態碼,服務器用來標識這個文件沒修改,不返回內容,瀏覽器在接受到這個狀態碼後,會使用瀏覽器已緩存的文件。
客戶端請求一個頁面(A), 服務器返回該頁面A,並在給A加上一個ETag,客戶端緩存該頁面,並將頁面連同ETag一塊兒緩存。
客戶再次請求頁面A,並將上次請求時服務器返回的ETag一塊兒傳遞給服務器。
服務器檢查該ETag,並判斷出該頁面自上次客戶端請求以後還未被修改,直接返回響應304(未修改——Not Modidied)和一個空的響應體。
5)用node模擬客戶端發起請求?
1 var http = require("http"); 2 var request = http.request({ 3 host: "localhost", 4 port: "8080", 5 path: "/request", 6 method: "post" 7 }, function(res) { 8 res.on("data", function(chunk) { 9 console.log(chunk.toString()); 10 }); 11 }); 12 13 request.write("user=zhang&pass=111"); 14 request.end("請求結束");