浙江网盛生意宝股份有限公司4月招聘面试题168道2020412

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

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

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

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

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


正确答案:C


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

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

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

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

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


参考答案:BC


RDD的flatMap操作是将函数应用于RDD之中的每一个元素,将返回的迭代器数组、列表等中的所有元素构成新的RDD。()

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


正确答案:正确


DNS客户向本机所配DNS服务器发出的查询和DNS服务器向其它DNS服务器发出的查询分别是()。

A.迭代,递归

B.迭代,迭代

C.递归,迭代

D.递归,递归


参考答案:C


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

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


参考答案:错误


浙江网盛生意宝股份有限公司4月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:简述 生成器、迭代器、可迭代对象 以及应用场景?可用的回答 : 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异常的工作。 问题 Q2:生成器?可用的回答 :生成器的本质就是一个逐个返回元素的函数,即“本质函数”最大的好处在于它是“延迟加载”,即对于处理长序列问题,更加的节省存储空间。即生成器每次在内存中只存储一个值问题 Q3:列举网络爬虫所用到的网络数据包,解析包?可用的回答 : 网络数据包 urllib、urllib2、requests 解析包 re、xpath、beautiful soup、lxml 问题 Q4:什么是arp协议?可用的回答 : ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。 问题 Q5:Django 本身提供了 runserver,为什么不能用来部署?可用的回答 : runserver 方法是调试 Django 时经常用到的运行方式, 它使用 Django 自带的 WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。 uWSGI 是一个 Web 服务器,它实现了 WSGI 协议、uwsgi、http 等协议。 注意 uwsgi 是一种通信协议,而 uWSGI 是实现 uwsgi 协议和 WSGI 协议的 Web 服务器。 uWSGI 具有超快的性能、低内存占用和多 app 管理等优点, 并且搭配着 Nginx就是一个生产环境了,能够将用户访问请求与应用 app 隔离开,实现真正的部署 。 相比来讲,支持的并发量更高,方便管理多进程,发挥多核的优势,提升性能。 问题 Q6:单引号,双引号,三引号的区别?可用的回答 : 单引号和双引号是等效的,如果要换行,需要符号(),三引号则可以直接换行,并且可以包含注释 如果要表示Lets go 这个字符串 单引号:s4 = Lets go 双引号:s5 = “Lets go” s6 = I realy like“python”! 这就是单引号和双引号都可以表示字符串的原因了 问题 Q7:为什么使用* args,* kwargs?可用的回答 :当我们不确定将多少个参数传递给函数,或者我们想要将存储的列表或参数元组传递给函数时,我们使用* args。*当我们不知道将多少关键字参数传递给函数时使用kwargs,或者它可以用于将字典的值作为关键字参数传递。标识符args和kwargs是一个约定,你也可以使用其他名称问题 Q8:如何解释Python?可用的回答 :Python语言是一种解释语言。Python程序直接从源代码运行。它将程序员编写的源代码转换为中间语言,再次转换为必须执行的机器语言。问题 Q9:ngnix的正向代理与反向代理?可用的回答 : 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容, 客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 客户端必须要进行一些特别的设置才能使用正向代理。 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。 客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求, 并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。 问题 Q10:、isinstance作用以及应用场景?可用的回答 : isinstance(obj, cls) 检查一个obj是否是cls的一个对象 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:删除链表中的元素题目描述如下:Remove all elements from a linked list of integers that have value val.Example:Input: 1-2-6-3-4-5-6, val = 6Output: 1-2-3-4-5删除所有的val。注意下开头即为 val 的情况。beat90%测试地址:https:/ ListNode(object):# def _init_(self, x):# self.val = x# self.next = Noneclass Solution(object): def removeElements(self, head, val): :type head: ListNode :type val: int :rtype: ListNode while head: if head.val = val: head = head.next

阅读下列函数说明和C++代码,回答问题

[说明]

对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图5-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。

[图5-1]

[C++代码]

template (1) >

class Iterator{

public:

virtual bool hasNext() = 0;

(2) Object* next() = 0;

};

class Book{

//省略具体方法和属性

};

class BookShelf{

private:

vector books;

public:

BookShelf(){

}

Book* getBookAt(int index){

return &booksindex;

}

int getLength(){

return books. size();

}

};

template

class BookshelfIterator : public (3) {

private:

BookShelf * bookShelf;

int index;

public:

BookshelfIterator(BookShelf *bookShelf){

this->bookShelf = bookShelf;

index = 0;

}

bool hasNext(){//判断是否还有下一个元素

if(index < bookShelf->getLength()){

return true;

}else{

return false;

}

}

Objeot* next(){//取得下一个元素

return bookShelf->getBookAt(index++);

}

};

int main()

{

BookShelf bookShelf;

//将书籍上架,省略代码

Book *book;

Iterator *it = new BookShelfIterator( (4) );

while( (5) ){//遍历书架,输出书名

book=(Book*)it->next();

/*访问元素*/

}

return 0;

}


正确答案:(1)Object virtual IteratorObject> &bookShelf it->hasNext()
(1)Object virtual IteratorObject> &bookShelf it->hasNext()


DNS客户向本机所配DNS服务器发出的为()查询,DNS服务器向其它DNS服务器发出的为()查询。

  • A、迭代,递归
  • B、迭代,迭代
  • C、递归,迭代
  • D、递归,递归

正确答案:C


下面关于迭代评估的内容哪个是正确的()。

  • A、每次迭代后,一定要进行迭代评估,并根据迭代评估的结果来制定下一次迭代计划
  • B、迭代评估可以在一次迭代中进行
  • C、迭代评估主要是对文档的评估
  • D、迭代评估可以根据项目情况在多次迭代后做一次评估

正确答案:A


以下哪些是Python3相对于Python2的改动?()

  • A、字符串默认使用unicode
  • B、使用新的字符串格式化方法format取代%运算符
  • C、整数除法行为改变
  • D、range变得和xrange一样返回迭代器

正确答案:A,B


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


正确答案:正确

更多 “浙江网盛生意宝股份有限公司4月招聘面试题168道2020412” 相关考题
考题 单选题DNS客户向本机所配DNS服务器发出的查询和DNS服务器向其它DNS服务器发出的查询分别是()。A 迭代,递归B 迭代,迭代C 递归,迭代D 递归,递归正确答案:B解析:暂无解析

考题 项目团队请团队领导将一个迭代延长一天时间,让他们可以在下一次sprint评审会前完成一个功能,团队领导应该怎么做?()A、保持当前和未来的迭代时间长度。B、将所有迭代延长一天。C、将当前迭代延长一天。D、将当前迭代延长一天,并将下一个迭代缩短一天。正确答案:A

考题 遍历全部数组元素的方法有?() A、使用for 循环B、使用迭代器IteratorC、使用枚举器EnumerationD、使用增强型for 循环正确答案:A,D

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

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

考题 单选题对于UP方法的“构造阶段”描述正确的是()A 对风险较低和比较简单的元素进行迭代实现B 对风险较高元素进行迭代实现C 开始进入编程实现阶段D 边编程边部署正确答案:D解析:暂无解析

考题 使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素正确答案:错误

考题 以下哪项最能描述确定迭代(时间箱)长度的方法?()A、迭代(时间箱)应该总是30天B、团队通过将故事点的总数除以团队的平均速度来确定迭代(时间箱)的长度C、迭代(时间箱)应该总是两周D、考虑到项目的规模和复杂性,团队应该迭代的长度(计时器)达成一致正确答案:D

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

考题 单选题以下哪种设计模式最符合以下场景说明:() 【电视节目选择器】 电视提供了(creates)面板和遥控器两种节目选择方法,都具有“下一个”和“上一个”按钮来控制转到不同的频道。A 责任链模式(Chain of Responsibility)B 观察者模式(Observer)C 模板方法模式(Template Method)D 迭代器模式(Iterator)正确答案:A解析:暂无解析