爬虫
注意:只有必答题部分计算分值,补充题不计算分值。
第一部分 必答题
注意:第31题1分,其他题均每题3分。
-
了解哪些基于爬虫相关的模块?
urllib requests
-
常见的数据解析方式?
正则、xpath、bs4、pyquery
-
列举在爬虫过程中遇到的哪些比较难的反爬机制?
robots.txt、UA测试、验证码、cookie、代理、动态数据加载、图片懒加载、数据加密
-
简述如何抓取动态加载数据?
ajax动态请求、js动态生成
-
移动端数据如何抓取?
fidller、mitproxy
-
抓取过哪些类型的数据,量级多少?
新闻资讯、财经数据、设备参数
-
了解哪些爬虫框架?
scrapy、pyspider
-
谈谈对scrapy的了解?
高效的网络请求
-
如何解析出携带标签的局部页面数据?
使用bs4
-
scrapy核心组件?
调度器、下载器、爬虫、实体管道、引擎
-
scrapy中间件的应用?
-
如何实现全站数据爬取?
基于spider父类、crawspider
-
如何检测网站数据更新?
增量式
-
分布式爬虫实现原理?
scrapy-redis组件
-
如何提升爬取数据的效率(异步爬虫)
增加并发、禁止cookie、禁止重试、减少下载超时、降低日志等级
-
列举你接触的反爬机制?
-
什么是深度优先和广度优先(优劣)
-
scrapy如何实现持久化存储
管道
-
谈谈对crawlspider的理解,如何使用其进行深度爬取
-
如何实现数据清洗?
清洗空值:dropna、fillna
清洗重复值:drop_duplicates
清理异常值:指定一个判断异常值的条件
-
了解过机器学习吗?
-
在爬虫中为什么需要是用selenium?selenium和爬虫之间的关联是什么?
selenium是web自动化测试工具。selenium通过xpath的等位,就像我们采用鼠标定位一样对页面做操作。
-
列举你所熟知的selenium模块中的常用方法及其作用
-
解释在多任务异步协程中事件循环(loop)的作用是什么?
-
多任务异步协程是如何实现异步的?
-
验证码如何处理?
识别途中的内容进行校验。
-
scrapy 和 scrapy-redis 有什么区别?
scrpay是一个python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。
srapy-redis一套基于redis数据库、运行在scrapy框架智商的组件,可以让scrapy支持分布式策略。
-
说一说打开浏览器访问 www.baidu.com 获取到结果,整个流程。
-
列出你知道 header 的内容以及信息
-
-
下列叙述中错误的是:(1分)
A.栈是线性结构 B.队列是线性结构
C.线性列表是线性结构 D.二叉树是线性结构 -
简述前序、中序、后续遍历?
-
写代码:实现一个冒泡排序。
-
写代码:实现一个快速排序。
第二部分 补充题
-
列举常见用的git命令?
-
你们公司/团队用怎么做的协同开发?
-
公司如何做代码review?谁来做?
-
线上代码如果出现bug如何解决?
-
git rebase的作用?