明天找python工作,看看這幾道Python面試題吧,Python面試題No14

第1題: 如何解決驗證碼的問題,用什麼模塊,聽過哪些人工打碼平臺?

PIL、pytesser、tesseract模塊

平臺的話有:(打碼平臺特殊,不保證時效性)

  • 雲打碼
  • 掙碼
  • 斐斐打碼
  • 若快打碼
  • 超級鷹

第2題: ip 被封了怎麼解決,自己做過 ip 池麼?

關於 ip 可以通過 ip 代理池來解決問題 ip 代理池相關的可以在 github 上搜索 ip proxy 自己選一個
去說 https://github.com/awolfly9/IPProxyTool 提供大體思路:

  1. 獲取器 通過 requests 的爬蟲爬取免費的 IP 代理網址獲取 IP。
  2. 過濾器通過獲取器獲取的代理請求網頁數據有數據返回的保存進 Redis。
  3. 定時檢測器定時拿出一部分 Proxy 重新的用過濾器進行檢測剔除不能用的代理。
  4. 利用 Flask web 服務器提供 API 方便提取 IP

第3題: 在 Python 中,list,tuple,dict,set 有什麼區別,主要應用在什麼場景?

區別

  • list:鏈表,有序的數據結構, 通過索引進行查找,使用方括號”[]”;
  • tuple:元組,元組將多樣的對象集合到一起,不能修改,通過索引進行查找, 使用括號”()”;
  • dict:字典,字典是一組鍵(key)和值(value)的組合,通過鍵(key)進行查找,沒有順序, 使用大括號”
    {}”;
  • set:集合,無序,元素只出現一次, 自動去重,使用”set([])”

應用場景

  • list:簡單的數據集合,可以使用索引;
  • tuple:把一些數據當做一個整體去使用,不能修改;
  • dict:使用鍵值和值進行關聯的數據;
  • set:數據只出現一次,只關心數據是否出現, 不關心其位置。

第4題: 請描述方法重載與方法重寫?

方法重載

是在一個類裏面,方法名字相同,而參數不同。返回類型可以相同也可以不同。
重載是讓類以統一的方式處理不同類型數據的一種手段。

方法重寫

子類不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋。

第5題: 如何用 Python 來發送郵件?

smtplib 標準庫

可以參考菜鳥教程:https://www.runoob.com/python/python-email.html

第6題:是否瞭解線程的同步和異步?

  • 線程同步:多個線程同時訪問同一資源,等待資源訪問結束,浪費時間,效率低
    • 例子:你說完,我再說。
  • 線程異步:在訪問資源時在空閒等待時同時訪問其他資源,實現多線程機制
    • 你喊朋友吃飯,朋友說知道了,待會忙完去找你 ,你就去做別的了。

第7題:是否瞭解網絡的同步和異步?

  • 同步:提交請求->等待服務器處理->處理完畢返回,這個期間客戶端瀏覽器不能幹任何事
  • 異步: 請求通過事件觸發->服務器處理(這是瀏覽器仍然可以作其他事情)->處理完畢

第8題:你是否瞭解MySQL數據庫的幾種引擎?

這個答案比較發散,可以重點說下面兩種

InnoDB

InnoDB是一個健壯的事務型存儲引擎,這種存儲引擎已經被很多互聯網公司使用,爲用戶操作非常大的數據存儲提供了一個強大的解決方案。

在以下場合下,使用InnoDB是最理想的選擇:

  1. 更新密集的表。InnoDB存儲引擎特別適合處理多重併發的更新請求。
  2. 事務。InnoDB存儲引擎是支持事務的標準MySQL存儲引擎。
  3. 自動災難恢復。與其它存儲引擎不同,InnoDB表能夠自動從災難中恢復。
  4. 外鍵約束。MySQL支持外鍵的存儲引擎只有InnoDB
  5. 支持自動增加列AUTO_INCREMENT屬性。

一般來說,如果需要事務支持,並且有較高的併發讀取頻率,InnoDB是不錯的選擇。

MEMORY

使用MySQL Memory存儲引擎的出發點是速度。爲得到最快的響應時間,採用的邏輯存儲介質是系統內存。
雖然在內存中存儲表數據確實會提供很高的性能,但當mysqld守護進程崩潰時,所有的Memory數據都會丟失。
獲得速度的同時也帶來了一些缺陷。

一般在以下幾種情況下使用Memory存儲引擎:

  1. 目標數據較小,而且被非常頻繁地訪問。在內存中存放數據,所以會造成內存的使用,可以通過參數max_heap_table_size控制Memory表的大小,設置此參數,就可以限制Memory表的最大大小。
  2. 如果數據是臨時的,而且要求必須立即可用,那麼就可以存放在內存表中。
  3. 存儲在Memory表中的數據如果突然丟失,不會對應用服務產生實質的負面影響。

第9題:關注題,最近在公號更新一個神奇的系列入門文章

在這裏插入圖片描述
她專科學歷
27歲從零開始學習c,c++,python編程語言
29歲編寫百例教程
30歲掌握10種編程語言,
用自學的經歷告訴你,學編程就找夢想橡皮擦

歡迎關注她的公衆號,非本科程序員

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章