成都金亚科技股份有限公司1月招聘面试题50道202015

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

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


成都金亚科技股份有限公司1月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:有哪些工具可以帮助查找错误或执行静态分析?可用的回答 : PyChecker是一个静态分析工具,可以检测Python源代码中的错误,并警告错误的风格和复杂性。 Pylint是另一种验证模块是否符合编码标准的工具。 auto-pep8工具也可以进行静态代码检查 问题 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:常见的HTTP状态码有哪些?可用的回答 : 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not Implemented 问题 Q4:用Python匹配HTML tag的时候,和有什么区别?可用的回答 :术语叫贪婪匹配( )和非贪婪匹配( )问题 Q5:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q6:.什么是关联查询,有哪些?可用的回答 :将多个表联合起来进行查询,主要有内连接、左连接、右连接、全连接(外连接)问题 Q7:列举网络爬虫所用到的网络数据包,解析包?可用的回答 : 网络数据包 urllib、urllib2、requests 解析包 re、xpath、beautiful soup、lxml 问题 Q8:.什么是关联查询,有哪些?可用的回答 :将多个表联合起来进行查询,主要有内连接、左连接、右连接、全连接(外连接)问题 Q9:分布式爬虫主要解决什么问题?可用的回答 : 面对海量待抓取网页,只有采用分布式架构,才有可能在较短时间内完成一轮抓取工作。它的开发效率是比较快而且简单的。 问题 Q10: scrapy的优缺点?为什么要选择scrapy框架?可用的回答 : 优点: 采取可读性更强的xpath代替正则强大的统计和log系统 同时在不同的url上爬行 支持shell方式,方便独立调试 写middleware,方便写一些统一的过滤器 通过管道的方式存入数据库 缺点: 基于python爬虫框架,扩展性比较差,基于twisted框架, 运行中exception是不会干掉reactor,并且异步框架出错后是不会停掉其他任务的,数据出错后难以察觉 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:丢失的数字题目描述如下:Given an array containing n distinct numbers taken from 0, 1, 2, ., n, find the one that is missing from the array.Example 1:Input: 3,0,1Output: 2Example 2:Input: 9,6,4,2,3,5,7,0,1Output: 8Note:Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?给出从 0 - n的数,找出其中缺少的那个。思路:一开始的思路只有 set . set(n+1),set(nums),然后取差集。这种方法固然可以通过测试,不过题目要求使用常数空间也就是 O(1)。后来经过 Discuss 区里的点拨,发现几种有趣的方法:1. 使用异或。 两个相同的数会相互抵消掉。也就是说,从0-n异或一遍。然后在用这个数把nums里的给异或一遍。好了剩下的就是那个缺少的了。2. 使用和。思路与异或有异曲同工之妙,0-n加一遍。然后在减去,剩下的也是。运用数学方法,很妙。测试地址:https:/leetc

下述代码执行后,有几个引用变量和几个对象?()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");


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

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


答案:对

更多 “成都金亚科技股份有限公司1月招聘面试题50道202015” 相关考题
考题 单选题下列关于Java对象清除的叙述正确的是哪项?()A对象被创建后,立刻变成垃圾对象B任何不再被引用的对象都是垃圾收集的对象C一旦对象失去引用,垃圾收集器立刻把它从内存中清除DJava对象的清除必须自己手动处理正确答案:D解析:暂无解析

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

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

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

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

考题 装饰设计模式中,装饰对象应该包含一个被装饰对象的引用。正确答案:正确

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

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

考题 对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。正确答案:正确

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