范文无忧网面试笔试面试回答

Python面试基础题十大陷阱你中招了吗

02月22日 编辑 fanwen51.com

[陷阱面试题]你最大的长处和弱点分别是什么?这些长处和弱点对你在企业的业绩会有什么样的影响? 分析:这个问题的最大陷阱在于,第一个问题实际上是两个问题,而且还要加上一个后续问题。这两...+阅读

我们在会碰到各种各样的面试,有的甚至是HR专门为你设置的障碍,在python面试中也是,无论你是应聘Python web开发,爬虫工程师,或是数据分析,还是自动化运维,这些python面试基础题十大陷阱也许你会遇到,今天的python培训总结出来给你以防万一: 问题1:请问如何修改以下Python代码,使得下面的代码调用类A的show方法? class A(object) def show(self): print 'derived show' class B(A) def show(self): print 'derived show' obj=B() obj.show() 答:这道题的考点是类继承,只要通过__class__ 方法指定类对象就可以了。

补充的代码如下: obj._class_=A obj.show() 问题2:请问如何修改以下Python代码,使得代码能够运行? class A(object): def _init_ (self,a,b): self._a = a self._b = b def myprint(self): print 'a=',self._a,'b=',self._b a1=A(10,20) a1.myprint() a1=(80) 答:此题考察得是方法对象,为了能让对象实例能被直接调用,需要实现 __call__ 方法,补充代码如下: class A(object): def _init_ (self,a,b): self._a = a self._b = b def myprint(self): print 'a=',self._a,'b=',self._b def_call_(self,num): print'call:',num+self._a 问题3:下面这段代码的输出是什么? class B(object): def fn(self): print"B fn" def_init_(self): print"B INIT" class A(object): def fn(self): print"A fn" def_new_(cls,a): print"NEW",a if a>10: return super(A,cls)._new_(cls) return B() def_init_(self,a): print "INIT",a a1=A(5) a1,fn() a2=A(20) a2,fn() 答: NEW 5 B INIT B fn NEW 20 INIT 20 A fn 此题考察的是new和init的用法,使用 __new__ 方法,可以决定返回那个对象,也就是创建对象之前调用的,这个常见于于设计模式的单例、工厂模式。

__init__ 是创建对象是调用的。 问题4:下面这段代码输出什么? 1s=[1,2,3,4] list1 =[i for i in ls if i>2 print list1 list2 =[1*2 for i in ls if 1>2 print list2 dicl={x: x**2 for x in(2, 4, 6)} print dic1 dic2={x: ' item'+ str(x**2)for x in (2, 4, 6)} print dic2 setl ={x for x in 'hello world' if x not in 'low level'} print set1 答: [3,4] [6,8] {2:4,4:16,6:36} {2:'item4',4:'item16',6:'item36"}set(["h",'r','d"]) 此题考察的是列表和字典的生成。

问题5:下面这段代码输出什么? num= 9 def f1(): um=20 def f2(): print num f2() f1() f2() 答: 9 9 此题考察全局变量和局部变量。num 不是个全局变量,所以每个函数都得到了自己的 num 拷贝,如果你想修改 num ,则必须用 global 关键字声明。比如下面这样 num=9 def f1(): global num um=20 def f2(): print num f2() f1() f2() #prints: #9 #20 问题6:如何使用一行代码交换两个变量值? a=8 b=9 答: (a,b)=(b,a) 问题7:如何添加代码,使得没有定义的方法都调用mydefault方法? class A(object): def_init_(self,a,b): self.a1=a self.b1=b print'init' def mydefault(self): print'default' a1=A(10,20) a1.fn1() a1.fn2() a1.fn3() 答: class A(object): def_init_(self,a,b): self.a1=a self.b1=b print'init' def mydefault(self): print'default' def_getattr_(self,name): return self.mydefault a1=A(10,20) a1.fn1() a1.fn2() a1.fn3() 此题的考的是Python的默认方法, 只有当没有定义的方法调用时,才会调用方法 __getattr__。

当 fn1 方法传入参数时,我们可以给 mydefault 方法增加一个 *args 不定参数来兼容。 class A(object): def_init_(self,a,b): self.a1=a self.b1=b print'init' def mydefault(self,*args): print'default:'+str(args[0]) def_getattr_(self,name): print"other fn:",name return self.mydefault a1=A(10,20) a1.fn1(33) a1.fn2('hello') a1.fn3(10) 问题8:一个包里有三个模块,mod1.py , mod2.py , mod3.py ,但使用 from demopack import * 导入模块时,如何保证只有 mod1 、 mod3 被导入了。

答:在包中增加 __init__.py 文件,并在文件中增加: _all_=['mod1','mod3'] 问题9:写一个函数,接收整数参数 n ,返回一个函数,函数返回n和参数的积。 答: def mulby(num): def gn(val): return num*val return gn zw=mulby(7) print(zw(9)); 问题10:请问下面的代码有什么隐患?(Python2中) def strtest1(num): for i in range(num): str+="X" return str 答:由于变量str是个不可变对象,每次迭代,python都会生成新的str对象来存储新的字符串,num越大,创建的str对象越多,内存消耗越大。

延伸阅读:

面试题,试问题陷阱布阵法: 1.你何时能来上班?听到这类问题,你以为给了可以考虑录用你的信息,你急不可耐地说马上或随时可以上班,咕咚,你掉下陷阱。 2.你如何看待本单位?你一味夸奖,态度谄媚,或据实回报...

关于面试的“雷区“你中招了吗也许你有自己心仪的公司,但是经历一层面试后竟然没有被录取,内心难免有所失落感。要知道自己面试的时候问题究竟出现在哪里才能总结经验,下次注意。下面职场达人就告诉你面试失...

我们在面试过程中招聘人员会问的十大问题从我负责单位人力资源招聘的角度给你提出几点建议,供你参考, 1、带多几份简历前往面试,没有比当被要求提供多一份简历而你却没有更能显示你缺乏准备的事了。带多几份简历,面试你...

15个 MySQL基础面试题 DBA们准备好了吗问题1:你如何确定 MySQL 是否处于运行状态? 答案: 在Debian 上运行命令 service mysql status,然后看输出即可。 在 RedHat 或者 centos 上运行命令 service mysqld status,然后...

职场面试陷阱中招了吗一、面试官为什么不能接受一个真实的跳槽原因? 其实不是面试官不能接受你的真实跳槽原因,而是HR会观察你怎么处理和面对你的离职原因。稍有点意识的HR都会去做背景调查,一旦发...

职场女性最讨厌的6件事你中招了吗第一种:认为工作职责之外的事都与你无关每天总会有一些小杂务,有些人则认为,这不是自己分内的事,不去做是理所当然的,这种人,在别人看来就显得特别自私。几个同事在一处,就是一个小...

职场男最讨厌的几种女同事你中招了吗第一种:忌妒型 女人的忌妒心一旦爆发是非常可怕的,如山洪猛兽,且含有不可估量的杀伤力。比如:你烧的鸡蛋会被她们挑出骨头;你画的鹿会被她们说成马。另外一种忌妒型女同事,时常笑...

面试失败的信号你中招了吗1、面试时间过短,或心不在焉 不包括填表时间,纯面谈时间短于10分钟,或者面试官无心恋战的,说明他对你的情况不感兴趣,不想多了解。 2、“找茬” 比如你说之前工作加班多,身体不好,...

公务员面试启发:公职工作中的六大陷阱中招了吗领导指挥我做一件事情,结果给单位造成了损失和不良的后果,相信这种结果,领导和我都不愿意看到。当务之急,首先要做的就是,尽量挽回给单位带来的损失,减少不必要的麻烦,消除不良的影...

推荐阅读
图文推荐
栏目列表