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

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