999kao.com
武汉凡谷电子技术股份有限公司6月招聘面试题104道2020613

下面关于引用的说法错误的是()。

A、引用是被引用对象的别名

B、对引用的修改就是对被引用对象的修改,反之亦然

C、引用不一定立即初始化

D、引用不能建立数组


参考答案:C


下列对引用的陈述中错误的是()。

A、每一个引用都是其所引用对象的别名,因此必须初始化;

B、形式上针对引用的操作实际上作用于它所引用的对象;

C、一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行;

D、不需要单独为引用分配存储空间。


参考答案:B


下列哪种情况不会导致Python对象的引用计数增加()

A.对象被创建

B.被作为参数传递给函数

C.成为容器对象的元素

D.该对象无法访问时


正确答案:D


任何一个父类的引用变量(或对象)都可以被当成一个派生类的引用变量(或对象)。()

此题为判断题(对,错)。


正确答案:错误


下述代码执行后,有几个引用变量和几个对象?()对象声明Studentstu(对象)=newStudent(Mike”);对象定义(开辟空间)Studentstua;(声明变量)Stua=stu;

A.2个引用变量,1个对象

B.1个引用变量,1个对象

C.2个引用变量,2个对象

D.1个引用变量,2个对象


参考答案:A


武汉凡谷电子技术股份有限公司6月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:Python里面match()和search()的区别?可用的回答 :re模块中match(pattern,string,flags),检查string的开头是否与pattern匹配。re模块中research(pattern,string,flags),在string搜索pattern的第一个匹配值。问题 Q2:Python是如何进行内存管理的?可用的回答 : 从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。 引用计数增加的情况: 1,一个对象分配一个新名称 2,将其放入一个容器中(如列表、元组或字典),引用计数减少的情况: 1,使用del语句对对象别名显示的销毁 2,引用超出作用域或被重新赋值 sys.getrefcount( )函数可以获得对象的当前引用计数 多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。 二、垃圾回收 1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。 2,当两个对象a和b相互引用时,del语句可以减少a和b的引用计数,并销毁用于引用底层对象的名称。然而由于每个对象都包含一个对其他对象的应用,因此引用计数不会归零,对象也不会销毁。(从而导致内存泄露)。为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。 三、内存池机制 Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。 1,Pymalloc机制。为了加速Python的执行效率,Python引入了一个内存池机制,用于管理对小块内存的申请和释放。 2,Python中所有小于256个字节的对象都使用pymalloc实现的分配器,而大的对象则使用系统的malloc。 3,对于Python对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。 问题 Q3:如何在Python中删除文件?可用的回答 :使用命令os.remove(filename) 删除文件 或 os.unlink(filename) 删除快捷方式问题 Q4:def func(a,b=) 这种写法有什么坑?可用的回答 : def func(a,b=): b.append(a) print(b) func(1) func(1) func(1) func(1) 如:看下结果 1 1, 1 1, 1, 1 1, 1, 1, 1 函数的第二个默认参数是一个list,当第一次执行的时候实例化了一个list,第二次执行还是用第一次执行的时候实例化的地址存储, 所以三次执行的结果就是 1, 1, 1 ,想每次执行只输出1 ,默认参数应该设置为None。 问题 Q5:简单谈下GIL?可用的回答 : Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制, Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。 对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。 在多线程环境中,Python 虚拟机按以下方式执行: 1. 设置GIL 2. 切换到一个线程去运行 3. 运行: a. 指定数量的字节码指令,或者 b. 线程主动让出控制(可以调用time.sleep(0)) 4. 把线程设置为睡眠状态 5. 解锁GIL 6. 再次重复以上所有步骤 在调用外部代码(如C/C+扩展函数)的时候,GIL 将会被锁定, 直到这个函数结束为止(由于在这期间没有Python 的字节码被运行,所以不会做线程切换)。 问题 Q6:为什么使用* args,* kwargs?可用的回答 :当我们不确定将多少个参数传递给函数,或者我们想要将存储的列表或参数元组传递给函数时,我们使用* args。*当我们不知道将多少关键字参数传递给函数时使用kwargs,或者它可以用于将字典的值作为关键字参数传递。标识符args和kwargs是一个约定,你也可以使用其他名称问题 Q7:请用代码简答实现stack?可用的回答 : stack的实现代码(使用python内置的list),实现起来是非常的简单,就是list的一些常用操作 class Stack(object): def _init_(self): self.stack = def push(self, value): # 进栈 self.stack.append(value) def pop(self): #出栈 if self.stack: self.stack.pop() else: raise LookupError(stack is empty!) def is_empty(self): # 如果栈为空 return bool(self.stack) def top(self): #取出目前stack中最新的元素

下述代码执行后,有几个引用变量和几个对象?()Studentstu=newStudent(“Mike”);Studentstua;Stua=stu;

A.2个引用变量,1个对象

B.1个引用变量,1个对象

C.2个引用变量,2个对象

D.1个引用变量,2个对象


参考答案:A


在java中,引用对象变量和对象间有什么关系?()

A.对象与引用变量的有效期不一致,当引用变量不存在时,编程人员必须动手将对象删除,否则会造成内存泄露。

B.对象与引用变量的有效期是一致的,当引用变量不存在时,它所指向的对象也会自动消失。

C.对象与引用变量的有效期是一致的,不存在没有引用变量的对象,也不存在没有对象引用变量。

D.引用变量是指向对象的一个指针。


参考答案:D


在程序运行过程中,(49)将方法与特定的对象动态地联系在一起,使得不同的对象在使用同样的方法时,可以因对象的状态不同而产生不同的行为,从而使得方法对具体的对象具有个性。

A.消息传递机制

B.对象自身引用

C.消息传递机制和对象自身引用

D.参数多态


正确答案:C
解析:对象自身引用(Self-Reference)是OOPL中的一种特有结构。这种结构在不同的OOPL中有不同的名称,在C++和Java中称为this,使用的值通过消息传递机制提供。对象自身引用的值和类型分别扮演了两种意义的角色:对象自身引用的值使得方法体中引用的成员名与特定的对象,及相关对象自身引用的类型决定了方法体被实际共享的范围。对象自身引用机制使得在进行方法的设计和实现时并不需要考虑与对象联系的细节,而是从更高一级的抽象层次也就是类的角度来设计同类型对象的行为特征,从而使得方法在一个类及其子类的范围内具有共性。在程序运行过程中,消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同的对象在执行同样的方法体时,可以因对象的状态不同而产生不同的行为,从而使得方法对具体的对象具有个性。


使用final 关键字修饰一个变量时,是引用不能变,还

是引用的对象不能变?


正确答案:

 

使用final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改

变的。例如,对于如下语句:

final StringBuffer a=new StringBuffer("immutable");

执行如下语句将报告编译期错误:

a=new StringBuffer("");

但是,执行如下语句则可以通过编译:

a.append(" broken!");

有人在定义方法的参数时,可能想采用如下形式来阻止方法内部修改传进来的参数对象:

public void method(final StringBuffer param)

{

}

实际上,这是办不到的,在该方法内部仍然可以增加如下代码来修改参数对象:

param.append("a");


对象的相对引用中,要引用当前操作的对象,可以使用的关键字是

A.Parent

B.ThisForm

C.ThisformSet

D.This


正确答案:D
解析:对象引用中各关键字的含义,This表示当前操作对象。在对象的相对引用中,关键字Parent表示当前对象的直接容器对象,ThisForm表示当前对象所在的表单,ThisformSet表示当前对象所在的表单集。掌握表单控件的常用属性、方法及事件的含义。

更多 “武汉凡谷电子技术股份有限公司6月招聘面试题104道2020613” 相关考题
考题 下列关于Java对象清除的叙述正确的是哪项?()  A、 对象被创建后,立刻变成垃圾对象B、 任何不再被引用的对象都是垃圾收集的对象C、 一旦对象失去引用,垃圾收集器立刻把它从内存中清除D、 Java对象的清除必须自己手动处理正确答案:B

考题 判断题Delphi采用基于对象的引用模式,即类的每一个变量不保存对象的值,而保存一个引用或一个指针来说明对象存储的内存位置。A 对B 错正确答案:错解析:暂无解析

考题 E-R图中的实体集A、B之前为1:*联系,转换为关系模型时,在B实体集中增加A实体集的标识符作外码;而在面向对象数据模型中( )A.在B对象中增加一个引用属性外,对A对象不作任何处理 B.在B对象中增加一个引用属性外,在A对象中增加一组引用属性 C.在A对象中增加一组引用属性外,对B对象不作任何处理 D.在A对象中增加一组引用属性外,在B对象中增加一组引用属性答案:A解析:小编正在快马加鞭来的路上(详见视频讲解)

考题 所有的容器对象都具有与之相关的计数属性和()属性。其中前者是一个数值型属性,它表明了所包含对象的数目;后者是一个数组,用以引用每个包含在其中的对象。正确答案:集合

考题 填空题所有的容器对象都具有与之相关的计数属性和()属性。其中前者是一个数值型属性,它表明了所包含对象的数目;后者是一个数组,用以引用每个包含在其中的对象。正确答案:集合解析:暂无解析

考题 对象的this引用是对该对象本身的引用。正确答案:正确

考题 单选题引用是一个变量的别名,下列关于的引用的描述,正确的是()。A 引用的值与被引用变量的值相等,内存地址相同B 引用的值与被引用变量的值相等,内存地址不相同C 引用的值与被引用变量的值不等,内存地址相同D 引用的值与被引用变量的值不等,内存地址不同正确答案:A解析:暂无解析

考题 Python垃圾回收机制有哪些?()A、引用计数B、分代技术C、标记-清除机制D、Copying算法正确答案:A,B,C

考题 单选题下述代码执行后,有几个引用变量和几个对象?()   Student stu = new Student(“Mike”);  Student stua;  Stua = stu;A2个引用变量,1个对象B1个引用变量,1个对象C2个引用变量,2个对象D1个引用变量,2个对象正确答案:C解析:暂无解析

考题 单选题下列关于Java对象清除的叙述正确的是哪项?()A对象被创建后,立刻变成垃圾对象B任何不再被引用的对象都是垃圾收集的对象C一旦对象失去引用,垃圾收集器立刻把它从内存中清除DJava对象的清除必须自己手动处理正确答案:D解析:暂无解析