python工程师笔试题(校招)
关于
1年前
更新
0
频次
1
题目数
分享
有问题?问问AI帮你修改 改主题:如咖啡问卷改为奶茶问卷
笔试须知:1. 笔试题分为逻辑测试和专业技能测试,其中逻辑测试权重35%,专业技能测试权重65%,专业技能测试用于了解人员掌握知识的深度和广度;2.请统一在答题纸上做答,请保持答题卡整洁干净;3.答题时间不超过1小时,可提前交答题纸;4.禁止公开发布该测试题内容,禁止将该测试题内容分享与第三者 一、逻辑测试:1、大象是动物,动物有腿。因此大象有腿。(A) 是 (B) 否2、我的秘书还未到参加选民的年龄,我的秘书有着漂亮的头发。所以我的秘书是个未满18周岁的姑娘。(A) 是 (B) 否3、所有的A都有一只眼睛,B有一只眼睛。所以A和B是一样的。(A) 是 (B) 否4、土豆比西红柿便宜,我的钱不够买两斤土豆。所以,(A)我的钱不够买一斤西红柿。(B)我的钱可能够,也可能不够买一斤西红柿。5、韦利是个和斯坦一样强的棒球击球手,斯坦是个比大多数人都要强的棒球击球手。所以,(A)韦利应是这些选手中最出色的。(B)斯坦应是这些选手中最出色的。(C)韦利是个比大多数人都要强的棒球击球手。6、水平高的音乐家演奏古典音乐,要成为水平高的音乐家就得练习演奏。所以演奏古典音乐比演奏爵士乐需要更多的练习时间。(A) 是 (B) 否7、如果你的孩子被宠坏了,打他屁股会使他发怒,如果他没有被宠坏,打他屁股会使你懊悔。所以,(A)打他屁股要么使你懊悔,要么使他发怒。(B)打他屁股也许对她没有什么好处。8、正方形是有角的图形,这个图形没有角。所以,(A)这个图形是个圆。(B)无确切结论。(C)这个图形不是正方形。9、格林威尔在史密斯城的东北,纽约在史密斯城的东北。所以,(A)纽约比史密斯城更靠近格林威尔。(B)史密斯城在纽约的西南。(C)纽约离史密斯城不远。10、绿色深时,红色就浅;黄色浅时,蓝色就适中;但是要么绿色深,要么黄色浅。所以,(A)蓝色适中。(B)黄色和红色都浅。(C)红色浅,或者蓝色适中。11、如果你突然停车,那么跟在后面的一辆卡车将撞上你;如果你不这样做,你将撞到一个妇女。所以,(A)行人不应在马路上行走。(B)那辆卡车车速太快。(C)你要么让后面那辆卡车撞上,要么撞到那个妇女。12、我住在农场和城市之间,农场位于城市和机场之间。所以,(A)农场到我住处比到机场要近。(B)我住在农场和机场之间。(C)我的住处到农场比到机场要近。13、当B等于Y时,A等于Z;当A不等于Z时,E要么等于Y,要么等于Z。所以,(A)当B等于Y时,E不等于Y也不等于Z。(B)当A等于Z时,Y或者Z等于E。(C)当B不等于Y时,E不等于Y也不等于Z。14、当B大于等于C时,X小于C但C绝不会大于B。所以,(A)X绝不会大于B。(B)X绝不会小于B。(C)X绝不会小于C。15、只要X是红色,Y就一定是绿色;只要Y不是绿色,就一定是蓝色。但是,当X是红色时,Z绝不会是蓝色。所以,(A)只要Z是蓝色,Y就可能是绿色。(B)只要X不是红色,Z就不可能是蓝色。(C)只要Y不是绿色,X就不可能是红色。16、有时印第安人是阿拉斯加人,阿拉斯加人有时是律师。所以,(A)有时印第安人不见得一定是阿拉斯加人或律师。(B)印第安人不可能是阿拉斯加人或律师。17、 一个正方体有6个面,每个面的颜色都不同,并且只能是红、黄、蓝、绿、黑、白6种颜色。如果满足:1.红的对面是黑色2.蓝色和白色相邻3.黄色和蓝色相邻那么,下面结论错误的是:A.红色与蓝色相邻B.蓝色的对面是绿色C.白色与黄色相邻D.黑色与绿色相邻18、50名运动员按顺序排成一排,教练下令:“单数运动员出列!”剩下的运动员重新排列编号,教练又下令:“单数运动员出列!”如此下去,最后只剩下一个人,他是几号运动员?如果教练喊:“双数运动员出列。”最后剩下的又是谁?二、专业技能测试一)、python基础1.有用过with关键词吗?有哪些对象支持该关键词?它的好处是什么?自己编写的代码如何支持该关键词?2.有用过yield关键词吗?什么时候应该使用该关键词?3.请写出一段Python代码实现删除一个list里面的重复元素4.以下代码是否可以通过断言检查?如果不行如何修正断言class A(object):def __init__(self, v):self.v = vsome_list = list()a = A('a')some_list.append(a)a = A('a')if a not in some_list:some_list.append(a)assert len(some_list) == 15.以下的代码的输出将是什么?def extendList(some_val, some_list=[]):some_list.append(some_val)return some_listlist1 = extendList(10)list2 = extendList(123, [])list3 = extendList('a')print(f"list1 = {list1}")print(f"list2 = {list2}")print(f"list3 = {list3}")6.以下的代码的输出将是什么?def multipliers():return [lambda x : i * x for i in range(4)]print(f"result ={[m(2) for m in multipliers()]}")7.以下代码将输出什么?some_list = ['a', 'b', 'c', 'd', 'e']print(f'list = {list[10:]}')8.以下的代码的输出将是什么?class Parent(object):x = 1class Child1(Parent):passclass Child2(Parent):passprint(f'{Parent.x},{Child1.x},{Child2.x}')Child1.x = 2print(f'{Parent.x},{Child1.x},{Child2.x}')Parent.x = 3print(f'{Parent.x},{Child1.x},{Child2.x}')二)、程序编写1、题目:斐波那契斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、…… 其规律为:前两个数字为1,从第三个数字开始为前两个数字的和。例如第6个数字为8,是因为第4个数字为3,第5个数字为5,其和为8。你的任务是编写程序输出指定序号的数字,序列从0开始。>输入输出格式>输入格式:>一个数字,表示数列中的序号。>输出格式:>一个数字,表示数列中的数值。输入输出样例```输入样例#1: 输出样例#1: 3 3输入样例#2: 输出样例#2: 7 21```1.1请使用递归算法编写1.2请使用非递归算法编写