一、如何拋出異常并且捕獲異常
二、常用的Python標準庫有哪些,并且說明其作用
三、描述深拷貝和淺拷貝的區(qū)別
四、__init__ 和 __new__的區(qū)別?
__new__ 會優(yōu)先調用 且有返回值
__init__ 沒有返回值
五、什么是解釋型語言,什么是編譯型語言
六、Match和search的區(qū)別
Match:只有在0位置匹配成功的話才有返回, 如果不是開始位置匹配成功的話,返回none
search:會掃描整個字符串并返回第一個成功的匹配
七、用 Python 匹配 HTML tag 的時候,<.*> 和 <.*?> 有什么區(qū)別?
import re
s = ‘
print(re.match(‘<.*>’, s).group())
會返回一個匹配
import re
s = ‘
print(re.match(‘<.*?>’, s).group())
則會返回
<.*> 為貪婪匹配
<.*?> 為非貪婪匹配
八、談談你對線程安全的理解
九、什么是僵尸進程和孤兒進程?怎么避免僵尸進程
孤兒進程:父進程退出,子進程還在運行的的這些子進程都是孤兒進程,孤兒進程將被init進程所 收養(yǎng),并由init進程對他們完成狀態(tài)收集工作
僵尸進程:進程使用fork創(chuàng)建子進程,如果子進程退出,而父進程并沒有調用wait或waitpid獲取 子進程的狀態(tài)信息,那么子進程的進程描述符任然保存在系統(tǒng)中的這些進程是僵尸進程
避免僵尸進程:
1.fork兩次用孫子進程去完成子進程的任務
2.用wait()函數(shù)是父進程阻塞
3.使用信號量,在signal handler中調用waitpid,這樣父進程不用阻塞
十、TCP和UDP的區(qū)別
相同點:都是傳輸層協(xié)議
TCP:提供的是面向連接,可靠的字節(jié)流服務。即客戶端與服務端交換數(shù)據(jù)前,必須雙方之間建立一個tcp連接,之后才能傳輸數(shù)據(jù)。并且提供超時重發(fā),丟棄重復數(shù)據(jù),檢驗數(shù)據(jù),流量控制等功能,保證數(shù)據(jù)能從一端傳到另一端。
UDP:簡單的面向數(shù)據(jù)報的運輸層協(xié)議。不提供可靠性,只是把應用程序傳給ip層的數(shù)據(jù)報發(fā)送出去,但是不能保證他們能達到目的地。由于udp在傳輸數(shù)據(jù)報前不用向客戶和服務器之間建立一個連接,且沒有超時重發(fā)等機制,所以傳輸速度很快。
十一、畫出TCP三次握手的過程
十二、創(chuàng)建一個TCP服務端的流程及關鍵代碼
十三、路由器工作在TCP/IP模型的哪一層?路由器的工作原理
十四、簡述瀏覽器通過 WSGI 請求動態(tài)資源的過程(WSGI:web服務器網(wǎng)關接口)
1.發(fā)送http請求動態(tài)資源給web服務器
2.web服務器收到請求后通過WSGI調用一個屬性給應用程序框架
3.應用程序框架通過引用WSGI調用web服務器的方法,設置返回的狀態(tài)和頭信息
4.調用后返回,此時web服務器保存了剛剛設置的信息
5.應用程序框架查詢數(shù)據(jù)庫,生成動態(tài)頁面的body的信息
6.把生成的body信息返回給web服務器
7.web服務器把數(shù)據(jù)返回給瀏覽器
十五、描述用瀏覽器訪問 www.baidu.com 的過程
1.瀏覽器向DNS服務器發(fā)出解析域名的請求
2.DNS服務器將“www.baidu.com”域名解析為對應的ip地址,并返回給瀏覽器
3.瀏覽器與百度服務器進行三次握手,建立tcp連接
4.瀏覽器發(fā)出HTTP請求報文
5.服務器回復HTPP響應報文
6.瀏覽器解析響應報文,渲染HTML內容,并顯示在頁面上
7.收發(fā)報文結束,釋放TCP連接,執(zhí)行四次揮手
(四次揮手:
(1)TCP客戶端發(fā)送一個FIN,用來關閉客戶到服務器的數(shù)據(jù)傳送。
(2)服務器收到這個FIN,它發(fā)回一個ACK,確認序號為收到的序號加1。
和SYN一樣,一個FIN將占用一個序號。
(3)服務器關閉客戶端的連接,發(fā)送一個FIN給客戶端。
(4)客戶端發(fā)回ACK報文確認,并將確認序號設置為收到序號加1。)
十六、Post 和 Get 請求的區(qū)別
十七、cookie和session的區(qū)別
十八、HTTP 協(xié)議狀態(tài)碼有什么用,列出你知道的 HTTP 協(xié)議的狀態(tài)碼,然后講出他們都表示什么意思
十九、HTTP 常見請求頭有哪些?
二十、寫一個郵箱地址的正則表達式
二十一、srcapy框架的基本內容
二十二、遇到哪些反爬,怎么解決?
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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