最近拼多多开启了今年的普调工作。
三个字总结就是:涨疯了!
以技术岗的同学为例:
绩效排名前 20% 的同学,最高薪资涨幅能达到 7k-1w;
绩效处于中间 70% 区间的同学,最高可获 3k-7k 左右的薪资调整;
即便是绩效处于末位 10% 的同学,也并非和调薪无缘,部分人仍能拥有 1-3k 左右的涨幅。
看到有人爆料,这次涨了 5000,只是组里中下, 🍋了!

运营岗和产品岗的调薪幅度不如技术岗高,但半年一调薪仍是真香!
这次调薪之前,鸭鸭还刷到 pdd 的同学在某平台集体“作诗”吐槽还没涨薪。如今一看,🤡是我自己。
听说有新入职的同学就表示,在拼多多这次调薪中拿到的涨幅,相当于自己在上一家公司工作3年的调薪总和。
虽然累,但他给的是真的多啊!
不过也有待过的老哥表示,跑路了,命重要。


……
今天和大家分享一篇 Java 拼多多秋招一面面经。

篇幅有限,完整答案可以进入面试鸭 - 程序员求职面试刷题神器,高频编程题目免费刷进行查阅。
解释 HashMap 的底层原理是什么?
HashMap 是基于哈希表的数据结构,用于存储键值对(key-value)。其核心是将键的哈希值映射到数组索引位置,通过数组 + 链表(在 Java 8 及之后是数组 + 链表 + 红黑树)来处理哈希冲突。
HashMap 使用键的 hashCode() 方法计算哈希值,并通过 indexFor 方法(JDK 1.7 及之后版本移除了这个方法,直接使用 (n - 1) & hash)确定元素在数组中的存储位置。哈希值是经过一定扰动处理的,防止哈希值分布不均匀,从而减少冲突。
HashMap 的默认初始容量为 16,负载因子为 0.75。也就是说,当存储的元素数量超过 16 × 0.75 = 12 个时,HashMap 会触发扩容操作,容量x2并重新分配元素位置。这种扩容是比较耗时的操作,频繁扩容会影响性能。
线程池有哪些核心参数?
线程池相关参数解释
- corePoolSize:核心线程数,即线程池中始终保持的线程数量。
- maximumPoolSize:最大线程数,即线程池中允许的最大线程数量。
- keepAliveTime:线程空闲时间,超过这个时间的非核心线程会被销毁。
- workQueue:任务队列,存放待执行的任务。
- threadFactory:线程工厂,用于创建新线程。
- rejectedExecutionHandler:任务拒绝处理器,当任务无法执行时的处理策略。
任务提交到线程池后,线程数是如何变化的?
任务提交,线程池线程数还未达到核心线程数:

核心线程数已满,任务队列未满的情况:

核心线程数已满,任务队列已满的情况:

线程池中线程数已达最大线程数的情况:

注意,核心线程和非核心线程在线程池中是一样的,并没有特殊的标识区分!
9万+

被折叠的 条评论
为什么被折叠?



