···python
這些題的答案是自己做的,可能有些答的不到位,總之,和大家一起進步吧! 希望對大家有所幫助。
1、 在瀏覽器輸入www.google.com回車后,會發生什么?
答:
(1)查找域名的IP地址,DNS域名解析 --瀏覽器首先要確認的是域名所對應的服務器IP地址,獲取是需要的頁面內容,由DNS服務器將域名解析成對應的服務器IP地址。
(2)建立TCP鏈接 ,客戶端與服務器的TCP鏈接 – 三次握手
(3)客戶端發起請求后服務器接收請求,處理請求并返回響應內容
(4)關閉TCP連接
(5)瀏覽器解析HTML,渲染頁面
2、 簡述TCP三次握手的過程
答:
第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,并進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手.完成三次握手,客戶端與服務器開始傳送數據
3、 簡述HTTP、TCP、IP、UDP和區別
答:
(1)TCP/UDP協議是傳輸層協議,主要解決數據如何在網絡中傳輸,而HTTP是應用層協議,主要解決如何包裝數據。IP協議是網絡層協議。
(2)TCP提供有保證的數據傳輸,而UDP不提供。這意味著TCP有一個特殊的機制來確保數據安全的不出錯的從一個端點傳到另一個端點,而UDP不提供任何這樣的保證。
(3)HTTP(超文本傳輸協議)是利用TCP在兩臺電腦(通常是Web服務器和客戶端)之間傳輸信息的協議??蛻舳耸褂肳eb瀏覽器發起HTTP請求給Web服務器,Web服務器發送被請求的信息給客戶端。
4、 簡述HTTP與HTTPS的區別
答:
(1)Http:超文本傳輸協議,Http協議是以明文方式發送信息的,如果黑客截取了Web瀏覽器和服務器之間的傳輸報文,就可以直接獲得其中的信息。
(2)Https:是以安全為目標的Http通道,是Http的安全版。Https的安全基礎是SSL。SSL協議位于TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。
(3)http默認端口號是80,Https是443。
(4)Https協議握手階段比較費時, Https連接緩存不如Http高效
5、 簡述Cookie、Session的工作原理
答:cookie工作原理:
(1)創建:用戶向服務器發起請求時,由服務器端生成,通過response對象響應給瀏覽器并保存
(2)使用:當再次發起請求時,request對象攜帶瀏覽器的cookie到達服務器,再通過request對象讀取cookie中的值
session工作原理:
瀏覽器第一次請求session對象時,服務器會創建一個session并且生成一個sessionId,存儲在數據庫中,并將sessionid返回給瀏覽器,這個sessionId會被保存在瀏覽器的會話cookie中。
在瀏覽器不關閉的情況下,之后的每次請求請求頭都會攜帶這個sessionId到服務器。服務器接收到請求后就得到該請求的sessionID,服務器找到該id對應的session返還給請求者使用。
-
事務的基本特征
原子性(atomicity):一個事務必須視為一個不可分割的最小工作單元,整個事務中的所有操作要么全部提交成功,要么全部失敗回滾,對于一個事務來說,不可能只執行其中的一部分操作
一致性(consistency):數據庫總數從一個一致性的狀態轉換到另一個一致性的狀態。
隔離性(isolation):一個事務所做的修改在最終提交以前,對其他事務是不可見的。
持久性(durability):一旦事務提交,則其所做的修改就會永久保存到數據庫中。此時即使系統崩潰,修改的數據也不會丟失。 -
說一說你能想到的sql語句優化,至少五種
避免全表掃描select *,將需要查找的字段列出來
盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描
盡量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索引而進行全表掃描
使用連接(join)來代替子查詢
使用limit對查詢結果的記錄進行限定
用 exists 代替 in 是一個好的選擇
用Where子句替換HAVING 子句 因為HAVING 只會在檢索出所有記錄之后才對結果集進行過濾 -
union、union all的區別
對重復結果的處理:UNION在進行表鏈接后會篩選掉重復的記錄,Union All不會去除重復記錄
對排序的處理:Union將會按照字段的順序進行排序;UNION ALL只是簡單的將兩個結果合并后就返回;
從效率上說,UNION ALL 要比UNION快很多 -
索引的作用?和它的優點缺點是什么
索引就一種特殊的查詢表,數據庫的搜索引擎可以利用它加速對數據的檢索。它很類似與現實生活中書的目錄,不需要查詢整本書內容就可以找到想要的數據。索引可以是唯一的,創建索引允許指定單個列或者是多個列。缺點是它減慢了數據錄入的速度,同時也增加了數據庫的尺寸大小 -
MySQL主要的索引類型
普通索引:是最基本的索引,它沒有任何限制;
唯一索引:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一;
主鍵索引:是一種特殊的唯一索引,一個表只能有一個主鍵,不允許有空值;
組合索引:指多個字段上創建的索引,只有在查詢條件中使用了創建索引時的第一個字段,索引才會被使用。使用組合索引時遵循最左前綴集合;
全文索引:主要用來查找文本中的關鍵字,而不是直接與索引中的值相比較,mysql中MyISAM支持全文索引而InnoDB不支持; -
使用索引注意事項
索引不會包含有NULL的列,復合索引中只要有一列含有NULL值,那么這一列對于此符合索引就是無效的;使用短索引,對串列進行索引,如果可以就應該指定一個前綴長度;短索引不僅可以提高查詢速度而且可以節省磁盤空間和I/O操作;
mysql查詢只使用一個索引,因此數據庫默認排序可以符合要求的情況下不要使用排序操作,盡量不要包含多個列的排序,如果需要最好給這些列建復合索引;
索引要建立在值比較唯一的字段上;對于那些定義為text、image和bit數據類型的列不應該增加索引 -
說一說臟讀、不可重復讀、幻讀
臟讀:事務A讀取了事務B更新的數據,然后B回滾操作,那么A讀取到的數據是臟數據;
不可重復讀:事務 A 多次讀取同一數據,事務 B 在事務A多次讀取的過程中,對數據作了更新并提交,導致事務A多次讀取同一數據時,結果因此本事務先后兩次讀到的數據結果會不一致;
幻讀:幻讀解決了不重復讀,保證了同一個事務里,查詢的結果都是事務開始時的狀態(一致性);
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
