回巢

爬虫

Python面试重点(爬虫篇)

注意:只有必答题部分计算分值,补充题不计算分值。

第一部分 必答题

注意:第31题1分,其他题均每题3分。

  1. 了解哪些基于爬虫相关的模块?

    urllib    requests

  2. 常见的数据解析方式?

    正则、xpath、bs4、pyquery

  3. 列举在爬虫过程中遇到的哪些比较难的反爬机制?

    robots.txt、UA测试、验证码、cookie、代理、动态数据加载、图片懒加载、数据加密

  4. 简述如何抓取动态加载数据?

    ajax动态请求、js动态生成

  5. 移动端数据如何抓取?

    fidller、mitproxy

  6. 抓取过哪些类型的数据,量级多少?

    新闻资讯、财经数据、设备参数

  7. 了解哪些爬虫框架?

    scrapy、pyspider

  8. 谈谈对scrapy的了解?

    高效的网络请求

  9. 如何解析出携带标签的局部页面数据?

    使用bs4

  10. scrapy核心组件?

    调度器、下载器、爬虫、实体管道、引擎

  11. scrapy中间件的应用?

  12. 如何实现全站数据爬取?

    基于spider父类、crawspider

  13. 如何检测网站数据更新?

    增量式

  14. 分布式爬虫实现原理?

    scrapy-redis组件

  15. 如何提升爬取数据的效率(异步爬虫)

    增加并发、禁止cookie、禁止重试、减少下载超时、降低日志等级

  16. 列举你接触的反爬机制?

  17. 什么是深度优先和广度优先(优劣)

  18. scrapy如何实现持久化存储

    管道

  19. 谈谈对crawlspider的理解,如何使用其进行深度爬取

  20. 如何实现数据清洗?

    清洗空值:dropna、fillna

    清洗重复值:drop_duplicates

    清理异常值:指定一个判断异常值的条件

  21. 了解过机器学习吗?

  22. 在爬虫中为什么需要是用selenium?selenium和爬虫之间的关联是什么?

    selenium是web自动化测试工具。selenium通过xpath的等位,就像我们采用鼠标定位一样对页面做操作。

  23. 列举你所熟知的selenium模块中的常用方法及其作用

  24. 解释在多任务异步协程中事件循环(loop)的作用是什么?

  25. 多任务异步协程是如何实现异步的?

  26. 验证码如何处理?

    识别途中的内容进行校验。

  27. scrapy 和 scrapy-redis 有什么区别?

    scrpay是一个python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。

    srapy-redis一套基于redis数据库、运行在scrapy框架智商的组件,可以让scrapy支持分布式策略。

  28. 说一说打开浏览器访问 www.baidu.com 获取到结果,整个流程。

  29. 列出你知道 header 的内容以及信息

  30. 简述scrapy的去重原理?

  31. 下列叙述中错误的是:(1分)

    A.栈是线性结构    B.队列是线性结构
    C.线性列表是线性结构 D.二叉树是线性结构
  32. 简述前序、中序、后续遍历?

  33. 写代码:实现一个冒泡排序。

  34. 写代码:实现一个快速排序。

第二部分 补充题

  1. 列举常见用的git命令?

  2. 你们公司/团队用怎么做的协同开发?

  3. 公司如何做代码review?谁来做?

  4. 线上代码如果出现bug如何解决?

  5. git rebase的作用?

git实战视频地址:https://www.bilibili.com/video/av70772636

posted on 2020-03-06 12:00  回巢  阅读(114)  评论(0编辑  收藏  举报

导航