問(wèn)題1
到底什么是Python?你可以在回答中與其他技術(shù)進(jìn)行對(duì)比(也鼓勵(lì)這樣做)。
答案
下面是一些關(guān)鍵點(diǎn):
Python是一種解釋型語(yǔ)言。這就是說(shuō),與C語(yǔ)言和C的衍生語(yǔ)言不同,Python代碼在運(yùn)行之前不需要編譯。其他解釋型語(yǔ)言還包括PHP和Ruby。
Python是動(dòng)態(tài)類型語(yǔ)言,指的是你在聲明變量時(shí),不需要說(shuō)明變量的類型。你可以直接編寫(xiě)類似x=111和x="I'mastring"這樣的代碼,程序不會(huì)報(bào)錯(cuò)。
Python非常適合面向?qū)ο蟮木幊?OOP),因?yàn)樗С滞ㄟ^(guò)組合(composition)與繼承(inheritance)的方式定義類(class)。Python中沒(méi)有訪問(wèn)說(shuō)明符(accessspecifier,類似C++中的public和private),這么設(shè)計(jì)的依據(jù)是“大家都是成年人了”。
在Python語(yǔ)言中,函數(shù)是第一類對(duì)象(first-classobjects)。這指的是它們可以被指定給變量,函數(shù)既能返回函數(shù)類型,也可以接受函數(shù)作為輸入。類(class)也是第一類對(duì)象。
Python代碼編寫(xiě)快,但是運(yùn)行速度比編譯語(yǔ)言通常要慢。好在Python允許加入基于C語(yǔ)言編寫(xiě)的擴(kuò)展,因此我們能夠優(yōu)化代碼,消除瓶頸,這點(diǎn)通常是可以實(shí)現(xiàn)的。numpy就是一個(gè)很好地例子,它的運(yùn)行速度真的非??欤?yàn)楹芏嗨阈g(shù)運(yùn)算其實(shí)并不是通過(guò)Python實(shí)現(xiàn)的。
Python用途非常廣泛——網(wǎng)絡(luò)應(yīng)用,自動(dòng)化,科學(xué)建模,大數(shù)據(jù)應(yīng)用,等等。它也常被用作“膠水語(yǔ)言”,幫助其他語(yǔ)言和組件改善運(yùn)行狀況。
Python讓困難的事情變得容易,因此程序員可以專注于算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),而不用處理底層的細(xì)節(jié)。
為什么提這個(gè)問(wèn)題:
如果你應(yīng)聘的是一個(gè)Python開(kāi)發(fā)崗位,你就應(yīng)該知道這是門什么樣的語(yǔ)言,以及它為什么這么酷。以及它哪里不好。
問(wèn)題2
補(bǔ)充缺失的代碼
defprint_directory_contents(sPath):
"""
這個(gè)函數(shù)接受文件夾的名稱作為輸入?yún)?shù),
返回該文件夾中文件的路徑,
以及其包含文件夾中文件的路徑。
"""
#補(bǔ)充代碼
答案
dir_list=[]
defprint_directory_contents(sPath):
importos
forsChildinos.listdir(sPath):
sChildPath=os.path.join(sPath,sChild)
dir_list.append(sChildPath)
ifos.path.isdir(sChildPath):
print_directory_contents(sChildPath)
else:
print(sChildPath)
特別要注意以下幾點(diǎn):
命名規(guī)范要統(tǒng)一。如果樣本代碼中能夠看出命名規(guī)范,遵循其已有的規(guī)范。
遞歸函數(shù)需要遞歸并終止。確保你明白其中的原理,否則你將面臨無(wú)休無(wú)止的調(diào)用棧(callstack)。
我們使用os模塊與操作系統(tǒng)進(jìn)行交互,同時(shí)做到交互方式是可以跨平臺(tái)的。你可以把代碼寫(xiě)成sChildPath=sPath+'/'+sChild,但是這個(gè)在Windows系統(tǒng)上會(huì)出錯(cuò)。
熟悉基礎(chǔ)模塊是非常有價(jià)值的,但是別想破腦袋都背下來(lái),記住Google是你工作中的良師益友。
如果你不明白代碼的預(yù)期功能,就大膽提問(wèn)。
堅(jiān)持KISS原則!保持簡(jiǎn)單,不過(guò)腦子就能懂!
為什么提這個(gè)問(wèn)題:
說(shuō)明面試者對(duì)與操作系統(tǒng)交互的基礎(chǔ)知識(shí)
遞歸真是太好用啦
以上內(nèi)容為大家介紹了python的面試題,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。