999kao.com
北京云测信息技术有限公司9月招聘面试题120道202092

使用集合的add方法,要求传入的实参必须是()。

A.元组

B.列表

C.可哈希对象

D.可迭代对象


参考答案:C


已知有代码“forxiny”,则y必然是一个。()

A、可哈希对象

B、可迭代对象

C、列表对象

D、集合对象


正确答案:B


下列的说法中,不正确的是()

A.迭代器协议是指:对象必须提供一个next方法

B.list、dict、str虽然是Iterable,却不是Iterator

C.生成器与迭代器对象的区别在于:它仅提供next()方法

D.生成器实现了迭代器协议,但生成器是边计算边生成达到节省内存及计算资源


正确答案:C


● (43)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。

(43)

A. Adapter(适配器)

B. Iterator(迭代器)

C. Prototype(原型)

D. Observer(观察者)


正确答案:D


可以用于测试一个对象是否是一个可迭代对象()

A.in

B.type

C.for

D.while


正确答案:C


北京云测信息技术有限公司9月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:如何将值添加到python数组?可用的回答 :可以使用append(),extend()和insert(i,x)函数将元素添加到数组中。问题 Q2:参数如何通过值或引用传递?可用的回答 :Python中的所有内容都是一个对象,所有变量都包含对象的引用问题 Q3:简述 生成器、迭代器、可迭代对象 以及应用场景?可用的回答 : Python可迭代对象(Iterable) Python中经常使用 for 来对某个对象进行遍历,此时被遍历的这个对象就是可迭代对象,像常见的 list , tuple 都是。 如果给一个准确的定义的话,就是只要它定义了可以返回一个迭代器的 _iter_ 方法, 或者定义了可以支持下标索引的 _getitem_ 方法,那么它就是一个可迭代对象。 Python迭代器(iterator) 迭代器是通过 next() 来实现的,每调用一次他就会返回下一个元素,当没有下一个元素的时候返回一个 StopIteration 异常, 所以实际上定义了这个方法的都算是迭代器。 Python生成器(Generators) 生成器是构造迭代器的最简单有力的工具,与普通函数不同的只有在返回一个值的时候使用 yield 来替代 return , 然后 yield 会自动构建好 next() 和 iter() 因为迭代器如此普遍,python专门为for关键字做了迭代器的语法糖。 在for循环中,Python将自动调用工厂函数iter()获得迭代器,自动调用next()获取元素,还完成了检查StopIteration异常的工作。 问题 Q4:介绍一下except的用法和作用?可用的回答 : tryexceptexceptelsefinally 执行try下的语句,如果引发异常,则执行过程会跳到except语句。 对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配,执行相应的语句。 如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。 try下的语句正常执行,则执行else块代码。如果发生异常,就不会执行 如果存在finally语句,最后总是会执行。 问题 Q5:用尽量多的方法实现单例模式?可用的回答 : 一、模块单例 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 问题 Q6:Python里面match()和search()的区别?可用的回答 :re模块中match(pattern,string,flags),检查string的开头是否与pattern匹配。re模块中research(pattern,string,flags),在string搜索pattern的第一个匹配值。问题 Q7::-1表示什么?可用的回答 ::-1用于反转数组或序列的顺序。问题 Q8:IO多路复用的作用?可用的回答 : 基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。 IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 (4)如果一个服务器即要处理TCP,又要处理UDP,一般要使用I/O复用。 (5)如果一个服务器要处理多个服务或多个协议,一般要使用I/O复用。 与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小, 系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。 问题 Q9:常见的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 问题 Q10:简述 yield和yield from关键字?可用的回答 : 1、可迭代对象与迭代器的区别 可迭代对象:指的是具备可迭代的能力,即enumerable. 在Python中指的是可以通过for-in 语句去逐个访问元素的一些对象,比如元组tuple,列表list,字符串string,文件对象file 等。 迭代器:指的是通过另一种方式去一个一个访问可迭代对象中的元素,即enumerator。 在python中指的是给内置函数iter()传递一个可迭代对象作为参数,返回的那个对象就是迭代器,然后通过迭代器的next()方法逐个去访问。

以下关于迭代器访问集合结构错误的是()

A、访问聚合对象的内容而无需暴露内部表示

B、不支持对聚合对象的多种遍历

C、为遍历不同的聚合结构提供不同的接口

D、定义聚合对象和迭代器接口时,具体的迭代器可实现访问聚合对象的方法


参考答案:BC


“可迭代的”(iterable)指可以连续地提供其中的每一个元素的对象。()

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


参考答案:√


使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素。( )

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


参考答案:错误


一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用( )模式,用一个特定对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。


A. 解释器(Interpreter)
B. 策略(Strategy)
C. 中介者(Mediator)
D. 迭代器(Iterator)

答案:C
解析:
解释器模式属于类的行为模式,描述了如何为语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的代码。

策略模式是一种对象的行为型模式,定义一系列算法,并将每个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的策略类。

中介者模式是一种对象的行为行模式,通过一个中介对象来封装一系列的对象交互。中介者使得各对象不需要现实地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者对象的存在保证了对象结构上的稳定,也就说说系统的结构不会因为新对象的引入带来大量的修改工作。

迭代器模式是一种对象的行为型模式,提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象。


在python中,生成器是特殊的迭代器。


正确答案:正确

更多 “北京云测信息技术有限公司9月招聘面试题120道202092” 相关考题
考题 文本文件是可以迭代的,可以使用for line in fp类似的语句遍历文件对象fp中的每一行。正确答案:正确

考题 字符串和列表都是可迭代对象。()正确答案:正确

考题 单选题map函数的第一个参数是()A 方法B 属性C 函数D 可迭代对象正确答案:A解析:暂无解析

考题 在迭代器模式中,提供一个()的迭代器来对聚合对象进行访问和遍历。A、外部B、内部C、中间D、以上三者都可以正确答案:A

考题 python中,map函数的第二个参数是()A、可迭代对象B、方法C、属性D、函数正确答案:A

考题 map函数的第一个参数是()A、方法B、属性C、函数D、可迭代对象正确答案:C

考题 单选题python中,map函数的第二个参数是()A 可迭代对象B 方法C 属性D 函数正确答案:C解析:暂无解析

考题 判断题可迭代对象是有iter方法的。A 对B 错正确答案:对解析:暂无解析

考题 迭代器模式(Iterator)模式适用于()A、需要在不同的时间创建请求,生成请求队列,执行请求B、需要遍历访问聚集中的对象而不能暴露聚集中内部结构C、想避免抽象方法和其实现方法绑定在一起D、一组对象复杂地相互通信但其方法是定义明确的正确答案:B

考题 填空题关键字()用于测试一个对象是否是一个可迭代对象的元素。正确答案:in解析:暂无解析