面试总结

自我介绍:

第五家:

  • 有哪些网站是需要登陆的?
  • 账号是手动注册的还是自动注册的?
  • 有没有自动注册的经验?
  • 原来爬虫团队几个人,你是什么岗位?
  • 怎么处理验证码?
  • 12306过程?
  • 12306打码怎么做?
  • 推荐系统怎么做?
  • 数据集是什么东西,里面放了什么?
  • 怎么用商品信息做推荐?
  • 怎么找与推荐用户相关的用户?
  • 通过什么来计算距离?根据人物画像特征

第四家:

  • 离职原因?
  • 做过数据可视化吗?
  • 有过征信网站的数据抓取吗?
  • 失信人反爬有哪些?
  • 遇到过最难的反爬?
  • js加密?
  • 验证码?
  • 增量爬虫怎么去重?
  • 推荐系统思路?
  • 推荐系统数据集怎么来的?
  • 风控系统的思路

第三家:

第一家:

一面

  • 为什么选择python,为什么选择爬虫,有什么个人喜好吗?
  • 爬取的网站和数据是公司级的数据还是从外面接的?
  • 你们团队几个人?
  • 爬虫框架是在公司做的吗?
  • 大数据的生态圈主要用来做了什么?
  • 一个项目爬取用了多长时间?
  • 有自己开发过框架之类的么?
  • fastrequests的具体实现过程?
  • 封装过程中有遇到什么问题吗?
  • 怎么弥补差异,做的跟requests一样的使用方式?
  • 请求可以异步发送,响应该怎么接收?
  • 多线程发送请求怎么接收响应?
  • 快排,归并,二分,有什么区别?
  • 快排时间复杂度?
  • 冒泡的时间复杂度?
  • 数组,队列,栈的对比,差异和优劣势?
  • 数组插入的时间复杂度?
  • 数组和链表在使用过程中会怎么选,为什么?
  • 树,二叉树,红黑树的了解?
  • 平时会练算法吗?都在哪练?
  • python和java的区别,各自的长处和不同在哪?
  • 对python和java的应用场景的看法,以及未来各自会有怎样的发展?
    二面
  • 说一下最近的这个项目?
  • 说说数据采集流程?
  • 社交网站用户采集中有遇到什么问题吗?
  • 滑块验证码破解思路?
  • 存储这一块用了什么数据库?
  • 做过去重吗?怎么去?
  • 都用过什么数据库,各自特点?
  • 用过mysql索引吗?都有哪些索引类型?
  • java和python哪个用的更多?
  • sql优化?数据量特别大的时候怎么办?
  • 做过文本类型的采集吗?
  • 做过文本的去重吗?根据相似度?
  • 做过模板类型的数据抓取吗?
  • 有什么想了解的吗?
    三面
  • 用java做过什么项目?
  • 爬取的数据最大量是多少?
  • 存储是你解决的吗?
  • 为什么最后用了hbase,能存大数据的原因是什么?
  • 你做的这个项目是项目化的还是产品化的?
  • 爬虫项目从阶段性划分的化会划分为哪几个步骤?
  • 爬虫项目成果以什么样的形式来呈现?
  • 怎么解析出需要的字段?
  • 遇到过最难的反爬?
  • 分布式调度有研究过吗?
  • 你觉得什么样的团队是你比较认同的团队?
  • 英文能力不错嘛?
  • 现在薪水多少?期望多少?
  • 你们公司有分级别吗?比如说中级,高级?
  • 现在离职还是在职,离职原因是什么?

面试问题总结

  1. 怂,说话很怂
  2. 语气不坚定,应该说话更肯定,扯更多
  3. 一直被问?很尴尬
  4. 把擅长的说清楚,不擅长的要说起来

简历问题总结

  1. 同步,异步,多线程,多进程,协程
    同步:串行,顺序等待执行
    异步:串行,顺序不等待执行
    多线程:

    1. GIL锁是对cpython解释器加的一把大锁
    2. 无法发挥处理器多核优势,对于cpu密集型,多线程比顺序执行效率还低
    3. 对于io密集型(网络io,磁盘io,数据库io),io过程中会释放GIL锁,多线程相当于异步
      多进程:
    4. cpu密集型(大部分时间做计算),可以用多进程,因为每个进程拥有自己GIL
      协程:
    5. 在单线程的基础上执行多个任务,使用函数进行切换
  2. 装饰器
    装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景

  3. web框架
    django:
    flask:

  4. mysql
    事务:

    1. 四个基本要素:原子性,一致性,隔离性,持久性
    2. 并发问题:脏读,不可重复读,幻读
    3. 隔离级别:读未提交,不可重复读,可重复读,串行化
    4. 事务隔离级别越高越安全,对并发性能影响越大
      sql优化:
    5. select坚决不适用*
    6. 不适用子查询
    7. 避免索引失效
    8. 用IN代替or
    9. 读取适当的数据limit
    10. 避免数据类型不一致
    11. 分组统计禁用排序
    12. 禁止不必要的排序
    13. 批量插入sql
  5. 高并发
    高并发:响应时间,吞吐量,每秒响应请求数,并发用户数
    高并发方案:

    1. 硬件上来说,垂直扩展:增加单价硬件性能,水平扩展:集群,nginx做负载均衡
    2. 软件上来说:
      1. HTML页面静态化
      2. 图片服务器分离
      3. 使用缓存
      4. 数据库集群,分库分表,读写分离
      5. CDN加速
  6. nginx
    负载均衡策略:轮询,权重,ip_hash,url_hast

  7. redis
    数据类型,持久化机制

  8. hadoop生态圈

  9. 二叉树,红黑树

  10. 快排,归并,二分

  11. KNN,线性回归,逻辑回归

  12. git,石墨

推荐系统:
1. 加载数据集(用户评分表)
2. 给要推荐的用户找朋友(根据用户画像特征计算距离,欧式距离,余弦距离,杰卡得距离)
3. 求这些朋友对评分的平均值,取平均值较高的前n个商品(协同)
4. 过滤掉用户已经购买过的商品(过滤)
5. 对剩下的商品进行推荐

验证码的破解:
1. 哪些网站有滑块验证码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值