Python工程師求職必知的經典面試題!
最近幾年,學習Python語言的同學越來越多,學成之後大家對於後期的面試都遇到了很多難題,小編這次為大家整理了一份關於Python工程師求職必知的經典面試題!希望能夠幫助到正在找Python工作的同學們。
Python工程師求職必知的經典面試題:
1、多執行緒使用Python是個好主意嗎?列出一些方法可以讓一些Python程式碼以並行方式執行。
答:Python不允許真正意義上的多執行緒。它有一個多執行緒包,但如果你想使用多執行緒來加速你的程式碼,那麼使用它通常不是一個好主意。Python有一個名為全域性直譯器鎖(Global Interpreter Lock(GIL))的結構。GIL確保每次只能執行一個“執行緒”。一個執行緒獲取GIL,做一點工作,然後將GIL傳遞到下一個執行緒。這種情況發生的很快,因此對於人眼看來,你的執行緒似乎是並行執行的,但它們實際上只是輪流使用相同的CPU核心。所有這些GIL傳遞都增加了執行的記憶體。這意味著如果你想讓程式碼執行得更快,那麼使用執行緒包通常不是一個好主意。
使用Python的執行緒包也是有原因的。如果你想同時執行一些東西,並且效率不是一個問題,那麼它就完全沒問題了。或者,如果你正在執行需要等待某些事情的程式碼(例如某些IO),那麼它可能會很有意義。但是執行緒庫不會讓你使用額外的CPU核心。
多執行緒可以外包到作業系統(透過多處理),一些呼叫Python程式碼的外部應用程式(例如,Spark或Hadoop),或者Python程式碼呼叫的一些程式碼例如:你可以使用你的Python程式碼呼叫一個C函式來完成昂貴的多執行緒事務。
2、這段程式碼輸出了什麼:
def f(x,l=[]):for i in range(x):l.append(i*i)print(l) f(2)f(3,[3,2,1])f(3)
答:[0, 1][3, 2, 1, 0, 1, 4][0, 1, 0, 1, 4]
3、如何在Python中管理記憶體?
Python中的記憶體管理由Python私有堆空間管理。所有Python物件和資料結構都位於私有堆中。程式設計師無權訪問此私有堆。Python直譯器負責處理這個問題。Python物件的堆空間分配由Python的記憶體管理器完成。核心API提供了一些程式設計師編寫程式碼的工具Python還有一個內建的垃圾收集器,它可以回收所有未使用的記憶體,並使其可用於堆空間。
4、range&xrange有什麼區別?
在大多數情況下,xrange和range在功能方面完全相同。它們都提供了一種生成整數列表的方法,唯一的區別是range返回一個Python列表物件,x range返回一個xrange物件。
這就表示xrange實際上在執行時並不是生成靜態列表。它使用稱為yielding的特殊技術根據需要建立值。該技術與一種稱為生成器的物件一起使用。因此如果你有一個非常巨大的列表,那麼就要考慮xrange。
5、Python中help()和dir()函式的用法是什麼?
Help()和dir()這兩個函式都可以從Python直譯器直接訪問,並用於檢視內建函式的合併轉儲。
help()函式:help()函式用於顯示文件字串,還可以檢視與模組,關鍵字,屬性等相關的使用資訊。
dir()函式:dir()函式用於顯示定義的符號。
6、NumPy中有哪些操作Python列表的函式?
Python的列表是高效的通用容器。它們支援(相當)有效的插入,刪除,追加和連線,Python的列表推導使它們易於構造和操作。
它們有一定的侷限性:它們不支援畫素化加法和乘法等“向量化”操作,並且它們可以包含不同型別的物件這一事實意味著Python必須儲存每個元素的型別資訊,並且必須執行型別排程程式碼在對每個元素進行操作時。
NumPy不僅效率更高; 它也更方便。你可以免費獲得大量的向量和矩陣運算,這有時可以避免不必要的工作。它們也得到有效實施。
NumPy陣列更快,你可以使用NumPy,FFT,卷積,快速搜尋,基本統計,線性代數,直方圖等內建。
Python工程師求職必知的經典面試題上面已經為大家做了詳細的介紹,希望能夠幫助到大家。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2774194/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python工程師求職必知的經典面試題Python工程師求職面試題
- 十大Python經典面試題,入門必知!Python面試題
- 網路工程師必知的網路經典命令工程師
- 經典web開發工程師面試題Web工程師面試題
- Python經典面試題(附答案)!Python面試題
- 經典面試題面試題
- java經典面試題Java面試題
- javascript經典面試題JavaScript面試題
- Js 經典面試題JS面試題
- 前端經典面試題前端面試題
- 【整理】8道Python經典面試題合集!Python面試題
- Python工程師面試必備25條知識點Python工程師面試
- 精心整理的8道Python經典面試題合集!Python面試題
- BATJ大廠測試人員必知的經典效能問題BAT
- Google經典面試題解析Go面試題
- 經典Java面試題收集Java面試題
- C++經典面試題C++面試題
- 經典SQL面試題1SQL面試題
- 經典SQL面試題2SQL面試題
- 一道經典面試邏輯題的python解法面試Python
- 前端經典的JavaScript面試知識總結前端JavaScript面試
- [面試題]事件迴圈經典面試題解析面試題事件
- 2020面試必知:中高階工程師面試題集整理(題目+答案)工程師面試題
- 前端面試必備-40道LeetCode經典面試演算法題前端面試LeetCode演算法
- Python入門教程之Python經典面試題(附答案)Python面試題
- 20道JavaScript經典面試題JavaScript面試題
- JavaScript經典面試題詳解JavaScript面試題
- 前端經典面試題(有答案)前端面試題
- 經典Java面試題收集(二)Java面試題
- BAT經典面試題彙總BAT面試題
- 經典C/C++面試題C++面試題
- C/C++經典面試題面試題
- SQL經典面試題及答案SQL面試題
- 經典 JS 閉包面試題JS面試題
- 總結!Python培訓之10道經典的面試題Python面試題
- 前端js和css的經典面試題前端JSCSS面試題
- Python經典面試題之前端和框架!Python學習分享Python面試題前端框架
- 【轉】程式設計師求職面試中經常遇到的面試問題程式設計師求職面試