校招 未知部门 / 后端-Java / 一面/二面
[面试日期] 2026-07-08 [面试时长] 未知
[学校背景] 华南理工大学 | 985 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>大厂Java后端面经分享:手握华为字节Offer,拼多多二面实录(附内推)</h2>
<p>先简单自我介绍一下,我之前去过华为、字节跳动等大厂实习/工作过。最近面了拼多多,整体感觉面试节奏很快,面试官问得很细。下面是面试过程的一些还原和整理,希望能帮到正在备战的同学。</p><h2>🟢 一面:基础深挖与算法</h2><p><strong>【经历追问】</strong>面试官看着简历问:为啥蚂蚁只待了三个月?没转正吗?我解释了一下,其实是正常转正了,并详细说明了当时的情况和离职原因。</p><p><strong>【Java基础与并发】</strong></p><ol><li><strong>HashMap与TreeMap的区别?</strong>
我答了TreeMap底层是红黑树、有序的,查询写入时间复杂度是O(logN);HashMap是无序的,底层是数组+链表(红黑树)。</li><li><strong>HashMap多线程有什么问题?怎么解决?</strong>
主要有线程安全和死锁问题。我提到了JDK 1.8中使用了synchronize + CAS,扩容时通过CAS检查是否有修改,如果被修改则重试。</li><li><strong>CAS重试会有什么问题?怎么解决?</strong>
CAS本身不阻塞线程,但重试是基于自旋实现的,会占用CPU时间,另外存在ABA问题。解决办法是限定自旋次数或超时时间,ABA问题可以通过原子类 <code>AtomicStampedReference</code> 利用版本号来解决。如果超过重试次数仍然失败,就会升级为synchronize互斥锁。</li><li><strong>CAS和synchronize有什么区别?都用synchronize不行么?</strong>
它们适用场景不同。CAS是乐观锁,硬件级别保证原子性,不阻塞;synchronize会阻塞,是JVM级别实现的。线程冲突严重时,CAS自旋会造成CPU压力过大导致吞吐量下降;而synchronize会让冲突线程阻塞,不占用CPU,反而能维持较高的吞吐量。</li><li><strong>如何保证线程安全?ConcurrentHashMap怎么实现的?</strong>
提到了用ConcurrentHashMap,它通过分段锁(JDK1.7)/ CAS+Synchronized(JDK1.8)实现线程安全。面试官追问get方法需要加锁么?不需要,因为用了volatile关键字。</li><li><strong>volatile的作用及底层实现?</strong>
作用是保证内存可见性。底层我画了图,讲了主内存和工作内存的交互、读写内存屏障以及happens-before原则。面试官继续追问在多核CPU下可见性怎么保证?思考了一会,答了总线嗅探技术。</li></ol><p><strong>【项目与场景】</strong></p><ul><li>聊了项目:系统之间是怎么交互的?系统并发多少?是怎么优化的?</li><li><strong>算法题</strong>:面试官画了个九方格填满数字,要求给一个M<em>N的矩阵,从1开始逆时针打印这M</em>N个数,时间复杂度尽可能低。
思考了一会想起来了,先说了思路:核心是判断什么时候需要变换方向,按照向右、向下、向左、向上的方向依此循环。</li></ul><p>最后例行问了我有什么想问的。</p><h2>🟡 二面:架构设计与底层原理</h2><p><strong>【非技术开场】</strong>一上来先自我介绍,问我手上还有没有其他Offer,部门组织结构是怎样的(虽然以为是技术面,但还是老老实实答了)。</p><p><strong>【项目深挖与微服务架构】</strong>面试官级别看起来很高,让我在纸上画系统模块流转图。</p><ol><li><strong>系统链路追踪信息是怎么传递的?</strong>
答了通过RpcContext的attachment传递,并画了Span的结构(parentSpanId + curSpanId)。面试官追问SpanId怎么保证唯一性?说了用UUID,并扯了一点内部的定制改动。再问RpcContext是在什么维度传递的?答:线程维度。</li><li><strong>Dubbo的远程调用是怎么实现的?</strong>
这块讲得比较久,哗啦啦讲了10多分钟:从读取配置、拼装url、创建Invoker、服务导出与注册,到消费者端的动态代理、Filter链、获取Invoker列表、负载均衡等过程。</li><li><strong>Spring的单例是怎么实现的?</strong>
答了单例注册表机制。</li><li><strong>为什么要单独实现一个服务治理框架?</strong>
解释了内部刚搞微服务不久,主要想对服务进行更深度的监控和性能优化。面试官问了谁主导的,内部是否还在使用,以及逆向有没有想过做成通用化的方案。</li></ol><h2>🎁 独家福利:拼多多集团(PDD)2026校园招聘内推!</h2><p><strong>【拼多多集团-PDD校园招聘】</strong></p><p>如果你也在看机会,千万别错过拼多多的校招!服务端研发工程师期待你的加入,我们一起,无拼不青春!</p><ul><li><strong>内推链接</strong>:<a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fcareers.pddglobalhr.com%2Fcampus%2Fgrad%2Fdetail%3Ft%3DJmv99rYycP">点此直接投递简历</a></li><li><strong>内推码</strong>:<code>Jmv99rYycP</code></li><li><strong>投递岗位</strong>:服务端研发工程师</li></ul><blockquote><p>💡 <strong>温馨提示</strong>:通过此链接投递将计入内推,<strong>内推简历优先筛选~</strong> 赶紧上车吧!</p></blockquote>
AI 推荐面试题
