找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5406

积分

0

好友

732

主题
发表于 1 小时前 | 查看: 3| 回复: 0

猎头嘴上说45万年薪,听着像是给人续命,真到签字才发现,里面还塞了“部分股权激励”,而且两年后才可能兑现。好家伙,这不叫45万,这叫“先画饼,再分期”。

社交平台帖子截图:爆料降职降薪,猎头承诺45万年薪,含股权激励2年后兑现

评论区有人说,猎头这套话术早都玩熟了,先把你约出来再说。也有人吐槽,大厂出来的人最怕这个,上一家刚挨完锤,下一家又拿期权当安慰奖。说白了,现金和股权压根不是一个东西,HR心里门儿清,候选人着急上岸的时候最容易被糊弄。

这事看着像合同细节,其实就是拿信息差狠狠干你一把。都被降薪了,还指望你赌两年后的股权,HR看完估计自己都不信。

颠倒二进制位

这个题看着像位运算入门,真到代码里,很多人第一下还是会写歪。最常见的歪法,是先把整数转成二进制字符串,翻转,再转回来。能不能做?能。面试官一般也不会当场把你轰出去。但这种写法我第一眼就不太信,问题明明是“位”,你绕到字符串那边去了,味儿就不对了。这个题考的其实就一件事:你会不会按位取、按位放,顺手把移位的坑避开。整体写法上,也更像线上处理二进制标记位,而不是在那儿摆弄字符串。

颠倒二进制位(Reverse Bits)是一道经典的算法题,意思是把一个32位整数的二进制位前后倒过来。比如最低位挪到最高位,次低位挪到次高位,依次处理完32次。

这类题我一般先盯住两个动作:一个是怎么拿到当前最低位,另一个是怎么把这个位塞进结果里。

拿最低位很简单:int bit = n & 1;
这个 & 1 很硬,最低位是1就拿到1,不是就拿到0。

然后把结果左移一位,腾个位置出来,再把刚才这个 bit 塞进去:

result = (result << 1) | bit;

接着原数字继续右移,处理下一位。在 Java 中,我更倾向用无符号右移 >>>,别拿 >> 去赌符号位。负数一旦补符号位,很多人调半天才发现是自己移错了。

直接看完整代码:

public class ReverseBitsSolution {

    public int reverseBits(int n) {
        int result = 0;

        for (int i = 0; i < 32; i++) {
            result <<= 1;
            result |= (n & 1);
            n >>>= 1;
        }

        return result;
    }

    public static void main(String[] args) {
        ReverseBitsSolution s = new ReverseBitsSolution();

        int n = 43261596;
        int ans = s.reverseBits(n);

        System.out.println(ans);
    }
}

这段代码没什么花活,但路子是正的。每一轮都干三件事:先给 result 左移一位;再把 n 的最低位拼进去;最后把 n 无符号右移,继续取下一位。

为什么一定循环32次?因为题目默认就是32位整数,不管前面是不是一堆0,都得老老实实翻完。你少翻一次,结果就不对。

再拿一个小例子过一下。假设某一刻 n 的最低位是1,那 n & 1 得到1,result 左移后末尾补0,再和1做或运算,最后一位就成了1。要是最低位是0,拼进去的自然就是0。整个过程其实像在不断“出栈、压栈”,只不过栈顶是二进制最低位。

这题不难,坑点主要就两个。
第一个,别用 >> 处理负数。第二个,别想着偷懒按有效位循环,题目要的是完整32位翻转,不是翻到最高的1就停。

面试 时这个题通常不是为了难住你,而是看你写位运算是不是干净。代码短,思路直,移位别写错,基本就够了。




上一篇:obsidian-second-brain:用31条命令把 Obsidian 变成 Claude Code 的活笔记库
下一篇:llama.cpp MTP 更新:本地推理提速73%,仅增 1GB VRAM
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-18 21:51 , Processed in 0.639295 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表