百度今年的薪资。。。

文摘   2024-11-23 14:08   湖北  
这是苍何的第 236 篇原创!

大家好,我是苍何。

百度校招也开奖了。

这个曾经的互联网老大哥,BAT 之首,昔日的王,虽说这些年被宇宙厂这些后起之秀赶超,但瘦死的骆驼比马大,在人工智能上的持续发力和投入,会再次夺回王座吗?

夺回不夺回,我不清楚,我也不在意,但就今年百度给的这薪资,我就忍不住竖起我粗壮的大拇指。

这薪资解读一下,月薪基本 base 有 35 k,发 16 个月,40 k 签字费+12 w 股票分 2 年发,算出来有多少?太过于庞大,我就懒得算了,反正高的离谱。

吓的楼主都觉得怕 hold 不住,不过有啥 hold 不住的,他们都敢要你,上去了就是干,世界就是个草台班子,上去就是干🐶

不清楚是不是搞文心一言的算法开发,如果是,那希望文心越来越好吧,毕竟我只用过一次就放弃了,不知道现在迭代到什么版本啦?收费了不?

去年百度开奖还是蛮快的,今年稍微慢了些,不过如果开的都是如此薪资,那也值了啊。

从目前爆料的情况来看,25 届百度校招开发岗位的薪资,大部分都是集中在 24 k 和 26 k,少部分特别优秀的才能拿到 32 k 的薪资。

下面做了下目前薪资情况统计:

普通 offer:

  • 22k * 16 + 6w 签字费,同学 bg  本科,base 北京

  • 24k * 16 + 6w 签字费,同学 bg  硕士 211,base 北京

sp offer:

  • 26k * 16 + 6w 签字费,同学 bg 硕士 211,base 北京

  • 29k * 16 + 6w 签字费,同学 bg 硕士 211,base 北京

  • 30k * 16 + 6w 签字费,同学 bg 硕士 985,base 北京

ssp offer:

  • 32k * 16 + 40 k 签字费+12 w 股票,同学 bg 硕士 985,base 北京

当然还有一些还在开奖中,我觉得要重视基本 base 薪资,至于 16 薪资和签字费,这个不是立马能拿到的,有些和绩效挂钩,今年如果背了低绩效指不定就发的少。

而签字费,也不是一次性就发给你的,通常是 2 年内发完,比如 12 w 签字费,今年发 6 万,明年再发 6 万,如果中途离职,直接不给发,这也是留住人才的一种方式,高啊👍

好啦,关于百度今年的开奖薪资,你有看法?欢迎评论区讨论。

...

回归主题。

今天来一道百度开发考过的一道面试算法题,给枯燥的牛马生活加加油😂。

题目描述

平台:LeetCode

题号:191

题目名称:位1的个数

题目描述:
给定一个正整数 n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表示式中 设置位 的个数(也被称为汉明重量)。


示例1:
输入:

n = 11  

输出:

3 

解释:
输入的二进制串 1011 中,共有 3 个设置位。


示例2:
输入:

n = 128  

输出:

1 

解释:
输入的二进制串 10000000 中,共有 1 个设置位。


示例3:
输入:

n = 2147483645  

输出:

30 

解释:
输入的二进制串 1111111111111111111111111111101 中,共有 30 个设置位。


提示:

  • 1 <= n <= 231−12^{31} - 1


解题思路

解决该问题有以下两种常见方法:

  1. 逐位检查

  • 将数字的最低位与 1 按位与(&)操作,判断最低位是否为 1

  • 每次右移数字 n,直到 n0

  • 每次检查中发现 1 时,累加计数器。

  • 按位消除最低位的 1

    • 利用 n & (n - 1) 的性质,该操作每次会将数字 n 的二进制中最右边的 1 变为 0

    • 每次操作后计数器加 1,直到数字 n0

    两种方法时间复杂度均为 O(设置位数),比直接遍历所有位数更高效。


    代码实现

    方法一:逐位检查

    Java代码:

    public class HammingWeight {
    public int hammingWeight(int n) {
    int count = 0;
    while (n != 0) {
    count += (n & 1); // 检查最低位是否为1
    n >>>= 1; // 无符号右移
    }
    return count;
    }
    }

    C++代码:

    class Solution {
    public:
    int hammingWeight(uint32_t n) {
    int count = 0;
    while (n != 0) {
    count += (n & 1); // 检查最低位是否为1
    n >>= 1; // 右移1位
    }
    return count;
    }
    };

    Python代码:

    class Solution:
    def hammingWeight(self, n: int) -> int:
    count = 0
    while n != 0:
    count += (n & 1) # 检查最低位是否为1
    n >>= 1 # 右移1位
    return count

    方法二:按位消除最低位的 1

    Java代码:

    public class HammingWeight {
    public int hammingWeight(int n) {
    int count = 0;
    while (n != 0) {
    n &= (n - 1); // 消除最低位的1
    count++;
    }
    return count;
    }
    }

    C++代码:

    class Solution {
    public:
    int hammingWeight(uint32_t n) {
    int count = 0;
    while (n != 0) {
    n &= (n - 1); // 消除最低位的1
    count++;
    }
    return count;
    }
    };

    Python代码:

    class Solution:
    def hammingWeight(self, n: int) -> int:
    count = 0
    while n != 0:
    n &= (n - 1) # 消除最低位的1
    count += 1
    return count

    时间复杂度和空间复杂度

    1. 时间复杂度

    • 方法一:O(k),其中 k 是二进制中位数。每次右移一位,需要执行 k 次操作。

    • 方法二:O(设置位数),每次操作消除一个设置位,效率较高。

  • 空间复杂度
    两种方法均为 O(1),只使用常量级额外空间。

  • 两种方法各有特点,若输入的数字设置位较少,方法二更优。

    ending

    你好呀,我是苍何。是一个每天都在给自家仙人掌讲哲学的执着青年,我活在世上,无非想要明白些道理,遇见些有趣的事。倘能如我所愿,我的一生就算成功。共勉 💪

    点击关注下方账号,你将感受到一个朋克的灵魂,且每篇文章都有惊喜。

    感谢大家一直以来的阅读、在看和转发,我会把流量主收益都用来发红包,大家可在公众号页面发送相关暗号关键词获取抽奖,每一篇文章会给到一个不同的暗号,对应的抽奖都是独立的,此篇暗号为【百度】,在后台回复【百度】,即可点击进去参与抽奖!抽奖内容、金额、个数等都无变化,在开奖前参与抽奖,操作均有效。

    注意,后台(不是评论区,是后台)回复【百度】即可参与抽奖。
    后台回复(不是评论区,是后台)即可参与抽奖。
    后台回复(不是评论区,是后台)即可参与抽奖。

    就像大家之前回复【八股】一样。

    【我爱这个魔幻的世界】

    苍何
    独立开发者,专注于Java企业级开发,AI 工具提效。偶尔闪光、经常表达、总是真诚。
     最新文章