面试笔试做不出长整数加法的是不是 coding 能力就基本当没有了? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
phpfpm
V2EX    程序员

面试笔试做不出长整数加法的是不是 coding 能力就基本当没有了?

  •  
  •   phpfpm 2020-08-20 11:02:09 +08:00 24115 次点击
    这是一个创建于 1880 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近面试,按说候选人背景也都不错吧。

    我们对算法要求没那么高,业务代码为主。

    因此对于各种语言的候选人,我基本都会问一道长整数加法的问题。

    俩数相加,都没有符号 /没有小数点 /字符串表示 返回和 /用字符串表示

    这题难吗?

    考察的知识点点挺广的:

    字符串 /数组操作,循环控制,流程逻辑,边界条件等等。

    这也基本上是编程的时候经常能遇到的问题。

    但是我遇到的面试者写的千奇百怪的都有:

    • 反复强调不能转 Int/number 还要强行转之后加起来的
    • 说了不能转但是按位 map 一下乘以 10 的幂加起来的
      • 乘方还写反的 idx ** 10
    • 字符串 /数组非得 reverse 否则不会写循环的
      • reverse 拼成 reserve/压根不会写这个函数的
    • 循环次数拎不清的,把短的的长度加一下长的就不管了
      • 好一点的知道再处理梳理一下长的数字的剩余位数
    • 最后多的一个进位忘记了的(很多)
      • 当然也不排除先相加判断是不是大于 10,再加上之前的进位的
    • 嗦嗦写了一大堆的
      • 极限是一个 go 的候选人干了七十多行还漏掉一些逻辑
      • 有人写 if a 长度>b 长度 then .... 我问他 else 写啥

    等等吧

    所以如果你遇到这个题,如何优雅的写一个 a+b?

    稍后我写一个我自己花了一小点时间写的答案,八行,没有很过分的压缩代码 我的代码大概长这样:

    function add(a, b) { let ... some magic { cast something cast other } return ... } 

    正经逻辑三四行写完,晚一些我贴条的方式公布我的答案。

    如果要你写,你写啥?

    第 1 条附言    2020-08-20 11:35:54 +08:00
    漏了一句:
    也不许用 BigInt/各种高精度计算库了。。。

    坚持抖机灵会被面试官打死的。
    第 2 条附言    2020-08-20 11:41:34 +08:00
    补充我写的 Emca Script 的版本:

    ```
    function add(a, b) {
    let pos = 0, res = ''
    while(a.length > pos || b.length > pos) {
    let carry = res.length - pos++
    res = (~~a[a.length - pos] + ~~b[b.length - pos] + carry) + res.substring(carry)
    }
    return res
    }
    ```

    这个进位处理也是受到某个面试者启发的,最后一次进位直接拼上去不处理了。
    321 条回复    2020-08-24 11:54:05 +08:00
    1  2  3  4  
    islxyqwe
        1
    islxyqwe  
       2020-08-20 11:07:07 +08:00   5
    const add = (a,b)=>(BigInt(a) + BigInt(b)).toString()
    phpfpm
        2
    phpfpm  
    OP
       2020-08-20 11:07:45 +08:00
    @islxyqwe 好的,下一位,被面试官打死了。
    march1993
        3
    march1993  
       2020-08-20 11:08:45 +08:00 via iPhone
    都字符串了 那就按字符串按位拼呗…
    luckyrayyy
        4
    luckyrayyy  
       2020-08-20 11:10:00 +08:00   2
    我应该就是嗦嗦那种了。循环,字符取一位,转成 int,相加,记录进位,剩余的转回 str 加到结果上。
    Jooooooooo
        5
    Jooooooooo  
       2020-08-20 11:11:57 +08:00
    我理解写 a+b 如果是 string 就是考察最基本的代码能力

    如果是 int 那考察思考全面性 (溢出怎么办?
    dartabe
        6
    dartabe  
       2020-08-20 11:13:16 +08:00
    我咋看好多答案都用的 bigint
    phpfpm
        7
    phpfpm  
    OP
       2020-08-20 11:16:35 +08:00
    @Jooooooooo 溢出就 try-catch 一下吧,前置判断没啥意思了

    @dartabe big int 用了我考啥。。。我也是反复强调不能用(当然绝大多数面试者不知道 hhh )
    主贴写的时候写漏了。


    @march1993
    @luckyrayyy
    真的写一下估计会漏一些情况(比如最后的进位)
    hytex
        8
    hytex  
       2020-08-20 11:18:39 +08:00
    怎么感觉是字符串相加的那个题… 按位取余多的进 1,然后叠加就行了啊…
    hytex
        9
    hytex  
       2020-08-20 11:19:27 +08:00
    @hytex 字符串 append 最后倒一下…
    lijialong1313
        10
    lijialong1313  
       2020-08-20 11:19:54 +08:00
    字符串 /数组,反转处理不好吗……

    而且不能转 number 的话,难不成是两个字符串加起来之后减去对应的值?( C 语言)
    DL9412
        11
    DL9412  
       2020-08-20 11:21:29 +08:00
    这不是上周的每日打卡题么,模拟竖式就完事了
    phpfpm
        12
    phpfpm  
    OP
       2020-08-20 11:22:49 +08:00
    @lijialong1313 c 处理 atoi 也确实可以这么干
    主要是反转吧必要性没那么大
    太多人只会正着写 for,不会反着写 for,不会写 while ;
    或者你要用 map-reduce 之类的方法把字符串先 reverse 我还能忍


    @hytex 话是这么说,欢迎提供代码~
    能贴条的时候我补充我的版本。
    phpfpm
        13
    phpfpm  
    OP
       2020-08-20 11:23:51 +08:00
    @DL9412 talk is~~~ show us your code~~~
    hytex
        14
    hytex  
       2020-08-20 11:26:12 +08:00
    @phpfpm 格式我不会弄这个,每日一题我做过这个。

    public String addStrings(String num1, String num2) {
    int a = num1.length() -1 , b = num2.length() - 1 , add = 0;
    StringBuffer ans = new StringBuffer();
    while(a >= 0 || b >= 0 || add != 0 ) {
    int x = a>=0 ? num1.charAt(a) - '0' : 0;
    int y = b>=0 ? num2.charAt(b) - '0': 0;
    int res = x + y + add;
    add = res / 10 ;
    ans.append(res % 10);
    a -- ;
    b --;
    }
    ans.reverse();
    return ans.toString();
    }
    lijialong1313
        15
    lijialong1313  
       2020-08-20 11:26:59 +08:00   1
    @phpfpm 主要是不反转的话,对于最左的进位就需要额外的一次移动所有字符串操作( c 语言),我做 oj 遇到这种都是习惯反着处理。
    hytex
        16
    hytex  
       2020-08-20 11:27:35 +08:00
    @hytex 如果最后反转不能 reverse,那再稍微处理下就好了…
    yhxx
        17
    yhxx  
       2020-08-20 11:28:54 +08:00
    import { BigNumber } from 'big-number';

    return BigNumber(a).add(b);

    (手动滑稽
    phpfpm
        18
    phpfpm  
    OP
       2020-08-20 11:29:40 +08:00
    @lijialong1313 你可以输出的结果是反着的,都拼好了统一反转一次(逃


    @hytex goodjob,还能再短点么(虽然我知道 java 的代码量要除以 2 hhh
    lijialong1313
        19
    lijialong1313  
       2020-08-20 11:31:36 +08:00
    @phpfpm 那这样的话,这玩意儿应该满地都是大数加法算法了吧( C 语言)
    hytex
        20
    hytex  
       2020-08-20 11:32:38 +08:00
    @phpfpm 我看了大佬的,确实可以短一些,不过我个人水平做这个题就这样了 :D
    banishee
        21
    banishee  
       2020-08-20 11:32:53 +08:00
    @hytex 请问这个代码考虑最后一个进位了吗
    hytex
        22
    hytex  
       2020-08-20 11:34:18 +08:00
    @banishee add = 0
    phpfpm
        23
    phpfpm  
    OP
       2020-08-20 11:34:46 +08:00
    @lijialong1313 满地都是大数加法算法了吧没跟上。
    我们不招 c 的,不过有年头比较长嵌入式北京的我会随口问一句 C 的 VLA
    形如
    ```
    struct foo {
    char bar;
    int[0] baz;
    };

    ```
    这个 trick 了
    (我也只会这个了 hhh
    no1xsyzy
        24
    no1xsyzy  
       2020-08-20 11:39:36 +08:00
    主要是 reverse 太方便了(

    https://repl.it/repls/ExpensiveWorriedAgents
    islxyqwe
        25
    islxyqwe  
       2020-08-20 11:39:48 +08:00
    addr 0 [] xs = reverse xs
    addr n [] xs = addr 0 (show n) xs
    addr n xs [] = addr n [] xs
    addr n (x:xs) (y:ys) = (addr left xs ys) ++ (show digit) where
    (left, digit) = divMod ((read [x] ::Integer) + (read [y] ::Integer) + n) 10
    add a b = addr 0 (reverse a) (reverse b)
    ytmsdy
        26
    ytmsdy  
       2020-08-20 11:41:24 +08:00 via iPhone
    我记得当年刚刚开始玩 acm 的时候,zoj 上的第一道题就是大数 a+b 。那时候花了快 3 天才搞完!
    现在想想,从最后一位开始模拟手工计算的过程就好了!
    cyrbuzz
        27
    cyrbuzz  
       2020-08-20 11:41:52 +08:00
    ```
    function add(a, b) {
    let max = Math.max(a.length, b.length);
    a = a.padStart(max, '0');
    b = b.padStart(max, '0');

    let result = ''
    let pad = 0

    for (let i=max-1; i>-1; i--) {
    let c = String(Number(a[i])+Number(b[i])+Number(pad))
    c = c.padStart(2, '0')
    pad = c[0]
    result = `${c[1]}${result}`
    }

    return `${pad === '0' ? '' : pad}${result}`
    }

    console.log(add('1001', '200'))
    ```
    no1xsyzy
        28
    no1xsyzy  
       2020-08-20 11:42:25 +08:00
    @no1xsyzy #24 没编辑前后文断裂
    这个是不带 reverse 的,还是 padding
    但结构上用了一种诡异的方式来解决所有进位问题
    phpfpm
        29
    phpfpm  
    OP
       2020-08-20 11:43:19 +08:00
    @islxyqwe 膜拜 Scala 大佬(其实我也不知道叫啥,没准是 scheme 之类的
    phpfpm
        30
    phpfpm  
    OP
       2020-08-20 11:45:01 +08:00
    @no1xsyzy
    @cyrbuzz
    @ytmsdy
    @islxyqwe
    @no1xsyzy
    @hytex
    @lijialong1313
    @yhxx
    @dartabe
    @Jooooooooo
    @luckyrayyy
    @march1993
    @islxyqwe

    我在贴条 Append 的地方写了我的解法了很遗憾,那边好像不支持 markdown 。。

    ```
    function add(a, b) {
    let pos = 0, res = ''
    while(a.length > pos || b.length > pos) {
    let carry = res.length - pos++
    res = (~~a[a.length - pos] + ~~b[b.length - pos] + carry) + res.substring(carry)
    }
    return res
    }
    ```

    希望回复能好看点。。。。
    no1xsyzy
        31
    no1xsyzy  
       2020-08-20 11:55:27 +08:00
    @phpfpm #30 APPEND 需要自己选择语法是 Default 还是 Markdown
    这个用 res.length 来记录是否有进位有点奇技淫巧了
    banishee
        32
    banishee  
       2020-08-20 11:57:06 +08:00
    @phpfpm 请问这不会造成数组边界溢出吗
    no1xsyzy
        33
    no1xsyzy  
       2020-08-20 11:58:27 +08:00
    @phpfpm #30 也不能说奇技淫巧,就是在各种地方找到能放信息的地方
    还是 add(x,y) = x&y<<1 + x|y 更奇技淫巧……
    no1xsyzy
        34
    no1xsyzy  
       2020-08-20 11:59:45 +08:00
    @banishee #32 唯一处理数组的地方是取 a[] 和 b[],JS 下溢出是 undefined, ~~x 之后就是 0,这点上无法替换为 +x,因为 +x 会变成 NaN
    murmur
        35
    murmur  
       2020-08-20 12:00:21 +08:00
    有大整数类为啥要自己写,你能保证写出来的过的单元测试比库更多么
    wutiantong
        36
    wutiantong  
       2020-08-20 12:02:21 +08:00
    std::string add(std::string a, std::string b) {
    std::string result;
    auto a_i = a.rbegin(), b_i = b.rbegin();
    char ten = 0;
    while (true) {
    char x = 0;
    if (a_i != a.rend()) x = (*a_i++) - '0';
    char y = 0;
    if (b_i != b.rend()) y = (*b_i++) - '0';
    auto c = x + y + ten;
    if (c == 0) break;
    else if (c > 9) {
    c -= 10;
    ten = 1;
    } else ten = 0;
    result.insert(result.begin(), c + '0');
    }
    return result;
    }
    lijialong1313
        37
    lijialong1313  
       2020-08-20 12:02:52 +08:00
    @phpfpm 我写了一个 c 语言的: https://paste.ubuntu.com/p/YjF5DZqXnR/
    YuTengjing
        38
    YuTengjing  
       2020-08-20 12:09:48 +08:00 via Android
    这道题很常见啊,不会做说明没怎么准备面试算法
    XiaoxiaoPu
        39
    XiaoxiaoPu  
       2020-08-20 12:12:04 +08:00
    确实不难吧,我大一就能做高精度浮点数的加减乘除、三角函数、指数、对数函数了,虽然效率一般。
    mazyi
        40
    mazyi  
    PRO
       2020-08-20 12:15:24 +08:00
    面试笔试做不出长整数加法的是不是 coding 能力就基本当没有了?
    talen666
        41
    talen666  
       2020-08-20 12:26:09 +08:00
    两个字符串相加??做业务跟这个关系不大。。
    reus
        42
    reus  
       2020-08-20 12:28:33 +08:00
    @murmur 你这不就等于说,有滴滴为啥还要考驾照。
    shuigui
        43
    shuigui  
       2020-08-20 12:28:55 +08:00
    是的,这个是基本逻辑能力
    shm7
        44
    shm7  
       2020-08-20 12:33:12 +08:00
    就是基本逻辑吧,不要随便问个题目想看看你脑子转不转,就上纲上线。
    shm7
        45
    shm7  
       2020-08-20 12:33:59 +08:00   1
    我觉得你说的这个输入 2 字符串算结果输出字符串都做不好,那真是没有什么编程能力了。
    XisucksYi
        46
    XisucksYi  
       2020-08-20 12:34:47 +08:00   1
    知道有什意? 言只是工具, 可以完成任就行, 不能, 不能用 built-in, 我想下弄有什意.

    我得你和面者聊意的西是你被打死.
    sampeng
        47
    sampeng  
       2020-08-20 12:41:19 +08:00 via iPhone   1
    你这叫没过分压缩代码?写成一行才算?
    672795574
        48
    672795574  
       2020-08-20 12:47:45 +08:00
    @XisucksYi 完成任务知道这个没意义,通过题目筛选同事有意义。有的候选人写个冒泡都不会,说有内置的 sort 方法,当然可以啊,那我也可以选择不和你做同事。

    @phpfpm 我也建议你就发事情本身,不要评价什么没有编程能力,毕竟这里也不是所有人都会 2333
    peapods
        49
    peapods  
       2020-08-20 12:48:51 +08:00 via Android   1
    很多面试真的就是玩弄一些奇技淫巧,用一个随便一搜就能解决的问题来刁难面试者,每天被狗屁项目经理(领导)逼着搬砖写各种 bug 还不够么。问题来了,一个茴香豆有几种写法?
    sampeng
        50
    sampeng  
       2020-08-20 12:48:54 +08:00 via iPhone
    @XisucksYi 那如何在面试中判断一个人的逻辑能力呢?当然我没过分到要用笔试。比如我最喜欢问的。用 a 去分割字段 b 。不许用内置函数。是不是比楼主这种简单 100 倍。答得上来的成功率不超过 20%用两种以上思路的…em 。二十个里面有一个吧
    ChenFanlin
        51
    ChenFanlin  
       2020-08-20 12:49:12 +08:00
    这不是 leetcode 简单题嘛
    jmc891205
        52
    jmc891205  
       2020-08-20 12:49:20 +08:00
    加法太 straightforward了,没什么好讨论的
    乘法还可以
    hikarugo
        53
    hikarugo  
       2020-08-20 12:49:28 +08:00
    还行吧,看什么时期,应届生是好题,社招见仁见智吧
    phpfpm
        54
    phpfpm  
    OP
       2020-08-20 12:49:56 +08:00
    @talen666
    @XisucksYi

    这么说吧,今天我面试考了一个长整数加法,
    你用 BigInt 写了
    明天我问了一个 String.reverse
    你用 String.reverse()实现了
    后天我问字符串间隔重排(类似于 123456 =>135246)
    你告诉我你不会

    业务中确实不会用到这个原题,但是这个抽象出来的一些语言算法基本知识还是有意义的。
    phpfpm
        55
    phpfpm  
    OP
       2020-08-20 12:51:02 +08:00
    @sampeng 哈哈哈哈哈真不过分
    如果硬说的话我支持++单独写,别的都还好啦。
    phpfpm
        56
    phpfpm  
    OP
       2020-08-20 12:52:13 +08:00
    @sampeng 就是实现 String.split 么。。。。
    czzhengkw
        57
    czzhengkw  
       2020-08-20 12:53:09 +08:00
    吓得我赶紧试着写了一下,还好,能写出来
    sampeng
        58
    sampeng  
       2020-08-20 12:55:21 +08:00 via iPhone
    @phpfpm 对啊…而且我都没说手写,说说思路就行…就是这么夸张…所以楼主简单的算法题过滤人完全没问题…感觉现在是用人市场,找工作的比招聘的多得多。所以择优选择一点毛病没有
    phpfpm
        59
    phpfpm  
    OP
       2020-08-20 12:56:22 +08:00
    @ChenFanlin
    @jmc891205
    @fyxtc
    这个我校招社招都问过,区分度区别不大。
    在学校瞎混的和社招写了几年代码事儿都忘光的都有。

    简单题。。要是乘法的话估计一般来说没半个小时写不完,我面试时间一共才 45min,等不起,而且区分度更差。

    本质上我这边招人还是要能自己 coding 的,再牛的人来该干活还是得干活。

    @672795574 你的意思是这里也有产品混进来吧 懂你懂你。
    murmur
        60
    murmur  
       2020-08-20 12:57:01 +08:00   3
    @reus

    有滴滴为什么考驾照?因为不是什么时候都有滴滴,但是我什么时候都能搜到第三方库
    而且我这岂止是滴滴,这滴滴还有个接单 10w 无事故的老司机,怎么说都是滴滴爽
    如果类比的话,去的公司禁止使用源,不准使用外部网络和代码,所有算法自己手写,可能有这个实际需求
    dartabe
        61
    dartabe  
       2020-08-20 12:58:28 +08:00
    确实是 leetcode 里面 easy 题里面都算简单的
    phpfpm
        62
    phpfpm  
    OP
       2020-08-20 13:05:41 +08:00
    @murmur 54 楼。
    一个问题没有开原算法不是还得手写。
    @dartabe
    @sampeng

    而且我喜欢这道题的原因是,面试的时候不用贴题目,一句话说得清楚,节约彼此时间。
    672795574
        63
    672795574  
       2020-08-20 13:07:49 +08:00
    我倒是挺好奇,会这题的人,有觉得楼主面试问这题没有意义么
    nznd
        64
    nznd  
       2020-08-20 13:08:27 +08:00
    常用 python 的我 第一反应想出来的就是基础的模拟按位加法,然后一想 python 无限长度 int 都可以加,就去看了下实现
    https://github.com/python/cpython/blob/2d264235f6e066611b412f7c2e1603866e0f7f1b/Modules/_decimal/_decimal.c
    现在在怀疑人生
    phpfpm
        65
    phpfpm  
    OP
       2020-08-20 13:09:19 +08:00
    @672795574 应该不会吧,这个能干净利索做出来的人(不太多)
    我会加问一道 DP 以及变种。

    或者简历优秀的直接问 dp 了。
    phpfpm
        66
    phpfpm  
    OP
       2020-08-20 13:11:44 +08:00
    shilyx
        68
    shilyx  
       2020-08-20 13:15:03 +08:00
    直接面试求 100 的阶乘得了
    672795574
        69
    672795574  
       2020-08-20 13:20:36 +08:00
    @phpfpm DP 是个好题目,本身的框架就几行,看看对方怎么得出递推公式,有来有回交流一下,思路 /沟通都可以看出来。我被问得最多的也是 DP..
    phpfpm
        70
    phpfpm  
    OP
       2020-08-20 13:20:47 +08:00
    @XisucksYi 笑死了。

    我是面试者,面试官出了一道 sb 题目,我表示我的瑞斯拜做了,然后面试官说我是书呆子挂掉我了。

    ???

    不过我要是真的遇上 bubble sort,我也许会写一个 array.map.map 这样的代码,你问的问题 sb 我就给你炫技嘛 多大点事儿。

    @shilyx 这个过分了,考这个剩不下几个人。
    phpfpm
        71
    phpfpm  
    OP
       2020-08-20 13:24:50 +08:00
    @672795574 等我结束这个阶段招聘之后我单独写一个 dp 的面试技巧(从面试官的角度)

    本质上来说我(现在面试招聘的岗位)不需要算法大牛(业务属性相关),希望面试者具有聪明+思维严谨的属性。

    当然如果是其他业务需求考察 dp 就更难了,比如剪枝优化等等,leatcode 偏难的题目的思路:
    硬钢肯定超时,不优化的 dp 过不去几个点,优化到一定程度才能 AC 。
    XisucksYi
        72
    XisucksYi  
       2020-08-20 13:28:51 +08:00   3
    @phpfpm 呵呵, 你真把些算法? 瞧你那生. 平 就少浪在算法上.

    眼高不高? 近度了?

    小心 coding 把你子射萎了. 建多出去太.
    nznd
        73
    nznd  
       2020-08-20 13:29:55 +08:00
    @phpfpm #66 怎么说呢 我尝试看了 10 分钟后 还是一头雾水 只能感叹一句人生苦短 我用 python (
    crazycarry
        74
    crazycarry  
       2020-08-20 13:32:52 +08:00
    看到你的回复了,真把自己当个菜?还面试官,,真当自己是个官了。是哪个大厂的?要是垃圾厂别笑死人了
    tigren
        75
    tigren  
       2020-08-20 13:34:46 +08:00
    我应该属于哩唆的那种的,遥记得第一次写的时候我写的是右边对齐,然后从左边开始一位位加,做完面试官表示很无语:虽然你这不算错,但是感觉这么别扭
    CismonX
        76
    CismonX  
       2020-08-20 13:42:33 +08:00 via iPhone
    我大三的时候面字节跳动实习岗位的时候让我手写大数乘法,要求优于平方时间复杂度,然后我给他写了个 karatsuba 算法,他看了看不满意(可能写的不太对),然后我跟他说我还知道有个 toom-cook 算法,但是不会写。然后就没有然后了。。
    phpfpm
        77
    phpfpm  
    OP
       2020-08-20 13:42:56 +08:00
    @XisucksYi @livid 骂人了啊


    @nznd 2333 你说的是题目还是解答
    XisucksYi
        78
    XisucksYi  
       2020-08-20 13:43:31 +08:00
    @crazycarry 是回我的嘛?

    大才完蛋, 股份都被分完了, 小直接便玩都能玩死他, 小更好玩
    jlak0106
        79
    jlak0106  
       2020-08-20 13:44:01 +08:00
    是挺垃圾的,大厂估计没这闲功夫在这发帖吧
    wutiantong
        80
    wutiantong  
       2020-08-20 13:49:48 +08:00
    @wutiantong 上面写得有点问题。。。

    std::string add(std::string a, std::string b) {
    std::string result;
    auto a_i = a.rbegin(), b_i = b.rbegin();
    char ten = 0;
    while (a_i != a.rend() || b_i != b.rend()) {
    char x = 0; if (a_i != a.rend()) x = (*a_i++) - '0';
    char y = 0; if (b_i != b.rend()) y = (*b_i++) - '0';
    auto c = x + y + ten;
    if (c > 9) {
    c -= 10;
    tn = 1;
    } else ten = 0;
    result.insert(result.begin(), c + '0');
    }
    return result;
    }
    InkStone
        81
    InkStone  
       2020-08-20 13:51:00 +08:00   1
    我觉得你第二个贴条写的那个高精加挺烂的

    评价代码好无非是两种标准,一种是清楚,一种是高效。拿代码长短去评价代码是否优秀,给人的感觉就像是既不做工程也不会底层
    XisucksYi
        82
    XisucksYi  
       2020-08-20 13:53:11 +08:00
    @jlak0106 我不知道他是不是的小 CEO, 如果是的, 他真的在浪, 活失. 我遇到很多的合夥人都是, 一直皎些意的西, 一副生, 自己被算法心要心下面的人, 又抱怨招不到人.

    生能做什大事呢? 生中人, 中笑生了
    InkStone
        83
    InkStone  
       2020-08-20 13:54:50 +08:00
    @XisucksYi 所以你只是水平太低,无法理解有些很基础的东西,别人只要知道原理,稍微想一下就可以写出来罢了。
    jlak0106
        84
    jlak0106  
       2020-08-20 13:58:08 +08:00   2
    @XisucksYi 我们组去年来了大神,不爱说话,天天在那看算法,还神经算法,让他自己都说不清楚,进来写个业务代码,bug 多的触发测试环境复盘。每个人都有自己的兴趣和钻研方向,不能你喜欢算法,别人不喜欢,写不出来就 coding 能力就基本当没有,楼主是人身攻击???自己怎么不去算法岗位去试试!!
    Panic
        85
    Panic  
       2020-08-20 14:00:16 +08:00   2
    会了这个算法能保证你 35 不被裁吗?
    murmur
        86
    murmur  
       2020-08-20 14:09:28 +08:00
    @672795574 有没有意义看给多少工资,都跟字节开那么多要求刷几百 leetcode 也是可以的,毕竟他们给的太多了啊
    nznd
        87
    nznd  
       2020-08-20 14:09:33 +08:00
    @phpfpm #77 我说 python 这个大数运算库的 c 实现... 好难懂... 周末找个大块时间啃一下 这个题目挺简单 感觉是 leetcode easy 难度
    XisucksYi
        88
    XisucksYi  
       2020-08-20 14:12:17 +08:00   1
    @Panic 天天 996, 能不能活到 35 是.
    fengmumu
        89
    fengmumu  
       2020-08-20 14:19:42 +08:00
    菜鸡表示看了楼主的代码,嗯,够精减,话说,不明白楼主的意思,首先是完成你给定的需求:俩数相加,都没有符号 /没有小数点 /字符串表示 返回和 /用字符串表示 ,这个不过分,但是又看到有一堆的需求,不能 reverse, 不能强转 number 之类的,转 number 什么的,大数就 gg,这个你们搞个单元测试给跑一下,不过就挂我理解,至于什么 reverse 什么的,我理解就是 你是想让面试者高效+准确+优雅的完成这个东西,在已经实现了的基础上,用 for 循环的,垃圾不会用 while,倒着加的后面反转的,垃圾,代码过长的垃圾,写的时间长的垃圾,不知道我理解的对不对,而且弱弱猜一下,楼主没有给面试人引导+优化代码的时间吧
    newmlp
        90
    newmlp  
       2020-08-20 14:22:40 +08:00
    是的
    TrickWu
        91
    TrickWu  
       2020-08-20 14:24:59 +08:00
    话说你 append 的这段 script 写的能正确输出么?
    XisucksYi
        92
    XisucksYi  
       2020-08-20 14:26:11 +08:00
    @fengmumu 就是 LeetCode #415 , 心人的
    followsin
        93
    followsin  
       2020-08-20 14:26:55 +08:00   7
    EcmaScript 写错的人抱怨人家 reverse 拼错,
    uasier
        94
    uasier  
       2020-08-20 14:28:47 +08:00
    这题我写过,然后一看我写了 63L,对不起,是我不配。
    XisucksYi
        95
    XisucksYi  
       2020-08-20 14:31:01 +08:00
    @jlak0106 所以, 所的算法非就是有有 Google , Google 不知道呢? 根本看不出一人解的能力.

    我就碰到一很好的面, 直接出一, 可以用任何工具, 只要能完成任就行.
    XisucksYi
        96
    XisucksYi  
       2020-08-20 14:36:21 +08:00
    @jlak0106 是啊, 又不是面算法位, 一直搞些算法就是在做用功.
    johnsona
        97
    johnsona  
       2020-08-20 14:39:40 +08:00
    前几天才在 leetcode 上做过这题,题主科班的?从没做过觉得自己多久能做完,会不会遗漏
    sunziren
        98
    sunziren  
       2020-08-20 14:42:19 +08:00
    function funAdd(a,b){
    math.config({number: 'BigNumber'});
    return math.evaluate(a + "+" + b);
    }
    function funSub(a,b){
    math.config({number: 'BigNumber'});
    return math.evaluate(a + "-" + b);
    }
    Boyce
        99
    Boyce  
       2020-08-20 14:43:55 +08:00
    @XisucksYi 我服了。。。1. 都是面试了肯定有过准备; 2. 即使没准备冒泡也是最基础的东西吧,这些出来能表明是个“浪平时的书呆子”?
    XisucksYi
        100
    XisucksYi  
       2020-08-20 14:47:04 +08:00
    @Boyce 面不是, 有什好的
    1  2  3  4  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     970 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 56ms UTC 22:39 PVG 06:39 LAX 15:39 JFK 18:39
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86