因为面试的是python爬虫工程师的岗位,面试官大多都会考察python基础相关的知识,包括但不限于python2.x与python3.x的区别、python的装饰器、python的异步、python的常用内置库,比如多线程之类。
数据结构与算法
数据结构与算法是校招面试中一个重要的点,当然在小公司对这块要求不是很严格。
python爬虫
最重要也是最关键的一点就是你的爬虫知识的储备,这通常也是面试官考察的重点。
1、你遇到的反爬策略有哪些?
2、你常用的反反爬虫的策略有哪些?
3、你使用过多线程和异步吗?除此之外你还使用哪些方法来提高爬虫的效率。
4、有没有做过增量式爬虫?
5、对爬虫框架是否了解?
6、你认为你做的最好的爬虫项目是哪个?其中解决了什么问题?有什么特别之处?
以上是我本人在面试过程中会碰到的技术问题,当然面试中不光是技术,过了技术面试之后要谈的就是薪资问题了。
初级面经
网络基础:cookie、session、https、headers等常用字段以及代理的使用等等。
python基础:异步、多进程、多线程的使用。
爬虫:xpath,requests如何处理https,常见的反爬措施,举例说明一个最难爬的案例,scrapy使用过程中的细节,例如代理、cookie,传参等等。
数据库:MySQL、MongoDB、redis。
中级面经
网络:网络层的细节,说说udp/tcp/stmp的区别,说说10.x.x.x/127.x.x.x/192.x.x.x的区别,说说DNS,谈谈路由交换的区别。
python基础:多重继承、多态、装饰器的实现,生成器、列表解析效率等深入细节的内容。
爬虫:分布式爬虫的实现,给你一个任务,你马上给出一个合理的架构,验证码的处理,增量式数据的爬取,写爬虫时有没有写辅助工具。
数据库:sql是细节,例如性能的提升,分表等。
加分项:数据挖掘,机器学习,自然语言处理,可以做网站,熟练操作Linux。
爬虫工程师
爬虫给人的感觉就是对python编程知识要求不是很高,如果你是业余那确实没有任何问题,搞懂基本的数据结构、语句会写函数即可。但是要作为真正的爬虫工程师来讲,python的高级特性、面向对象编程、多线程、装饰器等都要熟悉。
现在很多爬虫工程师的面试,编程要求的基本功是很高的,编程的功底,以及对语言的理解,从某种程度上可以看出一个人的潜力以及他的学习能力。
对http的深入了解是你纵横网路的资本;BeautifulSoup、xpath这些都是基础操作,一定要做到非常的熟练;scrapy框架要会用,可以随手就写分布式;Webdriver、Selenium、PhantomJS至少也要会使用吧;反爬虫的技巧是重中之重,能不能搞回数据搞多少数据,很大程度取决于此。抓包、cookie分析、代理池的搭建、字体加密、验证码处理等等也是常规的操作;了解过滤器、会增量式爬取。
加分项:掌握python web相关知识,可以进行后端的开发。
爬虫工程师的尽头
逆向安全工程师。
原文始发于微信公众号(小志Codings):月薪过万的爬虫工程师应该掌握的技能总结
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/40049.html