当前位置: 首页 > 面试经验 >

拼多多_客户端开发_凉经

优质
小牛编辑
53浏览
2025-03-21

拼多多_客户端开发_凉经

于2024年11月面试的秋招,补发,三面手撕失败故挂。

一面

  1. 自我介绍:

  2. 线程池:

    • 问题:线程池是解决什么问题的?
    • 追问:为什么线程池能够解决耗时长的问题?
    • 追问:同一时间10个线程速度能快10倍吗?
    • 追问:为什么能快10倍?
    • 追问:为什么只开了10个线程?
    • 追问:怎么确定要开多少个线程?
    • 追问:怎么调整线程数?
    • 追问:为什么不直接调很大?
    • 追问:线程池主要是用来做什么的?
    • 追问:线程池如何减少内存消耗?
    • 追问:Java里实现线程池有哪些工具?
  3. 类加载:

    • 问题:Java中类加载的流程是什么样的?
  4. HTTP缓存:

    • 问题:HTTP协议如何控制客户端缓存?
    • 追问:为什么要做缓存?
    • 追问:如何判断数据是否变更?
    • 追问:项目中有用过缓存吗?
  5. XSS攻击:

    • 问题:XSS攻击是什么?
    • 追问:如何防止XSS攻击?
    • 追问:XSS攻击能攻击什么?
    • 追问:过滤富文本是怎么过滤的?
  6. 算法题

    leetcode 108、173

二面

  1. 自我介绍:

  2. 实习工作内容:

  3. 服务端和客户端开发的区别:

  4. 项目优化:

    • 问题:如何通过内存池和线程池提升性能?
    • 追问:如何保证多线程导出的内容是顺序的?
    • 追问:为什么性能提升这么多?
    • 追问:如何处理大业务量对内存的影响?
  5. 安全攻击防护:

    • 问题:对XSS和CSRF的了解?
    • 追问:如何过滤XSS和CSRF?
  6. 认证和授权:

    • 问题:RBAC模型是如何实现的?
    • 追问:如何实现安全的认证和授权?
  7. 消息通知:

    • 问题:为什么选择RabbitMQ?
    • 追问(面试官):RabbitMQ和RocketMQ的事务消息实现区别?
  8. 加密算法:

    • 问题:为什么使用bcrypt哈希算法?
    • 追问:bcrypt与AES和RSA的区别?
    • 追问:AES和RSA的应用场景?
  9. HTTPS加密通信:

    • 问题:HTTPS加密通信是如何实现的?
    • 追问(面试官):HTTPS中使用的是对称密钥还是非对称密钥?
    • 追问:什么是DNS污染吗,以及如何防止中间人攻击?
    • 追问:客户端安装第三方证书的风险?
  10. GC机制:

    • 问题:服务端和安卓端的GC机制有何区别?
  11. 并发和死锁:

    • 问题:死锁的产生机制和解决方法?
  12. 算法题:

    leetcode 143

  13. 反问

三面

  1. 自我介绍:

  2. 数据报表导出:

    • 问题:数据报表是怎么生成的?
    • 追问:数据库性能不够怎么办?
  3. 密码加密:

    • 问题:为什么使用 BCrypt?
    • 追问:盐值存在哪里?
    • 追问:盐值暴露出来怎么办?
    • 追问:为什么不用 HMAC?
  4. 登录模块——Token生成:

    • 问题:Token是怎么生成的?
    • 追问:过期时间怎么处理?
    • 追问:Token更新机制是什么?
  5. 日志记录:

    • 问题:日志记录了哪些内容?
  6. Redis持久化:

    • 问题:Redis在什么情况下会持久化?
    • 追问:会产生脏数据吗?
  7. 编码题:

    手撕:有A、B两个文件,各有50亿个URL,电脑内存只有4G,找出A、B中相同的URL

#面经##拼多多##凉经##春招##软件开发笔面经#
 类似资料: