爬虫工程师面试题
拼多多爬虫工程师面试题
电话面:
- http协议、tcp协议(几次握手)
- top命令
- Linux/Mac 下虚拟内存(Swap)
- 线程、进程、协程
- Async 相关、事件驱动相关
- 阻塞、非阻塞
- Python GIL
- 布隆过滤器原理:如何实现、一般要几次哈希函数
给我留下了一个作业:抓取天猫超市上某些商品的可以配送省份信息。(当时做这个也花了很久,主要是需要解决PC端的登陆问题,后来通过h5接口)
现场面(3小时):
一面(技术):
一面是之前电话面的,主要问了之前布置的作业相关
- 问了下之前留给我的作业,各种详细的细节,每一步怎么做的,遇到了哪些问题,自己是怎么解决的
- 说了下淘宝登陆的两种方法,自己写的一些中间件
- 还问了些之前的项目细节,爬虫资源配置怎么做的
- 就我简历上的东西问了下底层的东西:线程与进程,协程用的Linux底层的是什么技术,事件驱动,MySQL的索引底层是什么,查询怎么做的等等。(这些问题都不知道)
- 验证码如何处理,TensorFlow训练成功率多少
- redis快的原因是什么,底层原因,你平常用到了哪些数据结构
- 逆向是怎么学的,该怎么做,做过的项目,解决的签名
- 爬虫失败之后的重试是如何处理的,有没有针对具体的失败去做针对性的报警和重试
二面(技术):
二面感觉是做爬虫的,挑了两个项目问其中的细节。说项目遇到了两个问题,我是怎么解决的,当时解释这个项目时花了很久。
还问了有没有阅读国内爬虫大厂、搜索引擎等开源的爬虫框架、思想之类的。这个好像真没了解,也没看到有谁会写这个。
三面(小组长):
三面人感觉很和善,爱笑。后来通过HR了解到是这个团队的组长,从腾讯微信挖来的。
- 他主要问了一个问题,给我一个数据抓取场景,让我设计一套数据抓取流程。我按着自己的思路画了出来,然后他会提出一些新需求,我按照他的意思在原有的爬虫系统上改进。
- 之后提的一个新需求我并没有回答好,但是他当时说:没事,已经回答的很好了。我心里想,leader很nice。
- 最后他介绍了他们团队目前正在做的事情,爬虫框架其实已经搭起来了,只是会有些粗糙,还需要有人来改进
四面(HR面):
- 问了些基本情况,期望薪资,在上家公司什么情况
- 说了下拼多多的福利啊什么的,包三餐,新员工可以住宿舍一年
- 说了下加班时间,11116,节假日也会加班
- 问现在有没有面其他公司,说了Airbnb
到这里已经面试完毕了,从1点到4点,整个人累到虚脱,5点回杭州的票,然后马上就赶回去了。有点想吐槽,拼多多的工位真的很挤,显示屏幕也小。
后天另一位HR联系我,需要核实信息,然后就准备了一些材料给他,说技术面已经通过了。
过了大约一周的时间,正式收到offer,预计7月1日入职
👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏
网易爬虫工程师面试
网易的面试是小黑鱼这边的leader内推的,但是HR直接打电话约的周一面试,没有电话面。
一面(技术):
一面与之前小黑鱼的同事认识,他也听过我的名字(从前同事)。问的东西比较广泛。
- 问项目,之前公司的业务
- 在小黑鱼这边做的事情,框架是怎么做的,实现了什么功能
- scrapy会用到哪些中间件,各个中间件有什么功能,我说其中很多的中间件我都没用到 (ㄒoㄒ)
- Python的基础语法知识,有些我也不知道,靠语感
- 问了些websocket项目,是怎么找到协议的
- 验证码如何处理,TensorFlow训练成功率多少
- wireshark报文如何查看
- 逆向是怎么学的,该怎么做,做过的项目,解决的签名
- 给我出了一道题目,关于JS混淆的。刚开始没有头目,后来他告诉我要怎么做,才慢慢找到方法。
二面(技术):
二面应该是leader,问题很直接。
- 用到了哪些linux命令,全写下来。我刚开始写了几个,他说太少了,让我再写几个,最后写了十几个
- 就我上面写到的命令问了下具体细节,比如crontab命令报错了可能有哪些原因
- 出了一道算法题,最终就是写排序算法
- 问了下我的基本情况,在小黑鱼这边怎么样
三面(HR面):
两个HR,一男一女,问题问的我很崩溃。说这周给结果。
网易面试是从下午2点到5点,3小时,中间都没口水喝。
想要与我交流爬虫面试技巧,请到这里:爬虫面试交流