准备了一些简单的面试题

当了一次面试官,主要是面试爬虫岗位,具体涉及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容器与爬虫
相关推荐
小白学大数据1 天前
深度探索:Python 爬虫实现豆瓣音乐全站采集
开发语言·爬虫·python·数据分析
用户6757049885021 天前
Celery 太重了?这可能是你一直在找的 asyncio 任务队列
后端·python·消息队列
Cloud_Shy6181 天前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十一章 Python 包跟踪器 下篇)
前端·后端·python·数据分析·excel
Xin_ye100861 天前
C# 零基础到精通教程 - 第八章:面向对象编程(进阶)——继承与多态
开发语言·c#
程序员榴莲1 天前
网络编程入门 Python Socket 实现一个简单的用户认证系统
服务器·网络·python
m0_748839491 天前
R包grafify:简单操作实现高效统计绘图
开发语言·r语言
知识分享小能手1 天前
Flask入门学习教程,从入门到精通, 认识Flask路由 — 知识点详解 (2)
python·学习·flask
AI棒棒牛1 天前
YOLO26改进创新 | 全网首发!VECA弹性核心注意力重塑全局建模,线性复杂度增强检测骨干,嘎嘎创新!
python·yolo·目标检测·yolo26·主干改进
Evand J1 天前
【课题推荐与代码介绍】卡尔曼滤波器正反向估计算法原理与MATLAB实现
开发语言·算法·matlab
奋斗的小方1 天前
Java基础篇09:项目实战
java·开发语言