今天我们来分享一篇热乎的 58 同城校招面经。
在开始前,先聊几句题外话。最近网上在传 58 同城启动大规模裁员,虽然消息未经证实,但结合其现状来看,并非空穴来风。我个人一直不太看好 58 同城,它的衰落,是其商业模式、市场竞争力与用户信任全面崩塌后的必然。当流量被新平台夺走,当用户因欺诈而逃离,这个昔日的分类信息巨头,终究难逃沦为“互联网活化石”的命运。

不过,虽然这家公司很一般,但面经还是可以学习参考一下的,问的很多问题都比较典型。
下面是面经正文。
一面的节奏很快,面试官开场后直接切入正题,先从项目入手,再逐步考察相关的技术栈。
1. 自我介绍与项目深挖
首先是常规的自我介绍,然后面试官让我介绍了项目用的技术栈,并深入提问:
2. 中间件与分布式
这部分主要围绕我项目中用到的 RocketMQ 展开:
3. 数据库(MySQL)
这部分是重点,问得比较细:
4.Java 核心
synchronized 和 volatile 有什么区别?”,“为什么有了 synchronized 之后,还需要 ReentrantLock?它们在使用上有什么不同?”HashMap 的底层原理”,以及“在什么情况下 HashMap 的效率会降低?”(引导到哈希冲突和链表过长的问题)。5. 手撕算法
题目是 LeetCode 219. 存在重复元素 II。
二面面试官的级别应该更高,提问更有深度,并且非常喜欢结合具体场景来考察候选人解决问题的能力和技术视野。
1. Java 核心与多线程
String、StringBuffer 和 StringBuilder 的区别是什么?重点说一下线程安全性。”ThreadLocal 的底层原理是什么?它会造成内存泄漏吗?为什么?”synchronized 锁的升级过程吗?(无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁)”2. JVM
3. 缓存
zset(有序集合)底层是如何实现的?”4. 场景题
HR 面相对轻松,主要是一些常规问题,比如:
