本次小編面試的是Python開發工程師的崗位,雖然在疫情期間,但還是過去看了一下。
筆試的題都是偏基礎的,面試就比較深入在遇到BUG這個問題上就有四問。先看筆試,面試隨後再給大家總結。
本次筆試共5道選擇題,4道填空題以及5道簡(代)答(碼)題:
選擇題
- 這段代碼輸出結果是什麼 (答案爲c)
[4+8]/2
a.8
b.6.0
c.6
d.8.0
- 這段代碼輸出結果是什麼 (答案爲b)
7%(5//2)
a. 0
b. 1
c. 7
d. 5
- 這段代碼輸出結果是什麼 (答案爲b)
x = 4
y = 2
if not 1+1 == y or x ==4 and 7 == 8:
print("yes")
elif x > y:
print("no")
yes no
b. no
c. yes
d. 出錯
- 這個列表有多少項(答案爲b)
a = [2,]
print(len(a))
a. 2
b. 1
c. 3
d. 0
- 這段代碼輸出的結果是什麼(答案爲a)
nums = list(range(3,15,3))
print(nums[2])
a. 9
b. 0
c. 3
d.12
填空題
- 填寫一個數讓代碼拋出ZeroDivisionError:
(17+94)/(-5+__)
答案爲5。當除數爲0時會拋出“ZeroDivisionError: division by zero”的錯誤提示。
- 這段代碼輸出的結果是什麼
print(int(3*'5')+45)
答案爲600。數字乘字符串會複製字符串,所以3*‘5’結果爲‘555’,int將字符串改數字
- 在空白處輸入關鍵字,能夠打印出“你好,歡迎來到****”
age = 15
money = 500
if age > 18 ___ money > 100:
___("你好!****")
答案爲or,print。
- 這段代碼輸出的結果是什麼?
nums = [9,8,7,6,5]
nums.append(4)
print(nums)
nums.insert(2,11)
print(nums)
答案爲[9, 8, 11, 7, 6, 5, 4]。
簡答題
- 使用列表推導式將1到是10的奇數寫入列表
參考代碼如下:
mutiples = [i for i in range(1,11) if not i % 2 is 0]
print(mutiples)
- 使用一行代碼寫出1,4,9,16,25,36,49,64,81,10的數列:
參考代碼如下:
# 方法一:
print([num*num for num in [1,2,3,4,5,6,7,8,9,10]])
# 方法二:
x = [1,2,3,4,5,6,7,8,9,10]
print(list(map(lambda num:num*num,x)))
- 使用sql語句去重name列的重複數據
select distinct name from A
- 常用的10條Linux命令
熟悉的寫
- 單引號雙引號和三引號的區別:
- 單引號跟雙引號的普通用法是相同的, 就是跟C++語言裏面用雙引號表示字符串字面量的用法一樣。
- 單引號跟雙引號的區別主要體現在當用單引號包起來的字符串裏包含"的時候, 不需要使用轉義符(), 反過來也是一樣。
- 三引號的核心用法主要體現在跨行的字符串上, 會包含兩個界定符號之間的所有字符,包括看得見的, 看不見的, 如回車換行符。
- 還有就是python中沒有多行註釋符號, 一般用三引號代替。
總結
筆試相比面試更考驗個人的基礎知識,面試更看個人的發揮與知識面。