sokaoti.com
华塑控股股份有限公司2月招聘面试题105道202027

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

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


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

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

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

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

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


参考答案:A


华塑控股股份有限公司2月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1: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,都有其独立的私有内存池,对象间不共享他们的内存池。也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。 问题 Q2:什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象?可用的回答 : 粘包:在接收数据时,一次性多接收了其它请求发送来的数据(即多包接收)。如: 对方第一次发送hello,第二次发送world,在接收时,应该收两次, 一次是hello,一次是world,但事实上是一次收到helloworld,一次收到空,这种现象叫粘包。 原因: 粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。 什么情况会发生: 1、发送端需要等缓冲区满才发送出去,造成粘包 发送数据时间间隔很短,数据很小,会合到一起,产生粘包 2、接收方不及时接收缓冲区的包,造成多个包接收 客户端发送了一段数据,服务端只收了一小部分, 服务端下次再收的时候还是从缓冲区拿上次遗留的数据,产生粘包 解决方案: 一个思路是发送之前,先打个招呼,告诉对方自己要发送的字节长度, 这样对方可以根据长度判断什么时候终止接受 注意: 只有TCP有粘包现象,UDP永远不会粘包! 问题 Q3:介绍一下except的用法和作用?可用的回答 : tryexceptexceptelsefinally 执行try下的语句,如果引发异常,则执行过程会跳到except语句。 对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。 如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。 try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行 如果存在finally语句,最后总是会执行。 问题 Q4:请用代码简答实现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中最新的元素 return self.stack-1 问题 Q5:用尽量多的方法实现单例模式?可用的回答 : 一、模块单例 Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成.pyc文件,当第二次导入时,就会直接加载.pyc文件,而不会再次执行模块代码。 二、静态变量方法 先执行了类的_new_方法(我们没写时,默认调用object._new_),实例化对象; 然后再执行类的_init_方法,对这个对象进行初始化,所有我们可以基于这个,实现单例模式。 class Singleton(object):

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

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

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

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

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


参考答案:D


阅读下列说明、图和C++代码,回答问题1至问题3。

【说明】

已知四个类之间的关系如图2-2所示,分别对每个类的方法进行编号,例如Shape的perimeter()方法为1号,表示为1:perimeter(),Rectangle类的perimeter()为2号,表示为2:perimeter(),依此类推,其中,每个类的perimeter方法都为虚函数且方法签名相同。

【C++代码】

Triangle *tr=new Triangle();

Square *sq=new Square();

Shape *sh =tr;

关于上述C++代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。

①sh和tr分别引用同一个对象;

②sh和tr分别引用同一类型的不同的对象:

③sh和tr分别引用不同类型的不同对象;

④sh和tr分别引用同一个对象的不同备份:

⑤sh和tr所引用的内存空间是相同的。


正确答案:① ⑤
① ⑤


在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。()

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


答案:对


E-R图中的实体集A、B之前为1:*联系,转换为关系模型时,在B实体集中增加A实体集的标识符作外码;而在面向对象数据模型中( )

A.在B对象中增加一个引用属性外,对A对象不作任何处理
B.在B对象中增加一个引用属性外,在A对象中增加一组引用属性
C.在A对象中增加一组引用属性外,对B对象不作任何处理
D.在A对象中增加一组引用属性外,在B对象中增加一组引用属性

答案:A
解析:
小编正在快马加鞭来的路上(详见视频讲解)


Python垃圾回收机制有哪些?()

  • A、引用计数
  • B、分代技术
  • C、标记-清除机制
  • D、Copying算法

正确答案:A,B,C

更多 “华塑控股股份有限公司2月招聘面试题105道202027” 相关考题
考题 在引用对象时,将该对象所在的命名空间作为前缀,这种命名空间的引用方法称之为(),另外还可以通过使用()语句定义“别名”来引用命名空间。正确答案:完全限定名;Imports

考题 在.NET中,一些数据类型为引用类型,当引用类型的值为()时,表明没有引用任何对象正确答案:null

考题 关于引用,下列的说法中错误的是()。A、引用是给被引用的变量取一个别名B、引用主要是用来作函数的形参和函数的返回值C、在声明引用时,要给它另开辟内存单元D、在声明引用时,必须同时使它初始化正确答案:C

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

考题 对象引用可以用一个同类对象的地址值对它赋值。正确答案:错误

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

考题 单选题关于引用,下列的说法中错误的是()。A 引用是给被引用的变量取一个别名B 引用主要是用来作函数的形参和函数的返回值C 在声明引用时,要给它另开辟内存单元D 在声明引用时,必须同时使它初始化正确答案:C解析:暂无解析

考题 下述代码执行后,有几个引用变量和几个对象?()   Student stu = new Student(“Mike”);  Student stua;  Stua = stu;  A、 2个引用变量,1个对象B、 1个引用变量,1个对象C、 2个引用变量,2个对象D、 1个引用变量,2个对象正确答案:A

考题 下面关于垃圾收集的说法正确的是()A、一旦一个对象成为垃圾,就立刻被收集掉。B、对象空间被收集掉之后,会执行该对象的finalize方法C、finalize方法和C++的析构函数是完全一回事情D、一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此。正确答案:D

考题 填空题在引用对象时,将该对象所在的命名空间作为前缀,这种命名空间的引用方法称之为(),另外还可以通过使用()语句定义“别名”来引用命名空间。正确答案:完全限定名,Imports解析:暂无解析