面試演講題目

2021-09-26 19:43:01 字數 1584 閱讀 7098

1.請簡述一下python中 is 和 == 的區別?

==是python標準操作符中的比較操作符,用來比較判斷兩個物件的value(值)是否相等	

is也被叫做同一性運算子,這個運算子比較判斷的是物件間的唯一身份標識,也就是id是否相同。

2、迭代器和生成器的區別?

迭代器: 是乙個更加抽象的概念,任何物件,如果它的類有next方法和iter方法返回自身。對於string、list、dict、tuple等這類容器物件,使用for迴圈遍歷是很方便的。在後台for語句對容器物件呼叫iter()函式,iter()是python的內建函式。iter()會返回乙個定義了next()方法的迭代器物件,它在容器中逐個訪問容器內元素,next()也是python的內建函式。在沒有後續元素時,next()會丟擲乙個stopiterration的異常。

生成器:(generator)是建立迭代器的簡單而強大的工具。它們寫起來就像是正規的函式,只是在返回資料的時候需要使用yield語句。每次next()被呼叫時,生成器會返回它脫離的位置(它記憶語句最後一次執行的位置和所有的資料值)

區別:生成器能做到迭代器能做的所有事,而且因為自動建立了__iter__()和next()方法,生成器顯得特別簡潔,而且生成器也是高效的,使用生成器表示式取代列表解析可以同時節省記憶體。除了建立和保持程式狀態的自動生成,當發生器終結時,還會自動跑出stopiterration異常。

3、http協議中post方法和get方法的區別?

1、get請求,請求的資料會附加在url之後,以?分割url和傳輸資料,多個引數用&連線。url的編碼格式採用的是ascii編碼,而不是unicode,即是說所有的非ascii字元都要編碼之後再傳輸。

post請求:post請求會把請求的資料放置在http請求包的包體中。上面的item=bandsaw就是實際的傳輸資料。

因此,get請求的資料會暴露在位址列中,而post請求則不會。

2、傳輸資料的大小

在http規範中,沒有對url的長度和傳輸的資料大小進行限制。但是在實際開發過程中,對於get,特定的瀏覽器和伺服器對url的長度有限制。因此,在使用get請求時,傳輸資料會受到url長度的限制。

對於post,由於不是url傳值,理論上是不會受限制的,但是實際上各個伺服器會規定對post提交資料大小進行限制,apache、iis都有各自的配置。

3、安全性

post的安全性比get的高。這裡的安全是指真正的安全,而不同於上面get提到的安全方法中的安全,上面提到的安全僅僅是不修改伺服器的資料。比如,在進行登入操作,通過get請求,使用者名稱和密碼都會暴露再url上,因為登入頁面有可能被瀏覽器快取以及其他人檢視瀏覽器的歷史記錄的原因,此時的使用者名稱和密碼就很容易被他人拿到了。除此之外,get請求提交的資料還可能會造成cross-site request frogery攻擊。

4、4g 記憶體怎麼讀取乙個 5g 的資料?

方法一:

可以通過生成器,分多次讀取,每次讀取數量相對少的資料(比如 500mb)進行處理,處理結束後在讀取後面的 500mb 的資料。

方法二:

可以通過 linux 命令 split 切割成小檔案,然後再對資料進行處理,此方法效率比較高。可以按照行數切割,可以按照檔案大小切割。

面試常見題目

static用途 1 全域性變數和區域性變數在記憶體中的區別 全域性變數 在記憶體的靜態儲存區 區域性變數 在記憶體的棧區 全域性變數如果不初始化,由編譯器自動初始化為0,區域性變數不初始化,結果未知 2 static全域性變數和普通全域性變數的區別 相同點 都儲存在靜態儲存區 不同點 作用域不同 ...

LoadRunner面試經典題目

1.什麼是負載測試?什麼是效能測試?2.效能測試包含了哪些測試 至少舉出3種 3.簡述效能測試的步驟 4.簡述使用 loadrunner 的步驟 5.什麼時候可以開始執行效能測試?6.loadrunner由哪些部件組成?7.你使用 loadrunner 的哪個部件來錄製指令碼?8.loadrunne...

面試遇到的題目

1.static全域性變數 全域性變數,static函式 普通函式,函式中static變數 函式中的變數,類中的static成員變數 普通類成員變數區別 答 static global variable 檔案作用域 只在宣告的檔案中有效,其他原始檔中不可見 同時有了static的生命週期 globa...