面试技巧

关注公众号 jb51net

关闭
IT专业知识 > IT职场规划 > 面试技巧 >

Python爬虫工程师面试常见问题与总结

Fortuna_

一.项目问题:

一般面试官的第一个问题八成都是问一下以前做过的项目,所以最好准备两个自己最近写的有些技术含量的项目,当然一定要自己亲手写过的,在别的地方看的源码,就算看的再清楚,总归没有自己敲的了解的多。以下是抽出的几点

1.你写爬虫的时候都遇到过什么反爬虫措施,你是怎么解决的

2.用的什么框架,为什么选择这个框架(我用的是scrapy框架,所以下面的问题也是针对scrapy)

二.框架问题(scrapy)可能会根据你说的框架问不同的问题,但是scrapy还是比较多的

1.scrapy的基本结构(五个部分都是什么,请求发出去的整个流程)

2.scrapy的去重原理 (指纹去重到底是什么原理)

3.scrapy中间件有几种类,你用过那些中间件,

4.scrapy中间件再哪里起的作用(面向切面编程)

三.代理问题

1.为什么会用到代理

2.代理怎么使用(具体代码,请求在什么时候添加的代理)

3.代理失效了怎么处理

四.验证码处理

1.登陆验证码处理

2.爬取速度过快出现的验证码处理

3.如何用机器识别验证码

五.模拟登陆问题

1.模拟登陆流程

2.cookie如何处理

3.如何处理网站传参加密的情况

六.分布式

1.分布式原理

2.分布式如何判断爬虫已经停止了

3.分布式去重原理

七.数据存储和数据库问题

1.关系型数据库和非关系型数据库的区别

2.爬下来数据你会选择什么存储方式,为什么

3.各种数据库支持的数据类型,和特点,比如:redis如何实现持久化,mongodb

是否支持事物等。。

八.python基础问题

# 基础问题非常多,但是因为爬虫性质,还是有些问的比较多的,下面是总结

1.python2和python3的区别,如何实现python2代码迁移到python3环境

2.python2和python3的编码方式有什么差别(工作中发现编码问题还是挺让人不爽的)

3.迭代器,生成器,装饰器

4.python的数据类型

九.协议问题

爬虫从网页上拿数据肯定需要模拟网络通信的协议

1.http协议,请求由什么组成,每个字段分别有什么用,https和http有什么差距

2.证书问题

3.TCP,UDP各种相关问题

十.数据提取问题

1.主要使用什么样的结构化数据提取方式,可能会写一两个例子

2.正则的使用

3.动态加载的数据如何提取

4.json数据如何提取

十二.算法问题

这个实在不好总结,比较考验代码功力,大部分会让你写出时间复杂度比较低的

算法。小伙伴们要善用python的数据类型,对python的数据结构深入了解。

以上就是总结内容,欢迎小伙伴们共同探讨。每个公司各有特点,但是这些算是基础,也是常见问题。

祝大家能找到理想工作,不写bug