爬虫工程师面试题

拼多多爬虫工程师面试题

电话面:

  • http协议、tcp协议(几次握手)
  • top命令
  • Linux/Mac 下虚拟内存(Swap)
  • 线程、进程、协程
  • Async 相关、事件驱动相关
  • 阻塞、非阻塞
  • Python GIL
  • 布隆过滤器原理:如何实现、一般要几次哈希函数

给我留下了一个作业:抓取天猫超市上某些商品的可以配送省份信息。(当时做这个也花了很久,主要是需要解决PC端的登陆问题,后来通过h5接口)

现场面(3小时):

一面(技术):

一面是之前电话面的,主要问了之前布置的作业相关

  1. 问了下之前留给我的作业,各种详细的细节,每一步怎么做的,遇到了哪些问题,自己是怎么解决的
  2. 说了下淘宝登陆的两种方法,自己写的一些中间件
  3. 还问了些之前的项目细节,爬虫资源配置怎么做的
  4. 就我简历上的东西问了下底层的东西:线程与进程,协程用的Linux底层的是什么技术,事件驱动,MySQL的索引底层是什么,查询怎么做的等等。(这些问题都不知道)
  5. 验证码如何处理,TensorFlow训练成功率多少
  6. redis快的原因是什么,底层原因,你平常用到了哪些数据结构
  7. 逆向是怎么学的,该怎么做,做过的项目,解决的签名
  8. 爬虫失败之后的重试是如何处理的,有没有针对具体的失败去做针对性的报警和重试

二面(技术):

二面感觉是做爬虫的,挑了两个项目问其中的细节。说项目遇到了两个问题,我是怎么解决的,当时解释这个项目时花了很久。

还问了有没有阅读国内爬虫大厂、搜索引擎等开源的爬虫框架、思想之类的。这个好像真没了解,也没看到有谁会写这个。

三面(小组长):

三面人感觉很和善,爱笑。后来通过HR了解到是这个团队的组长,从腾讯微信挖来的。

  • 他主要问了一个问题,给我一个数据抓取场景,让我设计一套数据抓取流程。我按着自己的思路画了出来,然后他会提出一些新需求,我按照他的意思在原有的爬虫系统上改进。
  • 之后提的一个新需求我并没有回答好,但是他当时说:没事,已经回答的很好了。我心里想,leader很nice。
  • 最后他介绍了他们团队目前正在做的事情,爬虫框架其实已经搭起来了,只是会有些粗糙,还需要有人来改进

四面(HR面):

  1. 问了些基本情况,期望薪资,在上家公司什么情况
  2. 说了下拼多多的福利啊什么的,包三餐,新员工可以住宿舍一年
  3. 说了下加班时间,11116,节假日也会加班
  4. 问现在有没有面其他公司,说了Airbnb

到这里已经面试完毕了,从1点到4点,整个人累到虚脱,5点回杭州的票,然后马上就赶回去了。有点想吐槽,拼多多的工位真的很挤,显示屏幕也小。

后天另一位HR联系我,需要核实信息,然后就准备了一些材料给他,说技术面已经通过了。

过了大约一周的时间,正式收到offer,预计7月1日入职

👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏

网易爬虫工程师面试

网易的面试是小黑鱼这边的leader内推的,但是HR直接打电话约的周一面试,没有电话面。

一面(技术):

一面与之前小黑鱼的同事认识,他也听过我的名字(从前同事)。问的东西比较广泛。

  1. 问项目,之前公司的业务
  2. 在小黑鱼这边做的事情,框架是怎么做的,实现了什么功能
  3. scrapy会用到哪些中间件,各个中间件有什么功能,我说其中很多的中间件我都没用到 (ㄒoㄒ)
  4. Python的基础语法知识,有些我也不知道,靠语感
  5. 问了些websocket项目,是怎么找到协议的
  6. 验证码如何处理,TensorFlow训练成功率多少
  7. wireshark报文如何查看
  8. 逆向是怎么学的,该怎么做,做过的项目,解决的签名
  9. 给我出了一道题目,关于JS混淆的。刚开始没有头目,后来他告诉我要怎么做,才慢慢找到方法。

二面(技术):

二面应该是leader,问题很直接。

  1. 用到了哪些linux命令,全写下来。我刚开始写了几个,他说太少了,让我再写几个,最后写了十几个
  2. 就我上面写到的命令问了下具体细节,比如crontab命令报错了可能有哪些原因
  3. 出了一道算法题,最终就是写排序算法
  4. 问了下我的基本情况,在小黑鱼这边怎么样

三面(HR面):

两个HR,一男一女,问题问的我很崩溃。说这周给结果。

网易面试是从下午2点到5点,3小时,中间都没口水喝。


想要与我交流爬虫面试技巧,请到这里:爬虫面试交流