• Python开发工程师面试题之爬虫面试题分享


    Python开发工程师的就业方向非常多,其中一个方向就是python爬虫开发工程师,这也是很多企业热招的岗位之一。如何能提高自己面试的成功率,不仅仅需要开发者在学习工作中不断的积累专业技能知识,最关键的是在面试过程中能正常发挥。下面为大家提供几个Python爬虫工程师面试的题目,希望对大家的面试有帮助。

    Python开发工程师面试题之爬虫面试题分享

      一、scrapy 和 scrapy-redis 有什么区别?

      答:scrapy 是一个 Python 爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而 scrapy-redis 一套基于 redis 数据库、运行在 scrapy 框架之上的组件,可以让scrapy 支持分布式策略,Slaver 端共享 Master 端 redis 数据库里的 item 队列、请求队列和请求指纹集合。

      二、描述下 scrapy 框架运行的机制?

      答:从 start_urls 里获取第一批 url 并发送请求,请求由引擎交给调度器入请求队列,获取完毕后,调度器将请求队列里的请求交给下载器去获取请求对应的响应资源,并将响应交给自己编写的解析方法做提取处理:1. 如果提取出需要的数据,则交给管道文件处理;2. 如果提取出url,则继续执行之前的步骤(发送url请求,并由引擎将请求交给调度器入队列...),直到请求队列里没有请求,程序结束。

      三、Post 和 get 区别和应用场合?

      区别:

      Get:从指定的服务器中获取数据。GET 请求能够被缓存;GET 请求会保存在浏览器的浏览记录中;以 GET 请求的URL 能够保存为浏览器书签;GET 请求有长度限制;GET 请求主要用以获取数据。

      Post:POST 请求不能被缓存下来;POST 请求不会保存在浏览器浏览记录中; POST 请求的 URL 无法保存为浏览器书签;POST 请求没有长度限制;POST 请求会把请求的数据放置在HTTP 请求包的包体中,POST 的安全性比 GET的高。可能修改变服务器上的资源的请求

      应用场合:

      post:请求的结果有持续性的副作用(数据库内添加新的数据行)若使用 GET 方法,则表单上收集的数据可能让 URL 过长。要传送的数据不是采用 7 位的 ASCII 编码。

      get:请求是为了查找资源,HTML 表单数据仅用来帮助搜索。请求结果无持续性的副作用。收集的数据及 HTML 表单内的输入字段名称的总长不超过 1024 个字符。

      以上就是目前较常见的爬虫工程师面试题目。以后小编会持续更新关于爬虫的面试题目,大家可以长期关注博斌官网。在实际的面试过程中,这些题目经常是结合你真是做过的项目而展出来的。

  • 相关阅读:
    Binary Tree Maximum Path Sum
    ZigZag Conversion
    Longest Common Prefix
    Reverse Linked List II
    Populating Next Right Pointers in Each Node
    Populating Next Right Pointers in Each Node II
    Rotate List
    Path Sum II
    [Leetcode]-- Gray Code
    Subsets II
  • 原文地址:https://www.cnblogs.com/nanhe/p/13174529.html
Copyright © 2020-2023  润新知