准备了一些简单的面试题

当了一次面试官,主要是面试爬虫岗位,具体涉及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容器与爬虫
相关推荐
十五年专注C++开发几秒前
VS2019编译的C++程序,在win10正常运行,在win7上Debug正常运行,Release运行报错0xC0000005,进不了main函数
开发语言·c++·报错c0x0000005
一条咸鱼_SaltyFish几秒前
[Day13] 微服务架构下的共享基础库设计:contract-common 模块实践
开发语言·人工智能·微服务·云原生·架构·ai编程
隐退山林3 分钟前
JavaEE:多线程初阶(一)
java·开发语言·jvm
虎冯河4 分钟前
阿里云 + 宝塔面板环境Python 项目从 0 到 1 部署全流
python·阿里云·云计算
C_心欲无痕6 分钟前
ts - 模板字面量类型与 `keyof` 的魔法组合:`keyof T & `on${string}`使用
linux·运维·开发语言·前端·ubuntu·typescript
最贪吃的虎9 分钟前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
鹿衔`9 分钟前
PySpark 大规模造数任务优化与实施总结文档
python·pyspark
深蓝海拓10 分钟前
PySide6从0开始学习的笔记(二十三)使用QRunnable在线程池中执行临时任务
笔记·python·qt·学习·pyqt
CCPC不拿奖不改名11 分钟前
网络与API:HTTP基础+面试习题
网络·python·网络协议·学习·http·面试·职场和发展
乾元11 分钟前
无线定位与链路质量预测——从“知道你在哪”,到“提前知道你会不会掉线”的网络服务化实践
运维·开发语言·人工智能·网络协议·重构·信息与通信