准备了一些简单的面试题

当了一次面试官,主要是面试爬虫岗位,具体涉及scrapy爬虫框架和一些数据存储的小问题。具体的问题如下:

  1. scrapy框架如何将单机版爬虫改为分布式爬虫【使用scrapy_redis】,具体来讲需要修改哪几个组件的哪些具体部分
  2. Spider
    1. 如何设置监听redis队列
    2. 如何从redis内提取数据,并构造请求。介绍一下make_request_from_data函数的用法?
  3. settings.py
    1. 调度器 SCHEDULER
    2. redis链接 REDIS_URL
    3. 去重 DUPEFILTER_CLASS
  4. 我们有一批1900个key,用于爬虫使用。这些key调用上限为3000,而且有的时候部分key会失效,key的最大并发数为100。对于这一批key,你将如何设计用于分布式爬虫。请你给一个基于scrapy_redis的爬虫方案【具体可以从代理池的设计,维护,key的使用方面介绍】。【我们需要实时了解到每一个key的使用情况】
  5. 了解分布式消息队列rabbitmq/kafka吗?你有没有部署维护的经验?在使用过程中是如何确保消息不丢失【从消息的发布,消费两方面简单说说】?死信队列了解过吗?有没有使用消息队列实现过消息延迟/定时消费功能【要求一条数据在指定时间被消费】。有没有了解过rabbitmq的交换机,介绍一下kafka和rabbitmq队列的基础队列模式
  6. 熟悉js逆向吗?
  7. 有通过js逆向解决过反爬问题吗?有的话详细介绍一下
    1. 请求头参数加密
    2. 请求参数加密
    3. cookie加密
    4. 响应结果加密
    5. 滑块验证码了解吗?遇到滑块验证码如何解决?
  8. 在scrapy分布式爬虫中,如果有请求参数/请求头参数/cookie等是需要即时生成,如何设计参数生成器/参数使用?
  9. 了解过mongo集群/es集群吗?有没有部署维护过集群
  10. mongo在更新数据时如何提升效率?【如何更新】
  11. 如何存储碎片化数据?【千万级别小图片,数据会涉及转移与上传】
  12. 对于媒体数据如何存储?【.mp4/.mp3】
  13. 有没有开发/设计过爬虫监控项目?我们需要监控爬虫集群的请求速度,数据的入库速度,服务器的负载,爬虫的启停,如何实现?
  14. redis使用过嘛?
  15. 有没有在爬虫开发过程中使用redis实现某些功能,详细介绍一下?
  16. 使用过docker吗?
  17. 在哪些方面使用docker,简单介绍一下
  18. 有没有使用docker部署过爬虫?
  19. 有没有使用k8s管理过docker容器与爬虫
相关推荐
Swift社区3 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht3 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht3 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20243 小时前
Swift 数组
开发语言
stm 学习ing4 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc5 小时前
《Python基础》之字符串格式化输出
开发语言·python
mqiqe6 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin6 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python