2026 拼多多(PDD)Java/Go 面经/内推分享

【拼多多集团-PDD校园招聘】内推链接:https://careers.pddglobalhr.com/campus/grad/detail?t=rHsbREig7w,内推码:rHsbREig7w。服务端研发工程师 期待你的加入!我们一起,无拼不青春!(通过此链接投递计入内推,内推简历优先筛选~)

个人概况

  • 面试岗位:服务端研发工程师(Java)
  • 面试部门:电商部
  • 面试结果:已获 Offer

一、 面试全记录:从项目到技术碾压

一面(项目深挖):一面的面试官非常平易近人,基本是围绕简历中的项目展开。建议大家在准备时,对自己项目的架构、难点以及解决问题的思路(Why & How)做深度复盘。

二面 & 三面(技术深度考察):这两轮面试主要由主管和部门负责人把持。面试节奏极快,尤其是对 Java 并发编程 的考察极其细致,几乎是一场“技术碾压”。以下是我根据回忆整理的面试题库,建议收藏。

二、 核心考点:并发编程大通关

我们将面试题归纳为四个维度,帮助大家建立知识体系:

1. 线程基础与状态机

  • 并发三要素:原子性、可见性、有序性。
  • 多线程价值:提高 CPU 利用率,提升程序响应速度。
  • 创建方式:继承 Thread 类、实现 Runnable 接口、实现 Callable 接口(三者优缺点对比:如灵活性、是否支持返回值等)。
  • 状态流转:重点掌握:新建、就绪、运行、阻塞、等待、超时等待、终止这几种状态及其切换条件。
  • 基础方法:sleep() 与 wait() 的区别(是否释放锁、所属类不同等)。

2. 线程池与任务调度

  • 核心概念:什么是线程池?为什么要使用它(减少创建销毁开销、控制并发数)?
  • 创建方式:ThreadPoolExecutor 原生创建 vs Executors 工具类创建。
  • 拒绝策略:如果提交任务时队列已满且线程数已达最大,会发生什么?
  • 底层原理:什么是线程调度器和时间分片?Java 采用的是哪种调度算法?

3. 同步机制与锁(重点)

  • 核心关键字:synchronized:作用范围及原理。volatile:如何保证可见性与禁止指令重排。synchronized vs ReentrantLock 的深度对比。
  • CAS 与自旋:什么是 CAS?CAS 的三大问题(ABA、循环开销、只能保证一个变量原子性)及解决方法。
  • AQS 框架:AQS 的原理及其支持的两种同步方式(独占与共享)。
  • 锁的分类:乐观锁 vs 悲观锁、ReadWriteLock 的应用场景。

4. 协作工具与集合

  • 并发工具类:CyclicBarrier vs CountDownLatch 的区别与适用场景。
  • 并发集合:ConcurrentHashMap 的并发度是什么?
  • 未来任务:什么是 Future 和 FutureTask?

三、 实战避坑与性能调优

  • 死锁专题:死锁产生的原因是什么?如何在 Java 中定位死锁并避免?
  • Linux 实战:在 Linux 环境下,如何快速查找占用 CPU 时间最长的线程?
  • 线程安全设计:不可变对象对线程安全有什么帮助?什么是上下文切换?

全部评论

相关推荐

03-28 10:27
已编辑
门头沟学院 Java
没有手撕算法环节一面 技术面1.==和equal的区别2.主要考察的是对jvm的理解吧静态变量 实例变量 局部变量的存储在jvm哪个位置,什么时候会释放2.集合遍历的时候能删除元素吗3.SpringBean的生命周期4.设计模式 讲一讲策略模式 然后问了一下优缺点5.如何做一个接口限流 一分钟限制一百次?我答用redis在拦截器层直接做就好了 有请求过来用户标识对应的接口路径请求次数+1  用过期时间来维护一分钟然后我突然想到了边界性问题 万一是还剩五秒过期请求了80次然后过期后的五秒钟又请求了80次 不是还会突破限流吗 然后我在那里想这个 卡了一下面试官问有什么疑问吗 我重新回答了一下 说可能会临界窗口突刺 这种情况要用滑动窗口了 他说没事 不用考虑这种复杂情况 就是很简单的做限流就好了 所以考察的应该是redis的简单使用吧6.在5的基础上问的 说这个接口限流要一起给同事用 怎么操作 其实我没太听明白这道题的意思 我问了两遍啥意思 还是没太听懂 最后他引导了我一下 我答出来了 原来考察的是aop 用注解的形式对方法进行功能增强拓展7.在6的基础上问了spring三大特性应该就没了…中间可能有一点点遗漏的问题 前一段时间面的 不太记得了 但一面整体难度偏低二面 技术面纯项目 无自我介绍1.让我说说我的项目2.问我项目中用到微信支付 出现一笔订单支付两次的情况怎么办 第一次支付了回调没过来 第二次又支付了 这一点我没考虑过 我一直觉得一笔订单只能支付一次 支付过的订单就没法支付了 微信服务端会替我处理好 下来问了问ai 还真有可能出现这种情况 还是太才疏学浅了3.问微信支付回调中 如果我代码逻辑有问题 或者网络抖动 没有回调成功 边界性问题我怎么处理的我稍微答出来一点点 微信回调避免业务逻辑耦合 直接推rabbitmq处理 其它是真想不到了 因为我做的平台和pdd这种电商平台是完全不一样的 实体产品可能网络恢复后还可以做重发货处理 但我是虚拟产品 用户也不用注册没有标识 都是匿名操作 退出页面 我也没办法继续操作了 只能用户手动补偿 我觉得面试官没太理解我的项目的机制 他直接按传统的货物交易平台来直接问我经典的场景问题了 导致我对他的问题感觉无从下手 因为很多策略都不通用4.问我对ai的了解和使用5.分享一下用ai的技巧6.prompt在哪个文件里改…基本就没了 二面整体感觉强度挺大的 每一个点都要刨根问底 你回答的时候他觉得你会的就会直接跳过 然后你不会的 他就会一直逮着问 问的很具体很细致 给我营造了一种我什么都答不上来的感觉 到后面直接压力爆炸了 感觉二面应该是G了
查看14道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务