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

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