马上过年,快手的年终奖系数也端上来了。
鸭鸭在某平台刷到爆料,有快手的同学年终奖拿了 10.5 个月,合起来大几十万。
不是,老铁,你们不显山不露水,给这么大方吗?

除了这条爆料外,鸭鸭也看到其他老铁厂的同学发的年终爆料:
……
这波大家年终奖发放月数并不统一,具体应该是根据系数决定。
快手绩效分 S/A/B/C四档,按目前爆料来看:
鸭鸭有看到爆料,像是数据出海、本地生活、直播电商等部门,这次年终都给的比较大方。这或许也代表着,快手正在将资源集中于最有增长潜力的业务上。
不仅如此,这次快手年终奖会在 1 月 30 日发放,除了额外增加的绩优外,年终奖都会在年前到账,大家可以过个好年了。

快手能这么大方,也是得益于去年效益不错,像是可灵 AI,据说月活已经突破 1200w,全年收入更是达到 1.4 亿美元。
不过发年终奖的同时,据说电商等部门也有一些同学收到了“广进”的消息:

不知道这波裁员和之前的直播事故有没有关系。
目前一些爆料来看,这波“广进”的补偿是有包含年终奖的,如果有剩余年假,也可以选择休假或者双倍工资。
快手这波,看来是打算用最高的回报,激励最核心的业务和最优秀的人才啊。
……
今天分享一篇快手面经:

线程池核心参数的实际含义
ThreadPoolExecutor 的 7 个参数:
1)corePoolSize:核心线程数,线程池平时维持的线程数量。即使这些线程空闲也不会被回收,除非设置了 allowCoreThreadTimeOut。
2)maximumPoolSize:最大线程数,线程池能创建的线程上限。核心线程满了、队列满了才会创建到这个数。
3)keepAliveTime 和 unit:空闲线程的存活时间。超过核心线程数的那部分线程,空闲超过这个时间就被回收。
4)workQueue:任务队列,核心线程忙不过来时任务就在这排队。
5)threadFactory:线程工厂,用来创建线程。可以自定义线程名方便排查问题,比如给线程起名叫 order-pool-thread-1。
6)handler:拒绝策略,队列满了、线程也到顶了,新任务怎么处理。
在生产者-消费者模型中,阻塞队列可以管理生产者和消费者的速度差异:
也就是说阻塞队列在任务调度中可以起到负载均衡的作用,通过限制队列的大小来控制任务的流量,防止过多任务瞬间涌入系统造成压力。这样可以保证系统的稳定性,不至于因为过载而崩溃。
会。
线程池是一种池化技术,核心思想就是复用线程,避免每来一个任务就 new 一个 Thread。创建销毁线程的开销不小,一个线程起码占用 1MB 左右的栈空间,还有操作系统层面的调度成本。
具体看,线程池中是否设置 allowCoreThreadTimeOut参数。
HashMap 底层就是一个数组,结合链表和红黑树来解决冲突。

线程不安全,可以使用 ConcurrentHashMap。