广州Python开发工程师笔试题

本次小编面试的是Python开发工程师的岗位,虽然在疫情期间,但还是过去看了一下。
笔试的题都是偏基础的,面试就比较深入在遇到BUG这个问题上就有四问。先看笔试,面试随后再给大家总结。

本次笔试共5道选择题,4道填空题以及5道简(代)答(码)题:

选择题

  1. 这段代码输出结果是什么 (答案为c)

[4+8]/2

a.8
b.6.0
c.6
d.8.0

  1. 这段代码输出结果是什么 (答案为b)

7%(5//2)

a. 0
b. 1
c. 7
d. 5

  1. 这段代码输出结果是什么 (答案为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. 出错

  1. 这个列表有多少项(答案为b)
a = [2,]
print(len(a))

a. 2
b. 1
c. 3
d. 0

  1. 这段代码输出的结果是什么(答案为a)
nums = list(range(3,15,3))
print(nums[2])

a. 9
b. 0
c. 3
d.12


填空题

  1. 填写一个数让代码抛出ZeroDivisionError:
(17+94)/(-5+__)
答案为5。当除数为0时会抛出“ZeroDivisionError: division by zero”的错误提示。

  1. 这段代码输出的结果是什么
print(int(3*'5')+45)
答案为600。数字乘字符串会复制字符串,所以3*‘5’结果为‘555’,int将字符串改数字

  1. 在空白处输入关键字,能够打印出“你好,欢迎来到****”
age = 15
money = 500
if age > 18 ___ money > 100:
    ___("你好!****")
答案为or,print。

  1. 这段代码输出的结果是什么?
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. 使用列表推导式将1到是10的奇数写入列表
    参考代码如下:
mutiples = [i for i in range(1,11) if not i % 2 is 0]
print(mutiples)

  1. 使用一行代码写出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)))

  1. 使用sql语句去重name列的重复数据
select distinct name from A

  1. 常用的10条Linux命令
    熟悉的写

  1. 单引号双引号和三引号的区别:
    • 单引号跟双引号的普通用法是相同的, 就是跟C++语言里面用双引号表示字符串字面量的用法一样。
    • 单引号跟双引号的区别主要体现在当用单引号包起来的字符串里包含"的时候, 不需要使用转义符(), 反过来也是一样。
    • 三引号的核心用法主要体现在跨行的字符串上, 会包含两个界定符号之间的所有字符,包括看得见的, 看不见的, 如回车换行符。
    • 还有就是python中没有多行注释符号, 一般用三引号代替。

总结

笔试相比面试更考验个人的基础知识,面试更看个人的发挥与知识面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章