1. 程式人生 > >python 基本的面試題

python 基本的面試題

1、面試官會問你什麼是python? 、python的特點等等

我們回答時要注意以下一些要點:

  1. Python是一種解釋型語言。這就是說,與C語言和C的衍生語言不同,Python程式碼在執行之前不需要編譯。其他解釋型語言還包括PHP和Ruby。
  2. Python是動態型別語言,指的是你在宣告變數時,不需要說明變數的型別。你可以直接編寫類似x=111x="I'm a string"這樣的程式碼,程式不會報錯。
  3. Python非常適合面向物件的程式設計(OOP),因為它支援通過組合(composition)與繼承(inheritance)的方式定義類(class)。Python中沒有訪問說明符(access specifier,類似C++中的public
    private),這麼設計的依據是“大家都是成年人了”。
  4. 在Python語言中,函式是第一類物件(first-class objects)。這指的是它們可以被指定給變數,函式既能返回函式型別,也可以接受函式作為輸入。類(class)也是第一類物件。
  5. Python程式碼編寫快,但是執行速度比編譯語言通常要慢。好在Python允許加入基於C語言編寫的擴充套件,因此我們能夠優化程式碼,消除瓶頸,這點通常是可以實現的。numpy就是一個很好地例子,它的執行速度真的非常快,因為很多算術運算其實並不是通過Python實現的。
  6. Python用途非常廣泛——網路應用,自動化,科學建模,大資料應用,等等。它也常被用作“膠水語言”,幫助其他語言和元件改善執行狀況。
  7. Python讓困難的事情變得容易,因此程式設計師可以專注於演算法和資料結構的設計,而不用處理底層的細節。

 

2、python中程序和執行緒是重點,面試官會問你他們的特點?以及你的理解

  1. 程序是系統進行資源分配和排程的一個獨立單位,執行緒是程序的一個實體,是CPU排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬一個程序的其他的執行緒共享程序所擁有的全部資源;
  2. 一個程式至少有一個程序,一個程序至少有一個執行緒;
  3.    執行緒的劃分尺度小於程序(資源比程序少),使得多執行緒程式的併發性高;
  4. 程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率 ;
  5. 線執行緒不能夠獨立執行,必須依存在程序中;
  6. 優缺點:執行緒和程序在使用上各有優缺點:執行緒執行開銷小,但不利於資源的管理和保護;而程序正相反。