拼多多服务端开发暑期实习一面

3月29日一面,当下复杂的疫情形势,面试官居然还在公司上班,拼多多果然有点狠的,respect!

  1. 先做了一道算法题,数组的topK元素,说了堆的做法,面试官问还有没有别的方法,快排的做法记不起来了
  2. 自我介绍
  3. 挑一个你参与度比较高的项目,讲一讲项目的情况,实现了哪些模块,负责的内容,遇到的困难,采用了哪些技术等
  4. 项目上线了吗?做了哪些模块?
  5. 分布式锁的实现中,你是怎样模拟这个场景的?有做验证吗,即有没有测试是否没有拿到锁的真的阻塞住了?
  6. 在你的分布式事务解决方案中,如果消息还没派发就宕机了怎么办?如果消息还没来得及持久化就宕机了怎么办?不会
  7. 如果消息消费失败怎么办?答的手动ACK
  8. 按你的解决方式,如果一条消息本身就是错误的,不管怎么消费都是失败的,那这条消息始终不能ACK,怎么解决?答的日志监控,手动处理
  9. 商品服务的数据库表结构是怎么设计的?
  10. 商品属性表存储了什么信息?
  11. SKU和SPU是什么,能各举一个例子吗?
  12. 在页面上展示的是SPU还是SKU?
  13. 订单表的结构是怎样的?
  14. 一个订单有多个商品是怎样存储的?
  15. Sentinel了解吗?项目中用来做什么的?
  16. 秒杀系统是怎么做的?
  17. 按你的解决方法,一个商品对应一个key放在redis中,如果百万人想秒杀,redis根本扛不住的,怎么解决?拆分成多个key,分摊到不同的redis服务器上,请求进来通过负载均衡分配到不同服务器
  18. 那如果一个买家分配到的那个服务器正好没有库存了,但是别的服务器可能还有库存,这时候应该怎么办?返回一个等待页面,让用户重试
  19. Spring和SpringBoot的区别是什么,为什么要用SpringBoot?
  20. SpringBoot自动配置的原理?
  21. SpringBoot的注解都用过哪些?
  22. SpringBoot是怎么发现到类上标注的这些注解并使其生效的?后面面试官提示,应该是和包扫描注解相关
  23. 事务用的注解?原理是什么?@Transactional,原理不了解
  24. @Transactional可以用在静态方法上吗,可以用在私有方法上吗?
  25. 有一个很大的二维数组,行优先遍历和列有限遍历在时间效率上有区别吗?
  26. 说一说数据库的索引
  27. 说一说HashMap
  28. HashMap可以用null作为key吗?是可以的,如果是null,hash值则为0,但是我答的不可以orz
  29. 反问环节

面了50分钟,感觉是面到现在最煎熬的一次,好多问题都没有准备过,场景题也都是靠临时发挥,SpringBoot的原理忘的一干二净,二维数组遍历的应该和计组、操作系统相关,但我还没学,总之就是很麻。当然也揭示了很多自身的问题,需要好好补足。

#拼多多##实习##面经#
全部评论
面经同步更新在我的个人博客https://javen.ltd,欢迎大家来访问呀~
1 回复 分享
发布于 2022-03-29 16:43
校友你好,请问go技术栈可以去面拼多多服务端研发岗位吗?倒不是非要做go,只是暂时不会java八股😂
1 回复 分享
发布于 2022-04-20 21:38

相关推荐

6 27 评论
分享
牛客网
牛客企业服务