星美联合股份有限公司4月招聘面试题54道2020418

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

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

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

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

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


正确答案:C


查看对象内存地址的Python内置函数是__________。


正确答案:id()


Python内置函数__________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。


正确答案:len()


Python内置函数__________用来返回序列中的最小元素。


正确答案:min()


Python内置函数_____________用来打开或创建文件并返回文件对象。


正确答案:open()


星美联合股份有限公司4月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:什么是PEP 8?可用的回答 :PEP 8是一个编码约定,关于如何编写Python代码更具可读性。问题 Q2:迭代器和生成器的区别?可用的回答 : 1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于 string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调 用iter()函数,iter()是python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中 逐个访问容器内元素,next()也是python的内置函数。在没有后续元素时,next()会抛出一个 StopIteration异常 2)生成器(Generator)是创建迭代器的简单而强大的工具。它们写起来就像是正规的函数,只是在需 要返回数据的时候使用yield语句。每次next()被调用时,生成器会返回它脱离的位置(它记忆语句最后 一次执行的位置和所有的数据值) 区别:生成器能做到迭代器能做的所有事,而且因为自动创建了iter()和next()方法,生成器显得特别简洁, 而且生成器也是高效的,使用生成器表达式取代列表解析可以同时节省内存。除了创建和保存程序状态 的自动方法,当发生器终结时,还会自动抛出StopIteration异常 问题 Q3:列举网络爬虫所用到的网络数据包,解析包?可用的回答 : 网络数据包 urllib、urllib2、requests 解析包 re、xpath、beautiful soup、lxml 问题 Q4:是否使用过functools中的函数?其作用是什么?可用的回答 :python自带的 functools 模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数。换言之,就是能使用该模块对可调用对象进行处理。functools.cmp_to_key(func)functools.total_ordering(cls)functools.reduce(function, iterable, initializer)functools.partial(func, args, *keywords)functools.update_wrapper(wrapper, wrapped, assigned, updated)functools.wraps(wrapped, assigned, updated)问题 Q5:Django 本身提供了 runserver,为什么不能用来部署?可用的回答 : runserver 方法是调试 Django 时经常用到的运行方式, 它使用 Django 自带的 WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。 uWSGI 是一个 Web 服务器,它实现了 WSGI 协议、uwsgi、http 等协议。 注意 uwsgi 是一种通信协议,而 uWSGI 是实现 uwsgi 协议和 WSGI 协议的 Web 服务器。 uWSGI 具有超快的性能、低内存占用和多 app 管理等优点, 并且搭配着 Nginx就是一个生产环境了,能够将用户访问请求与应用 app 隔离开,实现真正的部署 。 相比来讲,支持的并发量更高,方便管理多进程,发挥多核的优势,提升性能。 问题 Q6:分布式爬虫主要解决什么问题?可用的回答 : 面对海量待抓取网页,只有采用分布式架构,才有可能在较短时间内完成一轮抓取工作。它的开发效率是比较快而且简单的。 问题 Q7:如何提高爬取效率?可用的回答 : 爬虫下载慢主要原因是阻塞等待发往网站的请求和网站返回 1,采用异步与多线程,扩大电脑的cpu利用率; 2,采用消息队列模式 3,提高带宽 问题 Q8:Python里面match()和search()的区别?可用的回答 :re模块中match(pattern,string,flags),检查string的开头是否与pattern匹配。re模块中research(pattern,string,flags),在string搜索pattern的第一个匹配值。问题 Q9:用尽量多的方法实现单例模式?可用的回答 : 一、模块单例 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 问题 Q10:深拷贝和浅拷贝有什么区别?可用的回答 :在创建新实例类型时使用浅拷贝,并保留在新实例中复制的值。浅拷贝用于复制引用指针,就像复制值一样。这些引用指向原始对象,并且在类的任何成员中所做的更改也将影响它的原始副本。浅拷贝允许更快地执行程序,它取决于所使用的数据的大小。深拷贝用于存储已复制的值。深拷贝不会将引用指针复制到对象。它引用一个对象,并存储一些其他对象指向的新对象。原始副本中所做的更改不会影响使用该对象的任何其他副本。由于为每个被调用的对象创建了某些副本,因此深拷贝会使程序的执行速度变慢。算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:根据对er排序数组II题目描述如下:Given an array A of non-negative integers, half of the integers in A are odd, and half of the integers are even.Sort the array so that whenever Ai is odd, i is odd; and whenever Ai is even, i is even.You may return

下列哪种情况不会导致Python对象的引用计数增加()

A.对象被创建

B.被作为参数传递给函数

C.成为容器对象的元素

D.该对象无法访问时


正确答案:D


Python中函数是对象,描述错误的是?

A.函数不可以赋值给一个变量

B.函数可以作为元素添加到集合对象中

C.函数可以作为参数值传递给其它函数

D.一个函数可以当做另一个函数的返回值


正确答案:A


如果在设计一个类时实现类len()方法,那么该类的对象会自动支持Python内置函数len()。


正确答案:正确


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


正确答案:正确


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

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

正确答案:A

更多 “星美联合股份有限公司4月招聘面试题54道2020418” 相关考题
考题 填空题Python内置函数()用来返回序列中的最小元素。正确答案:min()解析:暂无解析

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

考题 可迭代对象是有iter方法的。正确答案:正确

考题 填空题Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。正确答案:len()解析:暂无解析

考题 python中,函数有哪些()A、匿名函数B、装饰器函数C、内置函数D、自定义函数正确答案:A,B,C,D

考题 多选题python中,函数有哪些()A匿名函数B装饰器函数C内置函数D自定义函数正确答案:D,B解析:暂无解析

考题 iter是生成器函数的关键字。正确答案:错误

考题 下面有关迭代器说法错误的是?()A、迭代器it的两个基本操作是next和hasNextB、调用迭代器next()会返回迭代器的下一个元素,并且更新迭代器的状态C、Scala Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法D、Scala Iterator(迭代器)是一个集合正确答案:D

考题 填空题Python内置函数()用来返回数值型序列中所有元素之和。正确答案:sum()解析:暂无解析

考题 填空题Python内置函数()用来打开或创建文件并返回文件对象。正确答案:open()解析:暂无解析