q1. 你遇到的比較難的爬蟲問題?
q2. 請求一定頁數後就會被封如何應對?
a:這個時候,我們會估算一下,多少頁之後會封,然後換cookie繼續。
q3. 有的時候請求到空資料,
a: 這個問題已經發現我是爬蟲了,
①看看我的**,是不是過期了,
②看看cookie是不是過期了,
③看看是不是有referer欄位反爬,
④找不到規律了,源** ajax請求都不是,那就可以開始看js了,找到具體js如何執行,然後使用js2py,直接把js**轉換為python程式去執行,解決這個問題
q4. 給你乙個專案你要怎麼爬(考你爬蟲思路)
q5. 爬蟲網頁分析流程
q6. 如果你的ip一直被封,怎麼辦?
1. 轉用高密**
2. 實在不行使用真實ip
q7. 一天能跑多少資料?
這個跟網速、頻寬、電腦核數都有關係,目前我們爬取了全國的資料大概有70萬套**,在web上展示北京的有20萬左右,跑了乙個星期左右,寫字樓**大概爬取了十幾個
q8. 手機爬蟲用過嗎?
fiddler 抓包
q1. 多執行緒,多程序
q2. linux命令
q3. 專案用的是什麼協議
q5. 前端會是嗎?
q6. 程式開幾個程序?
nginx負責負載均衡,uwsgi負責多程序執行,開多少程序,uwsgi.ini配置檔案有設定,一般與cpu核數一樣,用做伺服器的核心數一般都大於等於8核
q1. 物件導向的過載 和覆蓋 的區別
python 當中沒有過載這個概念!
其他語言中有 過載的意思就是說 定義兩個同名的函式 第乙個函式需要乙個引數,第二個函式需要兩個引數。
在python 當中是不能夠這樣定義的!
因為你定義了第乙個之後 再定義第二個同名方法體就會覆蓋掉前面的, 而對於其他的語言的話是可以同時定義兩個方法名相同的函式的,只需要引數那邊不一樣就行了. 在呼叫的時候根據你傳的引數 編譯器會自動識別你想要呼叫哪乙個函式.
過載和覆蓋的區別:
過載:(1)乙個類中定義多個同名方法。不同的引數列表(引數個數、引數型別、引數順序);
(2)不能通過方法的訪問許可權、返回值型別和丟擲異常型別進行過載;
覆蓋:(1)派生類方法覆蓋基類方法。派生類的方法必須要基類的方法有相同方法名和引數;
(2) 派生類的方法返回值型別必須和基類方法的返回值型別相同;
(3) 派生類方法的丟擲異常型別必須和基類方法的丟擲異常型別一致;
(4) 基類的被覆蓋的方法不能為private,否則子類方法只是定義了乙個方法,並沒有實現覆蓋。
q2. 程式如何監聽 80埠?
切換root使用者
更改nginx配置檔案的server listen埠號為80
socket.listen(80)
netstat -ntpl 檢視監聽埠
我們可以在8080埠和80埠之間做乙個nat轉化
/sbin/iptables -t nat -i prerouting -p tcp --dport 80 -j redirect --to-port 8080
cap_net_bind_service設定
q3. 堆和棧的區別
棧區域: 系統自動分配. 儲存區域性變數 如:int num=10, int* p=&num。 num 與 p 都儲存在棧區域
堆區域: 允許程式設計師手動的從堆申請空間來使用,要主動釋放。除非程式結束 如:int 4, float 4…. malloc,calloc …
bss段區域: 儲存未初始化的全域性變數/靜態變數,因程式執行時其全域性/靜態變數都沒有初始化
資料段/常量區:儲存已初始化的全域性變數/靜態變數,與常量資料, 在main 外定義的變數
**段區域: 儲存程式**/指令
申請效率的比較:
棧由系統自動分配,速度較快。但程式設計師是無法控制的。
堆是由new分配的記憶體,一般速度比較慢,而且容易產生記憶體碎片,不過用起來最方便.
棧: 元素有先進後出順序的線性結構。可以考慮疊盤子,只能從最上面拿盤子,也只能往最上面放盤子。那這個盤子序列、包括上面兩條規則就構成了乙個棧
堆: 滿足一定限制的樹型結構(比如父親節點的權值要大於兒子節點的權值,左兒子又要大於右兒子)。
其他阿里面試問題:
q4. 筆試三道題:二分法,快排,完全二叉樹,寫**。
q5. redis五種基本資料型別的底層實現
q6. 還問資料庫的查詢優化。
q1. 說一下scrapy框架
q2. 你們ip池有多大
1000,買的
q3. 如何維護ip池
有乙個程式,取出ip進行請求測試,看響應狀態碼,請求失敗的剔除
q4. selenium什麼時候使用的
通過js實現了資料的加密,通過js生成了請求引數
q6. 資料庫
q7. 網頁分析流程
q8. 谷歌有乙個抓包的工具知道嗎
q9. celery什麼時候用過,原理是什麼
在做web的時候,用於傳送簡訊驗證碼,郵箱驗證的時候
個人相關:
q10. 自己的規劃
q11. 未來是注重python 還是要往分析方面走
q12. 為什麼來杭州
q13. 學習途徑
q14. 原來公司相關:
q15. 原來公司團隊大小
q16. 原來公司是做什麼的
q17. 薪資情況
q18. 為什麼小公司沒有離開
q19. 找公司最看重什麼?
Python爬蟲分享
一 python簡介 二 python爬蟲 三 python爬蟲例項 四 問答互動 python語言排行 github爬蟲排行 python為什麼這麼火?1989年,guido van rossum創立了python語言。現在,他在google工作。物件導向的高層語言 解釋性 強大的第三方庫 爬蟲,...
爬蟲面試python
1.什麼是爬蟲 2.什麼是url 3.scrapy的優缺點 缺點 基於 python 的爬蟲框架,擴充套件性比較差,不夠靈活.4.http和https的區別 5.https如何進行資料傳輸 6.get和post請求的區別 get請求和post請求都是tcp鏈結,本質上並無區別,但是由於http的規定...
Linux面試總結分享
假如說職場如戰場,那面試就能算得上是在戰場揚名立萬的第一步。這一步直接影響到你在之後的日子裡會接觸到什麼樣的人,要做什麼樣的事。話說,跟一群幹大事的人才能幹成大事。如果你被應聘到一家好公司,有比較好的產品,有好的技術團隊,那麼你在技術方面發展可能很快。反之,如果你被應聘到一家 糞坑 公司,沒有團隊建...