日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python面试应急5分钟_Python面试必须要看的15个问题

發布時間:2024/9/19 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python面试应急5分钟_Python面试必须要看的15个问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python面試必須要看的15個問題

本文由EarlGrey@編程派編譯,轉載請務必注明作者及出處。 點擊“閱讀原文”查看答案即可。

引言

想找一份Python開發工作嗎?那你很可能得證明自己知道如何使用Python。下面這些問題涉及了與Python相關的許多技能,問題的關注點主要是語言本身,不是某個特定的包或模塊。每一個問題都可以擴充為一個教程,如果可能的話。某些問題甚至會涉及多個領域。

我之前還沒有出過和這些題目一樣難的面試題,如果你能輕松地回答出來的話,趕緊去找份工作吧!

問題1

到底什么是Python?你可以在回答中與其他技術進行對比(也鼓勵這樣做)。

問題2

補充缺失的代碼def?print_directory_contents(sPath):

"""

這個函數接受文件夾的名稱作為輸入參數,

返回該文件夾中文件的路徑,

以及其包含文件夾中文件的路徑。

"""

#?補充代碼

問題3

閱讀下面的代碼,寫出A0,A1至An的最終值。A0?=?dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))

A1?=?range(10)

A2?=?[i?for?i?in?A1?if?i?in?A0]

A3?=?[A0[s]?for?s?in?A0]

A4?=?[i?for?i?in?A1?if?i?in?A3]

A5?=?{i:i*i?for?i?in?A1}

A6?=?[[i,i*i]?for?i?in?A1]

問題4

Python和多線程(multi-threading)。這是個好主意碼?列舉一些讓Python代碼以并行方式運行的方法。

問題5

你如何管理不同版本的代碼?

問題6

下面代碼會輸出什么:def?f(x,l=[]):

for?i?in?range(x):

l.append(i*i)

print?lf(2)f(3,[3,2,1])f(3)

問題7

“猴子補丁”(monkey patching)指的是什么?這種做法好嗎?

問題8

這兩個參數是什么意思:args,*kwargs?我們為什么要使用它們?

問題9

這些是什么意思:@classmethod, @staticmethod, @property?

問題10

閱讀下面的代碼,它的輸出結果是什么?class?A(object):

def?go(self):

print?"go?A?go!"

def?stop(self):

print?"stop?A?stop!"

def?pause(self):

raise?Exception("Not?Implemented")class?B(A):

def?go(self):

super(B,?self).go()

print?"go?B?go!"class?C(A):

def?go(self):

super(C,?self).go()

print?"go?C?go!"

def?stop(self):

super(C,?self).stop()

print?"stop?C?stop!"class?D(B,C):

def?go(self):

super(D,?self).go()????????print?"go?D?go!"

def?stop(self):

super(D,?self).stop()

print?"stop?D?stop!"

def?pause(self):

print?"wait?D?wait!"class?E(B,C):?pass

a?=?A()

b?=?B()

c?=?C()

d?=?D()

e?=?E()

#?說明下列代碼的輸出結果

a.go()

b.go()

c.go()

d.go()

e.go()

a.stop()

b.stop()

c.stop()

d.stop()

e.stop()

a.pause()

b.pause()

c.pause()

d.pause()

e.pause()

問題11

閱讀下面的代碼,它的輸出結果是什么?class?Node(object):

def?__init__(self,sName):

self._lChildren?=?[]

self.sName?=?sName

def?__repr__(self):

return?"".format(self.sName)

def?append(self,*args,**kwargs):

self._lChildren.append(*args,**kwargs)

def?print_all_1(self):

print?self

for?oChild?in?self._lChildren:

oChild.print_all_1()

def?print_all_2(self):

def?gen(o):

lAll?=?[o,]

while?lAll:

oNext?=?lAll.pop(0)

lAll.extend(oNext._lChildren)

yield?oNext

for?oNode?in?gen(self):

print?oNodeo

Root?=?Node("root")oChild1?=?Node("child1")

oChild2?=?Node("child2")

oChild3?=?Node("child3")

oChild4?=?Node("child4")

oChild5?=?Node("child5")

oChild6?=?Node("child6")

oChild7?=?Node("child7")

oChild8?=?Node("child8")

oChild9?=?Node("child9")

oChild10?=?Node("child10")

oRoot.append(oChild1)

oRoot.append(oChild2)

oRoot.append(oChild3)

oChild1.append(oChild4)

oChild1.append(oChild5)

oChild2.append(oChild6)

oChild4.append(oChild7)

oChild3.append(oChild8)

oChild3.append(oChild9)

oChild6.append(oChild10)

#?說明下面代碼的輸出結果

oRoot.print_all_1()

oRoot.print_all_2()

問題12

簡要描述Python的垃圾回收機制(garbage collection)。

問題13

將下面的函數按照執行效率高低排序。它們都接受由0至1之間的數字構成的列表作為輸入。這個列表可以很長。一個輸入列表的示例如下:[random.random() for i in range(100000)]。你如何證明自己的答案是正確的。def?f1(lIn):

l1?=?sorted(lIn)

l2?=?[i?for?i?in?l1?if?i<0.5]

return?[i*i?for?i?in?l2]

def?f2(lIn):

l1?=?[i?for?i?in?lIn?if?i<0.5]

l2?=?sorted(l1)

return?[i*i?for?i?in?l2]

def?f3(lIn):

l1?=?[i*i?for?i?in?lIn]

l2?=?sorted(l1)

return?[i?for?i?in?l1?if?i

問題14

你有過失敗的經歷嗎?

問題15

你有實施過個人項目嗎?

真的?

結語

我給出的這些問題時,有意涉及了多個領域。而且答案也是特意寫的較為啰嗦。在編程面試中,你需要展示自己對語言的理解,如果你能簡要地說清楚,那請務必那樣做。我盡量在答案中提供了足夠的信息,即使是你之前從來沒有了解過這些領域,你也可以從答案中學到些東西。我希望本文能夠幫助你找到滿意的工作。

加油!

題圖:pexels,CC0 授權。

總結

以上是生活随笔為你收集整理的python面试应急5分钟_Python面试必须要看的15个问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。