python實(shí)戰(zhàn)之爬蟲(chóng)面試必備題目有哪些-創(chuàng)新互聯(lián)

了解python實(shí)戰(zhàn)之爬蟲(chóng)面試必備題目有哪些?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

創(chuàng)新互聯(lián)成立于2013年,公司以成都網(wǎng)站建設(shè)、網(wǎng)站制作、系統(tǒng)開(kāi)發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶(hù)1000+,涉及國(guó)內(nèi)多個(gè)省份客戶(hù)。擁有多年網(wǎng)站建設(shè)開(kāi)發(fā)經(jīng)驗(yàn)。為企業(yè)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專(zhuān)業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶(hù)提供各種風(fēng)格的特色服務(wù)。

1、Python 有哪些數(shù)據(jù)類(lèi)型?

Python 有 6 種內(nèi)置的數(shù)據(jù)類(lèi)型,其中不可變數(shù)據(jù)類(lèi)型是Number(數(shù)字), String(字符串), Tuple(元組),可變數(shù)據(jù)類(lèi)型是 List(列表),Dict(字典),Set(集合)。

2、列表和元組的區(qū)別

列表和元組都是可迭代對(duì)象,能夠?qū)ζ溥M(jìn)行循環(huán)、切片等,但元組 tuple 是不可變的。元組不可變的特性,使得它可以成為字典 Dict 中的鍵。

3、Python 是如何運(yùn)行的CPython:

Python 程序運(yùn)行時(shí),會(huì)先進(jìn)行編譯,將 .py 文件中的代碼編譯成字節(jié)碼(byte code),編譯結(jié)果儲(chǔ)存在內(nèi)存的 PyCodeObject 中,然后由 Python 虛擬機(jī)解釋運(yùn)行。當(dāng)程序運(yùn)行結(jié)束后,Python 解釋器會(huì)將 PyCodeObject 保存到 pyc 文件中。每一次運(yùn)行時(shí) Python 都會(huì)先尋找與文件同名的 pyc 文件,如果 pyc 存在則比對(duì)修改記錄,根據(jù)修改記錄決定直接運(yùn)行或再次編譯后運(yùn)行,最后生成 pyc 文件 。

4、Python 運(yùn)行速度慢的原因

a). Python 不是強(qiáng)類(lèi)型的語(yǔ)言,所以解釋器運(yùn)行時(shí)遇到變量以及數(shù)據(jù)類(lèi)型轉(zhuǎn)換、比較操作、引用變量時(shí)都需要檢查其數(shù)據(jù)類(lèi)型。

b). Python 的編譯器啟動(dòng)速度比 JAVA 快,但幾乎每次都要啟動(dòng)編譯。

c). Python 的對(duì)象模型會(huì)導(dǎo)致訪(fǎng)問(wèn)內(nèi)存效率變低。Numpy 的指針指向緩存區(qū)數(shù)據(jù)的值,而 Python 的指針指向緩存對(duì)象,再通過(guò)緩存對(duì)象指向數(shù)據(jù):

5.搜索引擎的工作流程(通用爬蟲(chóng)的工作流程)

(1)抓取網(wǎng)頁(yè):通過(guò)搜索引擎將待爬取的URL加入到通用爬蟲(chóng)的URL隊(duì)列中,進(jìn)行網(wǎng)頁(yè)內(nèi)容的爬取。

(2)數(shù)據(jù)存儲(chǔ):將爬取下來(lái)的網(wǎng)頁(yè)保存到本地,這個(gè)過(guò)程會(huì)有一定的去重操作,如果某個(gè)網(wǎng)頁(yè)的內(nèi) 容大部分內(nèi)容都會(huì)重復(fù),搜索引擎可能不會(huì)保存。

(3)預(yù)處理:提取文字,中文分詞,消除噪音(比如版權(quán)聲明文字,導(dǎo)航條,廣告等)。

(4)設(shè)置網(wǎng)站排名,為用戶(hù)提供服務(wù)。

6、什么是棧溢出?怎么解決?

因?yàn)闂R话隳J(rèn)為1-2m,一旦出現(xiàn)死循環(huán)或者是大量的遞歸調(diào)用,在不斷的壓棧過(guò)程中,造成棧容量超過(guò)1m而導(dǎo)致溢出。

棧溢出的情況有兩種:1)局部數(shù)組過(guò)大。當(dāng)函數(shù)內(nèi)部數(shù)組過(guò)大時(shí),有可能導(dǎo)致堆棧溢出。2)遞歸調(diào)用層次太多。遞歸函數(shù)在運(yùn)行時(shí)會(huì)執(zhí)行壓棧操作,當(dāng)壓棧次數(shù)太多時(shí),也會(huì)導(dǎo)致堆棧溢出。

解決方法:1)用棧把遞歸轉(zhuǎn)換成非遞歸。2)增大棧空間。

7、 MySQL的索引在什么情況下失效?

1)如果條件中有or,即使其中有條件帶索引也不會(huì)使用(這也是為什么盡量少用or的原因)

要想使用or,又想讓索引生效,只能將or條件中的每個(gè)列都加上索引。

2)對(duì)于多列索引,不是使用的第一部分,則不會(huì)使用索引。

3)like查詢(xún)以%開(kāi)頭。

4)如果列類(lèi)型是字符串,那一定要在條件中將數(shù)據(jù)使用引號(hào)引用起來(lái),否則不使用索引。

5)如果MySQL估計(jì)使用全表掃描要比使用索引快,則不使用索引。

8、 HTTPS是如何實(shí)現(xiàn)安全傳輸數(shù)據(jù)的?

客戶(hù)端(通常是瀏覽器)先向服務(wù)器發(fā)出加密通信的請(qǐng)求;

服務(wù)器收到請(qǐng)求,然后響應(yīng);

客戶(hù)端收到證書(shū)之后會(huì)首先會(huì)進(jìn)行驗(yàn)證;

服務(wù)器收到使用公鑰加密的內(nèi)容,在服務(wù)器端使用私鑰解密之后獲得隨機(jī)數(shù)pre-master secret,然后根據(jù)radom1、radom2、pre-master secret通過(guò)一定的算法得出session Key和MAC算法秘鑰,作為后面交互過(guò)程中使用對(duì)稱(chēng)秘鑰。同時(shí)客戶(hù)端也會(huì)使用radom1、radom2、pre-master secret,和同樣的算法生成session Key和MAC算法的秘鑰。

然后再后續(xù)的交互中就使用session Key和MAC算法的秘鑰對(duì)傳輸?shù)膬?nèi)容進(jìn)行加密和解密。

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)python實(shí)戰(zhàn)之爬蟲(chóng)面試必備題目有哪些大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

名稱(chēng)欄目:python實(shí)戰(zhàn)之爬蟲(chóng)面試必備題目有哪些-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://www.bm7419.com/article30/dpcpso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站Google、定制網(wǎng)站、定制開(kāi)發(fā)網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)