明天找python工作,看看这几道Python面试题吧,Python面试题No14
第1題: 如何解決驗證碼的問題,用什么模塊,聽過哪些人工打碼平臺?
PIL、pytesser、tesseract模塊
平臺的話有:(打碼平臺特殊,不保證時效性)
云打碼
掙碼
斐斐打碼
若快打碼
超級鷹
第2題: ip 被封了怎么解決,自己做過 ip 池么?
關(guān)于 ip 可以通過 ip 代理池來解決問題 ip 代理池相關(guān)的可以在 github 上搜索 ip proxy 自己選一個
去說 https://github.com/awolfly9/IPProxyTool 提供大體思路:
獲取器 通過 requests 的爬蟲爬取免費的 IP 代理網(wǎng)址獲取 IP。
過濾器通過獲取器獲取的代理請求網(wǎng)頁數(shù)據(jù)有數(shù)據(jù)返回的保存進 Redis。
定時檢測器定時拿出一部分 Proxy 重新的用過濾器進行檢測剔除不能用的代理。
利用 Flask web 服務(wù)器提供 API 方便提取 IP
第3題: 在 Python 中,list,tuple,dict,set 有什么區(qū)別,主要應(yīng)用在什么場景?
區(qū)別
list:鏈表,有序的數(shù)據(jù)結(jié)構(gòu), 通過索引進行查找,使用方括號”[]”;
tuple:元組,元組將多樣的對象集合到一起,不能修改,通過索引進行查找, 使用括號”()”;
dict:字典,字典是一組鍵(key)和值(value)的組合,通過鍵(key)進行查找,沒有順序, 使用大括號”
{}”;
set:集合,無序,元素只出現(xiàn)一次, 自動去重,使用”set([])”
應(yīng)用場景
list:簡單的數(shù)據(jù)集合,可以使用索引;
tuple:把一些數(shù)據(jù)當(dāng)做一個整體去使用,不能修改;
dict:使用鍵值和值進行關(guān)聯(lián)的數(shù)據(jù);
set:數(shù)據(jù)只出現(xiàn)一次,只關(guān)心數(shù)據(jù)是否出現(xiàn), 不關(guān)心其位置。
第4題: 請描述方法重載與方法重寫?
方法重載
是在一個類里面,方法名字相同,而參數(shù)不同。返回類型可以相同也可以不同。
重載是讓類以統(tǒng)一的方式處理不同類型數(shù)據(jù)的一種手段。
方法重寫
子類不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。方法重寫又稱方法覆蓋。
第5題: 如何用 Python 來發(fā)送郵件?
smtplib 標準庫
可以參考菜鳥教程:https://www.runoob.com/python/python-email.html
第6題:是否了解線程的同步和異步?
線程同步:多個線程同時訪問同一資源,等待資源訪問結(jié)束,浪費時間,效率低
例子:你說完,我再說。
線程異步:在訪問資源時在空閑等待時同時訪問其他資源,實現(xiàn)多線程機制
你喊朋友吃飯,朋友說知道了,待會忙完去找你 ,你就去做別的了。
第7題:是否了解網(wǎng)絡(luò)的同步和異步?
同步:提交請求->等待服務(wù)器處理->處理完畢返回,這個期間客戶端瀏覽器不能干任何事
異步: 請求通過事件觸發(fā)->服務(wù)器處理(這是瀏覽器仍然可以作其他事情)->處理完畢
第8題:你是否了解MySQL數(shù)據(jù)庫的幾種引擎?
這個答案比較發(fā)散,可以重點說下面兩種
InnoDB
InnoDB是一個健壯的事務(wù)型存儲引擎,這種存儲引擎已經(jīng)被很多互聯(lián)網(wǎng)公司使用,為用戶操作非常大的數(shù)據(jù)存儲提供了一個強大的解決方案。
在以下場合下,使用InnoDB是最理想的選擇:
更新密集的表。InnoDB存儲引擎特別適合處理多重并發(fā)的更新請求。
事務(wù)。InnoDB存儲引擎是支持事務(wù)的標準MySQL存儲引擎。
自動災(zāi)難恢復(fù)。與其它存儲引擎不同,InnoDB表能夠自動從災(zāi)難中恢復(fù)。
外鍵約束。MySQL支持外鍵的存儲引擎只有InnoDB。
支持自動增加列AUTO_INCREMENT屬性。
一般來說,如果需要事務(wù)支持,并且有較高的并發(fā)讀取頻率,InnoDB是不錯的選擇。
MEMORY
使用MySQL
Memory存儲引擎的出發(fā)點是速度。為得到最快的響應(yīng)時間,采用的邏輯存儲介質(zhì)是系統(tǒng)內(nèi)存。
雖然在內(nèi)存中存儲表數(shù)據(jù)確實會提供很高的性能,但當(dāng)mysqld守護進程崩潰時,所有的Memory數(shù)據(jù)都會丟失。
獲得速度的同時也帶來了一些缺陷。
一般在以下幾種情況下使用Memory存儲引擎:
目標數(shù)據(jù)較小,而且被非常頻繁地訪問。在內(nèi)存中存放數(shù)據(jù),所以會造成內(nèi)存的使用,可以通過參數(shù)max_heap_table_size控制Memory表的大小,設(shè)置此參數(shù),就可以限制Memory表的最大大小。
如果數(shù)據(jù)是臨時的,而且要求必須立即可用,那么就可以存放在內(nèi)存表中。
存儲在Memory表中的數(shù)據(jù)如果突然丟失,不會對應(yīng)用服務(wù)產(chǎn)生實質(zhì)的負面影響。
第9題:關(guān)注題,最近在公號更新一個神奇的系列入門文章
她專科學(xué)歷
27歲從零開始學(xué)習(xí)c,c++,python編程語言
29歲編寫百例教程
30歲掌握10種編程語言,
用自學(xué)的經(jīng)歷告訴你,學(xué)編程就找夢想橡皮擦
歡迎關(guān)注她的公眾號,非本科程序員
總結(jié)
以上是生活随笔為你收集整理的明天找python工作,看看这几道Python面试题吧,Python面试题No14的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一行代码取出HTML页面某个按钮的css
- 下一篇: springboot+beetlsql+