sokaoti.com
北京同城必应科技有限公司5月招聘面试题119道2020520

Redis插入数据都是插入到列表右侧,因此读取数据也是从右侧读取()

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


正确答案:错


Scrapy的工程名字不能使用"scrapy",否则爬虫会无法运行。除此以外工程名不受限制。()

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


正确答案:错


Redis中往集合中添加数据,使用关键字()

A.sadd

B.add

C.append

D.sappend


正确答案:A


Redis是()数据库

A.关系数据库

B.键值数据库

C.列存数据库

D.图数据库


正确答案:B


已经创建好的Scrapy爬虫*.py文件可以直接通过Python来运行()

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


参考答案:错


北京同城必应科技有限公司5月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:如何提高爬取效率?可用的回答 : 爬虫下载慢主要原因是阻塞等待发往网站的请求和网站返回 1,采用异步与多线程,扩大电脑的cpu利用率; 2,采用消息队列模式 3,提高带宽 问题 Q2:分布式爬虫主要解决什么问题?可用的回答 : 面对海量待抓取网页,只有采用分布式架构,才有可能在较短时间内完成一轮抓取工作。它的开发效率是比较快而且简单的。 问题 Q3:scrapy和scrapy-redis的区别?可用的回答 : scrapy是一个爬虫通用框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫,而提供了一些以redis为基础的组件 为什么会选择redis数据库?因为redis支持主从同步,而且数据都是缓存在内存中,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高 什么是主从同步?在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项, 让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave), 当客户端向从服务器发送SLAVEOF命令,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,也即是,将从服务器的数据库状态更新至主服务器当前所处的数据库状态 问题 Q4:谷歌的无头浏览器?可用的回答 : 无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。 Python中selenium模块中的PhantomJS即为无界面浏览器(无头浏览器):是基于QtWebkit的无头浏览器。 问题 Q5:Python中的生成器是什么?可用的回答 :实现迭代器的方法称为生成器。这是一个正常的函数,除了它在函数中产生表达式。问题 Q6:如何删除python数组的值?可用的回答 :可以使用pop()或remove()方法删除数组元素。这两个函数之间的区别在于前者返回已删除的值,而后者则不返回。问题 Q7:Python中的生成器是什么?可用的回答 :实现迭代器的方法称为生成器。这是一个正常的函数,除了它在函数中产生表达式。问题 Q8:def func(a,b=) 这种写法有什么坑?可用的回答 : def func(a,b=): b.append(a) print(b) func(1) func(1) func(1) func(1) 如:看下结果 1 1, 1 1, 1, 1 1, 1, 1, 1 函数的第二个默认参数是一个list,当第一次执行的时候实例化了一个list,第二次执行还是用第一次执行的时候实例化的地址存储, 所以三次执行的结果就是 1, 1, 1 ,想每次执行只输出1 ,默认参数应该设置为None。 问题 Q9: Django重定向你是如何实现的?用的什么状态码?可用的回答 : 使用HttpResponseRedirect redirect和reverse 状态码:302,301 问题 Q10:谈谈你对面向对象的理解?可用的回答 : 在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。 在现实生活中的任何 物体都可以归为一类事物,而每一个个体都是一类事物的实例。 面向对象的编程是以对象为中心,以消息为驱 动,所以程序=对象+消息。 面向对象有三大特性,封装、继承和多态。 封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化, 提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。 继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类-有父类的行为和属性,也有自己特有的行为和属性。 这样做扩展了已存在的代码块,进一步提高了代码的复用性。 如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。 多态的一大作用就是为了解耦-为了解除父子类继承的耦合度。 如果说继承中父子类的关系式IS-A的关系,那么接口和实现类之之间的关系式 HAS-A。 简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。 总结一下,如果说封装和继承是面向对象的基础,那么多态则是面向对象最精髓的理论。掌握多态必先了解接口,只有充分理解接口才能更好的应用多态。 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:被包围的区域题目描述如下:Given a 2D board containing X and O (the letter O), capture all regions surrounded by X.A region is captured by flipping all Os into Xs in that surrounded region.Example:X X X XX O O XX X O XX O X XAfter running your function, the board should be:X X X XX X X XX X X XX O X XExplanation:Surrounded regions shouldnt be on the border, which means that any O on the border of the board are not flipped to X.Any O that is not on the border and it is not connected to an O on the border will be flipped to X. Two cells are connected if they are adjacent cells connected horizontally or vertically.给一个二维数组里面是 X 和 O,所有并未连着任何边界的 O 都变成 X 即可。X X X XX X O OX O X XX X X X变形后为X X X XX X O OX X X XX X X X思路:1. 一开始用递归,迭代每一个点,把里面所有

Scrapy每一次发起请求之前都会在这里检查网址是否重复。因此如果确实需要再一次爬取数据,在Redis中把这个Key删除即可。()

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


参考答案:对


在Ubuntu下若要运行Redis可以使用进入解压以后的文件夹并运行命令redis-server.redis.windows.conf启动Redis()

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


参考答案:错


使用了RedisSpider作为爬虫的父类以后,爬虫会直接监控()中的数据,并不读取start_urls中的数据。

A、Redis

B、RedisSpider

C、Spider

D、MongoDB


参考答案:A


()又称全网爬虫,爬行对象从一些种子URL扩充到整个Web,主要为门户站点搜索引擎和大型Web服务提供商采集数据。

A、聚焦网络爬虫

B、增量式网络爬虫

C、通用网络爬虫

D、深层网络爬虫


参考答案:C


下列选项中属于非关系型数据库的是()

A、MySQL

B、PostgreSQL

C、SQLserver

D、Redis


答案:D

更多 “北京同城必应科技有限公司5月招聘面试题119道2020520” 相关考题
考题 使用scrapy-redisl构建分布式爬虫,需要在settings.py文件中设置()。A、SCHEDULER=Scrapy-redisschedulerScheduleB、SCHEDULER='SCRAPYschedulerScheduleCDUPEFILTER_C、LASSscrap_redis.dupefilterRfpdupefilterD、dupefilter-class=scrap.dupefilterRfpdupefilter'参考答案:A

考题 阅读以下关于分布式数据库缓存设计的叙述,在答题纸,上回答问题1至问题3.[说明]某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。张工建议重新开发整个系统,采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用Redis来解决问题。 在经过充分讨论,该公司最终决定采用刘工的方案。 [问题1](9分)在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓存的基本概念。表4- 1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表4-1中的空(1) ~ (6) 。表4-1[问题2](8分)刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请说明基本的Redis与原有关系数据库的数据同步方案。[问题3](8分)请给出Redis分布式存储的2种常见方案和Redis集群切片的几种常见方式。答案:解析:[问题1](1)Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。(2)不支持(3)支持(4)不支持(5)支持(6)弱支持,只能保证事务中的每个操作连续执行 [问题2]主从复制集群、数据分片(Sharding)集群 [问题3]客户端分片、Twemproxy、Redis Cluster、Proxy + Redis Cluster

考题 Django原生提供了哪些维度的缓存?()A、整站缓存B、视图层缓存C、模板片段缓存D、redis缓存正确答案:A,B,C

考题 腾讯云的集中式云数据库产品主要分为CDB和CRS,下列关于CDB和CRS说法不正确的是()。A、CDB是腾讯云提供的关系型数据库,基于PCI-eSSD的存储介质,提供强悍存储性能B、CDB默认支持主从实时热备,并提供容灾、备份、恢复、监控、迁移等数据库运维全套解决方案C、CRS是腾讯云打造的兼容Redis协议的存储和缓存服务D、CRS中包括Redis、Memcached、NoSQL答案:D

考题 分布式数据库缓存技术有Memcache与Redis,关于两者的说法正确的是()A. Memcache不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 B. Redis支持多线程 C. Memcache不能进行内存管理 D. Redis支持主从、sentinel、cluster等分布式存储方式 答案:D解析:两者的对比如下所示:

考题 关于Redis的说法,以下错误的是()A、Redis是一个完全开源免费的、使用Java开发的、遵守BSD协议的、内存中的数据结构存储。B、Redis可以作为数据库使用C、Redis可以作为缓存中间件使用D、Redis可以作为消息代理使用参考答案:A

考题 相较于()只能采用客户端实现分布式存储,()则在服务器端构建分布式存储。A、Redis、MemcachedB、Memcached、Redis答案:B

考题 以下关于Spring Boot整合Redis实现缓存管理中,说法正确的有()A、要实现清除缓存的功能很简单,只需在相应类上使用@CacheEvict注解即可B、配置Redis缓存主机地址的属性为spring.redis.hostC、为了便于数据的传输,需要将实体类实现序列化接口SerializableD、@Cacheable注解用于查询缓存管理参考答案:BCD

考题 判断题Redis内存大数据处理的缺点是它不具备自动容错和恢复功能A 对B 错正确答案:对解析:暂无解析

考题 Redis中的值可以支持()。A.列表B.哈希C.集合D.有序集合参考答案:ABCD