北京云测信息技术有限公司7月招聘面试题79道2020719

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

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


北京云测信息技术有限公司7月招聘面试题面试题面试官常问到的一些题目整理如下:问题 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:谈谈你对闭包的理解?可用的回答 : #闭包函数的实例 # outer是外部函数 a和b都是外函数的临时变量 def outer( a ): b = 10 # inner是内函数 def inner(): #在内函数中 用到了外函数的临时变量 print(a+b) # 外函数的返回值是内函数的引用 return inner if _name_ = _main_: # 在这里我们调用外函数传入参数5 #此时外函数两个临时变量 a是5 b是10 ,并创建了内函数,然后把内函数的引用返回存给了demo # 外函数结束的时候发现内部函数将会用到自己的临时变量,这两个临时变量就不会释放, 会绑定给 这个内部函数demo = outer(5) # 我们调用内部函数,看一看内部函数是不是能使用外部函数的临时变量 # demo存了外函数的返回值,也就是inner函数的引用,这里相当于执行inner函数 demo() # 15 demo2 = outer(7)问题 Q3:谷歌的无头浏览器?可用的回答 : 无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。 Python中selenium模块中的PhantomJS即为无界面浏览器(无头浏览器):是基于QtWebkit的无头浏览器。 问题 Q4:如何在Flask中访问会话?可用的回答 :会话基本上允许您记住从一个请求到另一个请求的信息。在一个Flask中,它使用签名cookie,以便用户可以查看会话内容并进行修改。如果只有密钥Flask.secret_key,则用户可以修改会话。问题 Q5:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q6:用尽量多的方法实现单例模式?可用的回答 : 一、模块单例 Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成.pyc文件,当第二次导入时,就会直接加载.pyc文件,而不会再次执行模块代码。 二、静态变量方法 先执行了类的_new_方法(我们没写时,默认调用object._new_),实例化对象; 然后再执行类的_init_方法,对这个对象进行初始化,所有我们可以基于这个,实现单例模式。 class Singleton(object): def _new_(cls,a): if not hasattr(cls, _instance): cls._instance = object._new_(cls) return cls._instance def _init_(self,a): self.a = a 问题 Q7:迭代器和生成器的区别?可用的回答 : 1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于 string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调 用iter()函数,iter()是python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中 逐个访问容器内元素,next()也是python的内置函数。在没有后续元素时,next()会抛出一个 StopIteration异常 2)生成器(Generator)

在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

更多 “北京云测信息技术有限公司7月招聘面试题79道2020719” 相关考题
考题 关于引用,下列的说法中错误的是()。A、引用是给被引用的变量取一个别名B、引用主要是用来作函数的形参和函数的返回值C、在声明引用时,要给它另开辟内存单元D、在声明引用时,必须同时使它初始化正确答案:C

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

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

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

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

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

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

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

考题 对于一个已经不被任何引用变量引用的对象,当垃圾回收器准备回收该对象所占用的内存时,将自动调用该对象的以下哪个方法()A、finalizeB、notifyC、nofityAllD、hashCode正确答案:A

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