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

2020-08-20 11:02:09 +08:00
 phpfpm

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

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

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

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

这题难吗?

考察的知识点点挺广的:

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

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

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

等等吧

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

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

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

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

如果要你写,你写啥?

24201 次点击
所在节点    程序员
321 条回复
InkStone
2020-08-20 13:51:00 +08:00
我觉得你第二个贴条写的那个高精加挺烂的

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

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

我就碰到一個很好的面試, 直接出一個業務題, 可以用任何工具, 只要能完成任務就行.
XisucksYi
2020-08-20 14:36:21 +08:00
@jlak0106 是啊, 又不是面試算法崗位, 一直搞這些算法題就是在做無用功.
johnsona
2020-08-20 14:39:40 +08:00
前几天才在 leetcode 上做过这题,题主科班的?从没做过觉得自己多久能做完,会不会遗漏
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
2020-08-20 14:43:55 +08:00
@XisucksYi 我服了。。。1. 都是面试了肯定有过准备; 2. 即使没准备冒泡也是最基础的东西吧,这些出来能表明是个“浪費平时時間的书呆子”?
XisucksYi
2020-08-20 14:47:04 +08:00
@Boyce 面試不是應試, 有什麼好準備的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/699860

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX