999kao.com
四川托普软件投资股份有限公司12月招聘面试题156道20201210

有关迭代以下哪种说法是正确的()

A.迭代是重复反馈过程的活动

B.迭代目的通常是为了接近并到达所需的目标或结果

C.文件的迭代相当于对文件中的内容进行遍历和操作

D.每一次对过程的重复被称为一次“迭代”


答案:ABCD


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

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

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

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

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


正确答案:C


● 若一个问题既可以用迭代方式也可以用递归方式求解,则 (65) 方法具有更高的时空效率。

(65)

A. 迭代

B. 递归

C. 先递归后迭代

D. 先迭代后递归


正确答案:A


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

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

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

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

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


参考答案:BC


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

A.迭代,递归

B.迭代,迭代

C.递归,迭代

D.递归,递归


参考答案:C


四川托普软件投资股份有限公司12月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:简述 yield和yield from关键字?可用的回答 : 1、可迭代对象与迭代器的区别 可迭代对象:指的是具备可迭代的能力,即enumerable. 在Python中指的是可以通过for-in 语句去逐个访问元素的一些对象,比如元组tuple,列表list,字符串string,文件对象file 等。 迭代器:指的是通过另一种方式去一个一个访问可迭代对象中的元素,即enumerator。 在python中指的是给内置函数iter()传递一个可迭代对象作为参数,返回的那个对象就是迭代器,然后通过迭代器的next()方法逐个去访问。 问题 Q2:大数据的文件读取?可用的回答 : 1. 利用生成器generator 2. 迭代器进行迭代遍历:for line in file 问题 Q3:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q4:写爬虫使用多进程好,还是用多线程好?可用的回答 : IO密集型代码(文件处理、网络爬虫等), 多线程能够有效提升效率(单线程下有IO操作会进行IO等待,造成不必要的时间浪费,而开启多线程能在线程A等待时,自动切换到线程B,可以不浪费CPU的资源,从而能提升程序执行效率)。 在实际的数据采集过程中,既考虑网速和响应的问题,也需要考虑自身机器的硬件情况,来设置多进程或多线程 问题 Q5:scrapy和scrapy-redis的区别?可用的回答 : scrapy是一个爬虫通用框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫,而提供了一些以redis为基础的组件 为什么会选择redis数据库?因为redis支持主从同步,而且数据都是缓存在内存中,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高 什么是主从同步?在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项, 让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave), 当客户端向从服务器发送SLAVEOF命令,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,也即是,将从服务器的数据库状态更新至主服务器当前所处的数据库状态 问题 Q6:scrapy和requests的使用情况?可用的回答 : requests 是 polling 方式的,会被网络阻塞,不适合爬取大量数据 scapy 底层是异步框架 twisted ,并发是最大优势 问题 Q7:什么是python模块?Python中有哪些常用的内置模块?可用的回答 :Python模块是包含Python代码的.py文件。此代码可以是函数类或变量。一些常用的内置模块包括:sys、math、os、re、random、time,datatime、json等问题 Q8:用尽量多的方法实现单例模式?可用的回答 : 一、模块单例 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 问题 Q9:数据库的优化?可用的回答 : 1. 优化索引、SQL 语句、分析慢查询; 2. 设计表的时候严格根据数据库的设计范式来设计数据库; 3. 使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO; 4. 优化硬件;采用SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等; 5. 采用MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率; 6. 垂直分表;把一些不经常读的数据放在一张表里,节约磁盘I/O; 7. 主从分离读写;采用主从复制把数据库的读操作和写入操作分离开来; 8. 分库分表分机器(数据量特别大),主要的的原理就是数据路由; 9. 选择合适的表引擎,参数上的优化; 10. 进行架构级别的缓存,静态化和分布式; 11. 不采用全文索引; 12. 采用更快的存储方式,例如 NoSQL存储经常访问的数据 问题 Q10:说说什么是爬虫协议?可用的回答 : Robots协议(也称为爬虫协议、爬虫规则、机器人协议等)也就是robots.txt, 网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。 Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯。因其不是命令,故需要搜索引擎自觉遵守。 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:可容纳最多水的一组容器题目描述如下:Given n non-negative integers a1, a2, ., an , where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a

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

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

正确答案:C


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

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

正确答案:A


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


正确答案:正确


python中,map函数的第二个参数是()

  • A、可迭代对象
  • B、方法
  • C、属性
  • D、函数

正确答案:A


reduce函数是高阶函数,第一个参数是()

  • A、方法
  • B、属性
  • C、函数
  • D、可迭代对象

正确答案:C

更多 “四川托普软件投资股份有限公司12月招聘面试题156道20201210” 相关考题
考题 单选题map函数的第一个参数是()A 方法B 属性C 函数D 可迭代对象正确答案:A解析:暂无解析

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

考题 判断题在python中,生成器是特殊的迭代器。A 对B 错正确答案:错解析:暂无解析

考题 内置函数len()返回指定序列的元素个数,适用于列表、元组、字符串、字典、集合以及range、zip等迭代对象。正确答案:正确

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

考题 文本文件是可以迭代的,可以使用for line in fp类似的语句遍历文件对象fp中的每一行。正确答案:正确

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

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

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

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