python實戰之爬蟲面試必備題目
我們在上學時,如果面試考試,最希望的是有一份知識點可以用來複習,雖然不一定全部和試卷吻合,但起碼有了去考試的信心,這點小編也是深有體會的。考慮到學習中有一部分小夥伴在找工作,小編特意整理出一份爬蟲面試的必備題目,當然以下內容僅作為參考,小夥伴們可以照著題目記一記。
1、Python 有哪些資料型別?
Python 有 6 種內建的資料型別,其中不可變資料型別是Number(數字), String(字串), Tuple(元組),可變資料型別是 List(列表),Dict(字典),Set(集合)。
2、列表和元組的區別
列表和元組都是可迭代物件,能夠對其進行迴圈、切片等,但元組 tuple 是不可變的。元組不可變的特性,使得它可以成為字典 Dict 中的鍵。
3、Python 是如何執行的CPython:
Python 程式執行時,會先進行編譯,將 .py 檔案中的程式碼編譯成位元組碼(byte code),編譯結果儲存在記憶體的 PyCodeObject 中,然後由 Python 虛擬機器解釋執行。當程式執行結束後,Python 直譯器會將 PyCodeObject 儲存到 pyc 檔案中。每一次執行時 Python 都會先尋找與檔案同名的 pyc 檔案,如果 pyc 存在則比對修改記錄,根據修改記錄決定直接執行或再次編譯後執行,最後生成 pyc 檔案 。
4、Python 執行速度慢的原因
a). Python 不是強型別的語言,所以直譯器執行時遇到變數以及資料型別轉換、比較操作、引用變數時都需要檢查其資料型別。
b). Python 的編譯器啟動速度比 JAVA 快,但幾乎每次都要啟動編譯。
c). Python 的物件模型會導致訪問記憶體效率變低。Numpy 的指標指向快取區資料的值,而 Python 的指標指向快取物件,再透過快取物件指向資料:
5.搜尋引擎的工作流程(通用爬蟲的工作流程)
(1)抓取網頁:透過搜尋引擎將待爬取的URL加入到通用爬蟲的URL佇列中,進行網頁內容的爬取。
(2)資料儲存:將爬取下來的網頁儲存到本地,這個過程會有一定的去重操作,如果某個網頁的內 容大部分內容都會重複,搜尋引擎可能不會儲存。
(3)預處理:提取文字,中文分詞,消除噪音(比如版權宣告文字,導航條,廣告等)。
(4)設定網站排名,為使用者提供服務。
6、什麼是棧溢位?怎麼解決?
因為棧一般預設為1-2m,一旦出現死迴圈或者是大量的遞迴呼叫,在不斷的壓棧過程中,造成棧容量超過1m而導致溢位。
棧溢位的情況有兩種:1)區域性陣列過大。當函式內部陣列過大時,有可能導致堆疊溢位。2)遞迴呼叫層次太多。遞迴函式在執行時會執行壓棧操作,當壓棧次數太多時,也會導致堆疊溢位。
解決方法:1)用棧把遞迴轉換成非遞迴。2)增大棧空間。
7、 MySQL的索引在什麼情況下失效?
1)如果條件中有or,即使其中有條件帶索引也不會使用(這也是為什麼儘量少用or的原因)
要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引。
2)對於多列索引,不是使用的第一部分,則不會使用索引。
3)like查詢以%開頭。
4)如果列型別是字串,那一定要在條件中將資料使用引號引用起來,否則不使用索引。
5)如果MySQL估計使用全表掃描要比使用索引快,則不使用索引。
8、 HTTPS是如何實現安全傳輸資料的?
客戶端(通常是瀏覽器)先向伺服器發出加密通訊的請求;
伺服器收到請求,然後響應;
客戶端收到證照之後會首先會進行驗證;
伺服器收到使用公鑰加密的內容,在伺服器端使用私鑰解密之後獲得隨機數pre-master secret,然後根據radom1、radom2、pre-master secret透過一定的演算法得出session Key和MAC演算法秘鑰,作為後面互動過程中使用對稱秘鑰。同時客戶端也會使用radom1、radom2、pre-master secret,和同樣的演算法生成session Key和MAC演算法的秘鑰。
然後再後續的互動中就使用session Key和MAC演算法的秘鑰對傳輸的內容進行加密和解密。
以上的內容只是一些基本的爬蟲知識點,更多的還是需要小夥伴們自己挖掘。小編考慮到如果內容過大,大家也不能一下子學會,所以學習還是循序漸進的好一些。更多Python學習推薦:。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2370/viewspace-2832104/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python爬蟲進階必備之代理Python爬蟲
- Python爬蟲實戰之bilibiliPython爬蟲
- Python 爬蟲實戰Python爬蟲
- Python爬蟲實戰之叩富網Python爬蟲
- 初級運維必備掌握面試題目運維面試題
- 關於Python爬蟲面試50道題Python爬蟲面試
- 【彙總】Python爬蟲常見面試題!Python爬蟲面試題
- 搞定這套 Python 爬蟲面試題,面試會 so easyPython爬蟲面試題
- Python爬蟲實戰之蘿蔔投研Python爬蟲
- 【總結】Python爬蟲面試題及答案(二)Python爬蟲面試題
- Python面試必備的7大問題Python面試
- python爬蟲實戰教程-Python爬蟲開發實戰教程(微課版)Python爬蟲
- Java面試題必備知識之ThreadLocalJava面試題thread
- python爬蟲實戰,爬蟲之路,永無止境Python爬蟲
- python3網路爬蟲開發實戰_Python3 爬蟲實戰Python爬蟲
- 又面試了Python爬蟲工程師,碰到這麼幾道面試題,Python面試題No9Python爬蟲工程師面試題
- Python爬蟲面試題分享!這三點很重要Python爬蟲面試題
- python 爬蟲實戰的原理Python爬蟲
- Python網路爬蟲實戰Python爬蟲
- python爬蟲-33個Python爬蟲專案實戰(推薦)Python爬蟲
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲
- 面試必備,Linux面試題和答案!Linux面試題
- 300道Python面試題,備戰春招!Python面試題
- Python爬蟲實戰之(五)| 模擬登入wechatPython爬蟲
- Python 爬蟲實戰之爬拼多多商品並做資料分析Python爬蟲
- Python【爬蟲實戰】提取資料Python爬蟲
- MySQL面試必備一之索引MySql面試索引
- 面試必備 之 Java 集合框架面試Java框架
- python網路爬蟲應用_python網路爬蟲應用實戰Python爬蟲
- 面試必備問題集錦面試
- python3 爬蟲實戰:為爬蟲新增 GUI 影象介面Python爬蟲GUI
- 不踩坑的Python爬蟲:Python爬蟲開發與專案實戰,從爬蟲入門 PythonPython爬蟲
- Python爬蟲實戰之(二)| 尋找你的招聘資訊Python爬蟲
- Python學習筆記——爬蟲之Scrapy專案實戰Python筆記爬蟲
- 爬蟲實戰:探索XPath爬蟲技巧之熱榜新聞爬蟲
- Python-爬蟲工程師-面試總結Python爬蟲工程師面試
- Python爬蟲 ---scrapy框架初探及實戰Python爬蟲框架
- 蛇皮的Python面試題目Python面試題