写点什么

三面拼多多归来,我总结了这些大厂面经及面试题

发布于: 2021 年 03 月 15 日

面试前

面完蚂蚁后,早就听闻拼多多这个独角兽,决定也去面一把。首先我在脉脉找了一个拼多多的 HR,加了微信聊了下,发了简历便开始我的拼多多面试之旅。这里要非常感谢拼多多 HR 小姐姐,从面试内推到 offer 确认一直都在帮我,人真的很 nice。

一面

  • 为啥蚂蚁只待了三个月?没转正?(转正了,解释了一通。。。)

  • Java 中的 HashMap、TreeMap 解释下?(TreeMap 红黑树,有序,HashMap 无序,数组+链表)

  • TreeMap 查询写入的时间复杂度多少?(O(logN))

  • HashMap 多线程有什么问题?(线程安全,死锁)怎么解决?( jdk1.8 用了 synchronize + CAS,扩容的时候通过 CAS 检查是否有修改,是则重试)重试会有什么问题么?(CAS(Compare And Swap)是比较和交换,不会导致线程阻塞,但是因为重试是通过自旋实现的,所以仍然会占用 CPU 时间,还有 ABA 的问题)怎么解决?(超时,限定自旋的次数,ABA 可以通过原理变量 AtomicStampedReference 解决,原理利用版本号进行比较)超过重试次数如果仍然失败怎么办?(synchronize 互斥锁)

  • CAS 和 synchronize 有什么区别?都用 synchronize 不行么?(CAS 是乐观锁,不需要阻塞,硬件级别实现的原子性;synchronize 会阻塞,JVM 级别实现的原子性。使用场景不同,线程冲突严重时 CAS 会造成 CPU 压力过大,导致吞吐量下降,synchronize 的原理是先自旋然后阻塞,线程冲突严重仍然有较高的吞吐量,因为线程都被阻塞了,不会占用 CPU )

  • 如果要保证线程安全怎么办?(ConcurrentHashMap)

  • ConcurrentHashMap 怎么实现线程安全的?(分段锁)

  • get 需要加锁么,为什么?(不用,volatile 关键字)

  • volatile 的作用是什么?(保证内存可见性)

  • 底层怎么实现的?(说了主内存和工作内存,读写内存屏障,happen-before,并在纸上画了线程交互图)

  • 在多核 CPU 下,可见性怎么保证?(思考了一会,总线嗅探技术)

  • 聊项目,系统之间是怎么交互的?

  • 系统并发多少,怎么优化?

  • 给我一张纸,画了一个九方格,都填了数字,给一个 MN 矩阵,从 1 开始逆时针打印这 MN 个数,要求时间复杂度尽可能低(内心 OS:之前貌似碰到过这题,最优解是怎么实现来着)思考中。。。

  • 可以先说下你的思路(想起来了,说了什么时候要变换方向的条件,向右、向下、向左、向上,依此循环)

  • 有什么想问我的?

二面

自我介绍下

手上还有其他 offer 么?

部门组织结构是怎样的?(这轮不是技术面么,不过还是老老实实说了)

系统有哪些模块,每个模块用了哪些技术,数据怎么流转的?(面试官有点秃顶,一看级别就很高)给了我一张纸,我在上面简单画了下系统之间的流转情况

链路追踪的信息是怎么传递的?(RpcContext 的 attachment,说了 Span 的结构:parentSpanId + curSpanId)

SpanId 怎么保证唯一性?(UUID,说了下内部的定制改动)

RpcContext 是在什么维度传递的?(线程)

Dubbo 的远程调用怎么实现的?(讲了读取配置、拼装 url、创建 Invoker、服务导出、服务注册以及消费者通过动态代理、filter、获取 Invoker 列表、负载均衡等过程(哗啦啦讲了 10 多分钟),我可以喝口水么)

Spring 的单例是怎么实现的?(单例注册表)

为什么要单独实现一个服务治理框架?(说了下内部刚搞微服务不久,主要对服务进行一些监控和性能优化)

谁主导的?内部还在使用么?

逆向有想过怎么做成通用么?

有什么想问的么?

三面

二面老大面完后就直接 HR 面了,主要问了些职业发展、是否有其他 offer、以及入职意向等问题,顺便说了下公司的福利待遇等,都比较常规啦。不过要说的是手上有其他 offer 或者大厂经历会有一定加分。

小结

拼多多的面试流程就简单许多,毕竟是一个成立三年多的公司。面试难度中规中矩,只要基础扎实应该不是问题。但不得不说工作强度很大,开始面试前 HR 就提前和我确认能否接受这样强度的工作,想来的老铁还是要做好准备

以上就是拼多多三面题目,以下是总结出来的大厂经典面试题目及答案


需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取


需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取



用户头像

微信:tkzl6666 添加获取你想要的Java资料 2019.01.29 加入

添加VX(tkzl6666 ) 获取大厂面试真题,面试复习资料,Java进阶资料,Java实战项目。

评论 (1 条评论)

发布
用户头像
三面拼多多归来,我总结了这些大厂面经及面试题
2021 年 03 月 15 日 16:06
回复
没有更多了
三面拼多多归来,我总结了这些大厂面经及面试题