python面試中常見的9個(gè)題目,從這里開始
隨著python在企業(yè)中的應(yīng)用越來越多,崗位需求越來越大,面試成為了搞定優(yōu)質(zhì)職位的快速方式,接下來給大家總結(jié)9道比較容易在面試中出現(xiàn)的題目。
0.什么是Python?使用Python有什么好處?(這個(gè)問題是最常見的開頭問題,是最基礎(chǔ)也是最重要的!)
答案:下面是一些關(guān)鍵點(diǎn):
- Python是一種解釋型語言。這就是說,與C語言和C的衍生語言不同,Python代碼在運(yùn)行之前不需要編譯。其他解釋型語言還包括PHP和Ruby。
- Python是動(dòng)態(tài)類型語言,指的是你在聲明變量時(shí),不需要說明變量的類型。你可以直接編寫類似x=111和x=”I’m a string”這樣的代碼,程序不會(huì)報(bào)錯(cuò)。
- Python用途非常廣泛——網(wǎng)絡(luò)應(yīng)用,自動(dòng)化,科學(xué)建模,大數(shù)據(jù)應(yīng)用,等等。它也常被用作“膠水語言”,幫助其他語言和組件改善運(yùn)行狀況。
- Python讓困難的事情變得容易,因此程序員可以專注于算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),而不用處理底層的細(xì)節(jié)。
1.python中is和==的區(qū)別(總結(jié)了大部分人的面試,這道題出現(xiàn)的概率也很大。)
答案:
- Python中對(duì)象包含的三個(gè)基本要素,分別是:id(身份標(biāo)識(shí)) 、type(數(shù)據(jù)類型)和value(值)。
- ‘==’比較的是value值
- ‘is’比較的是id
2. Python是怎樣管理內(nèi)存的?
答案:
Python的內(nèi)存管理是由私有heap空間管理的。所有的Python對(duì)象和數(shù)據(jù)結(jié)構(gòu)都在一個(gè)私有heap中。程序員沒有訪問該heap的權(quán)限,只有解釋器才能對(duì)它進(jìn)行操作。
另外,Python有自帶的垃圾回收系統(tǒng),它回收并釋放沒有被使用的內(nèi)存讓它們能夠被其他程序使用。
3.有哪些工具可以幫助debug或做靜態(tài)分析?
答案:
PyChecker,一個(gè)靜態(tài)分析工具,除了報(bào)告源代碼中的錯(cuò)誤,還能分析出錯(cuò)誤的類型和復(fù)雜程度。另外,還有Pylint,用于檢驗(yàn)?zāi)K是否達(dá)到代碼標(biāo)準(zhǔn)的工具。
4.你如何管理不同版本的代碼?
答案:
一點(diǎn)不屬于專業(yè)的小技巧——被問到這個(gè)問題的時(shí)候,你應(yīng)該要表現(xiàn)得很興奮,甚至告訴他們你是如何使用Git(或是其他你最喜歡的工具)追蹤自己和女票的書信往來。除了Git作為版本控制系統(tǒng)(VCS),你也可以選擇subversion(SVN)。
5.什么是Python的命名空間?
答案:
python使用命名空間記錄變量。python中的命名空間就像是一個(gè)dict,key是變量的名字,value是變量的值。
如果你記不住上面這段標(biāo)準(zhǔn)答案,也可以這么回答:
在Python 中,所有的名字都存在于一個(gè)空間中,它們?cè)谠摽臻g中存在和被操作——這就是命名空間。每一個(gè)變量名字都尤其對(duì)應(yīng)的一個(gè)對(duì)象,而命名空間可是把他們收納起來的盒子,當(dāng)查詢變量的時(shí)候,會(huì)從該盒子里面尋找相應(yīng)的對(duì)象。
6.Python中的pass是什么?
答案:
Pass是一個(gè)不可或缺但又毫無作用的語句。 pass就是什么也不做,只是為了防止語法錯(cuò)誤,比如: if a>1: pass #我這里先不做任何處理,直接跳過,但是如果不寫pass,就會(huì)語法錯(cuò)誤。
7.在Python中如何拷貝一個(gè)對(duì)象?
答案:
一般來說可以使用copy.copy()方法或者copy.deepcopy()方法,幾乎所有的對(duì)象都可以被拷貝,一些對(duì)象可以更容易的拷貝,Dictionaries有一個(gè)copy方法:newdict = olddict.copy()
但并不是所有的對(duì)象都可以被拷貝。
8.Xrange和range的區(qū)別是什么?
Xrange用于返回一個(gè)xrange對(duì)象,而range用于返回一個(gè)數(shù)組。不管那個(gè)范圍多大,Xrange都使用同樣的內(nèi)存。
其實(shí)在面試中,面試官往往不會(huì)出太難的問題,只要掌握好基礎(chǔ),大部分都能過關(guān)。
最后再給大家提供一點(diǎn)面試時(shí)候的小技巧!
自我介紹的時(shí)候,可以按照這個(gè)結(jié)構(gòu)來:個(gè)人基本信息 基本技術(shù)構(gòu)成 項(xiàng)目經(jīng)驗(yàn)(具體項(xiàng)目以及在項(xiàng)目中的負(fù)責(zé)部分) 自我評(píng)價(jià),其中的原則就是緊緊圍繞招聘崗位的需求做介紹。
在此之前要做好準(zhǔn)備工作,看看招聘方具體需要什么方向的研發(fā)工程師。