年后才领完开工红包,不少人就把目光投向了年终奖。这两天蚂蚁集团的年终开奖了,朋友圈又是几家欢喜几家愁。
鸭鸭也看了一下这次爆料的数据。
绩效 3.75 的大佬,年终奖起步就是 6 - 7 个月,也有人能拿10个月及以上,另外还配有 2000 到 4000 的 SERs 加成,整体看,是比去年到手多的,妥妥“赢麻了”。
绩效 3.5+ ,今年年终奖多在 4 -5 个月起步,高的话,也能拿到 6 个月。部分人能到手 1500 - 4000 的 SERs,这个和职级挂钩,上限比去年高一些。
而绩效 3.5 的“大多数”,今年基本是 2.5 - 3 个月起步,还普遍遭遇 0 涨薪、0 期权。
以前觉得在大厂拿个 3.5 安稳度日,现在看,卷很重要,BU 也很重要。
从不同平台的个人爆料来看,这次年终的发放,业务上,明显向“碰一下”、“阿福”等创新业务倾斜。而且从个人出发,能力越强,越能拿到高绩效。
以前可能只要按部就班、不犯大错,就能拿个年终钱,现在绩效 3.5,远称不上稳定。要么逼自己往 3.5+ 甚至 3.75 冲,要么得考虑,自己是不是应该寻找一个更有发展的机会。
职场终归没有所谓的岁月静好。
……
今天分享一篇蚂蚁金服面经:

篇幅有限,完整答案可以进入面试鸭 - 2026程序员面试题库大全 | 10000+Java/前端/Python面试题免费刷进行查阅。
接口和抽象类的区别是什么?
接口和抽象类在设计动机上有所不同。
接口的设计是自上而下的。我们知晓某一行为,于是基于这些行为约束定义了接口,一些类需要有这些行为,因此实现对应的接口。
抽象类的设计是自下而上的。我们写了很多类,发现它们之间有共性,有很多代码可以复用,因此将公共逻辑封装成一个抽象类,减少代码冗余。
所谓的自上而下指的是先约定接口,再实现。而自下而上的是先有一些类,才抽象了共同父类。可能和学校教的不太一样,但是实战中很多时候都是因为重构才有的抽象。
其他区别:
1)方法实现:接口中的方法默认是 public 和 abstract,但在 Java8 之后可以设置 default 方法或者静态方法。抽象类可以包含 abstract 方法和具体方法,允许子类继承并重用抽象类中的方法实现。
2)构造函数和成员变量:接口不能包含构造函数,接口中的成员变量默认为 public static final,也就是常量。抽象类可以包含构造函数,成员变量可以有不同的访问修饰符如 private、protected、public,并且可以不是常量。
3)多继承:抽象类只能单继承,接口可以有多个实现。

你用过哪些设计模式?请讲讲它们的特点和使用场景。
工作中用得最多的就是单例模式、简单工厂、策略模式、模板方法这几个。
单例模式的场景很明确:全局只需要一个实例的时候。数据库连接池用的就是单例,HikariCP、Druid 这些连接池都是单例管理的。配置中心的客户端也是单例,不可能每次读配置都 new 一个新的。
策略模式和模板方法在业务开发中经常组合使用。拿支付场景举例:对接支付宝、微信、银联这些渠道,每个渠道的支付逻辑不一样,天然就是不同的策略。定义一个 PayService 接口,每个渠道实现自己的 pay 方法。
同时这些渠道的支付流程又有共性:都要先做参数校验,然后执行核心支付逻辑,最后做后置处理。把这个共性流程抽成模板方法,让各渠道实现类继承它,只重写核心支付那一步就行。
篇幅有限,完整答案可以登陆面试鸭(mianshiya.com)查看。