很多python程序員在參加面試時,面對hr絡繹不絕的問題,往往都會變得緊張,而這有可能就會導致一場面試的成敗,今天小編給給各位程序員整理了五個面試時經常會被hr所問到的問題以及如何回答的技巧,趕快記起來!
一、常見的http方法有哪些?
1、get:請求特定的頁面信息,返回實體主體;
2、head:類似于get請求,只不過返回的響應中沒有具體的內容,用于捕獲報頭;
3、post:向特定資源提交數據進行處理請求(比如表單提交或者上傳文件),。數據被包含在請求體中。
4、put:從客戶端向服務端傳送數據取代特定的文檔的內容;
5、delete:請求刪除特定的頁面;
6、connnect:http1.1協議中預留給能夠將連接方式改為管道方式的服務器;
7、options:允許客戶端查看服務器的性能;
8、trace:回顯服務器的請求,主要用于測試或者診斷。
二、描述一下scrapy框架的運行機制?
從start_urls里面獲取url發送請求,請求由請求引擎給調度器入請求對列,獲取完畢后,調度器將請求對列交給下載器去獲取請求對應的響應資源,并將響應交給自己編寫的解析方法做提取處理,如果提取出需要的數據,則交給管道處理,如果提取出url,則繼續執行之前的步驟,直到多列里沒有請求,程序結束。
三、 可變類型和不可變類型
1、可變類型有list,dict.不可變類型有string,number,tuple.
2、當進行修改操作時,可變類型傳遞的是內存中的地址,也就是說,直接修改內存中的值,并沒有開辟新的內存。
3、不可變類型被改變時,并沒有改變原內存地址中的值,而是開辟一塊新的內存,將原地址中的值復制過去,對這塊新開辟的內存中的值進行操作。
四、is和==有什么區別?
is:比較的是兩個對象的id值是否相等,也就是比較倆對象是否為同一個實例對象。是否指向同一個內存地址
== : 比較的兩個對象的內容/值是否相等,默認會調用對象的eq()方法
五、urllib 和 urllib2 的區別?
urllib 和urllib2都是接受url請求的相關模塊,但是urllib2可以接受一個request類的實例來設置url請求的headers,urllib僅可以接受url。urllib不可以偽裝你的user-agent字符串。
urllib提供urlencode()方法用來get查詢字符串的產生,而urllib2沒有。這是為何urllib常和urllib2一起使用的原因。
除了小編整理的這些案例之外還有很多問題也會被hr問到,相信以同學們的實力肯定會讓hr甘拜下風。
溫馨提示