现在面试官都那么奇怪的吗?

2020-07-03 11:43:57 +08:00
 hahaandyou001

今天面试官在线问代码题,让我用 Java 实现 1 到 100 的和。 我给的代码如下:

        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        System.out.println(sum);

就马上说不合适,各位大佬能说说为什么吗?

12313 次点击
所在节点    求职
106 条回复
hdbzsgm
2020-07-03 11:46:53 +08:00
我觉得他想让你利用一下等差数列的性质
hahaandyou001
2020-07-03 11:48:24 +08:00
@hdbzsgm 谢谢,我后来也想到,可对方连个机会都不给😂
IsaacYoung
2020-07-03 11:50:00 +08:00
System.out.println(5050);
caowentao
2020-07-03 11:52:38 +08:00
没有给背景,确实好像在挖坑,不合适
echo1937
2020-07-03 11:52:41 +08:00
他有没有继续问,有没有其他的方法?
如果不问,问题不在你。
hahaandyou001
2020-07-03 11:59:45 +08:00
@echo1937 没有,还 diss 了我一下,然后说不合适,不录用
coderraven
2020-07-03 12:00:18 +08:00
假设,他没有催促你快点完成。
给了你一定时间。

写完全点
class Solution {
public int addToNumber(int number) {
xxx….
}
}
然后多作几种实现。
不是有什么 100+1 * 50 这种么。
自己再简化下。

然后还能主动和他聊一聊当这个数超出范围后如何处理。
比如 number=100000000000000000000 的时候。

你写的这个太应付了。
随便来个人都能写出来。
没啥意思。
over 。
hahaandyou001
2020-07-03 12:00:22 +08:00
@caowentao 还说什么,这能看出来是 Java 代码吗?😂
hahaandyou001
2020-07-03 12:00:50 +08:00
@coderraven 他说五分钟以内解决
coderraven
2020-07-03 12:03:23 +08:00
emmmmm
反正我面试的时候,是自己尽可能展现自己的闪光点。
而不是一直在被面试官考验。。

你可以按我这个思路去面试。
祝你顺利。
hahaandyou001
2020-07-03 12:06:32 +08:00
@coderraven 谢谢你,HR 就只让我实现 1 加到 100 的和而已😂
lnim
2020-07-03 12:18:36 +08:00
可能是想用递归实现? 然后在问能否优化, 在用尾递归?
CismonX
2020-07-03 12:23:33 +08:00
可能是楼上说的等差数列,也可能是期望你给出 IntStream.rangeClosed(1, 100).sum() 的回答[狗头]
Variazioni
2020-07-03 12:31:33 +08:00
@CismonX 感谢。。头一次知道有 IntStream 这种东西。。老了老了
Vegetable
2020-07-03 12:32:05 +08:00
return 5050
Vegetable
2020-07-03 12:37:34 +08:00
说实话,我觉得这题目还是有一点意义的,很多人看到题目就知道结果是 5050,因为这个题目在低年级教育当中是很常见的,可能做过原题。
无论是等差数列的性质、还是梯形面积的(上底+下底)乘以高除以 2,都是非常常见的知识点。写个循环对方说不合适正常,不过不应该一棍子打死,应该多问两句才是。
di94sh
2020-07-03 12:39:59 +08:00
还是面少了,多面面就行了🐶,o ( 1 )的算法写成 o ( n )当然不合适,多从复杂度分析方面考虑问题
zengming00
2020-07-03 12:44:10 +08:00
无论公司有多吸引人,遇到做题直接拒绝
jackchao7432
2020-07-03 12:45:37 +08:00
@zengming00 大厂全被你给拒了,6666
ChanKc
2020-07-03 12:46:54 +08:00
这题用多层卷积神经网络就可以做出来了
首先你知道 1 到 2 的和是 3,1 到 3 的和是 6,0 到 1 的和是 1
由此你可以得到输入和输出的对应关系
[1,2] -> [3]
[1,3] -> [6]
[0,1] -> [1]

把这些数据作为训练集,然后设计一个合适的神经网络,将数据代进去做训练,得到一个训练好的模型
然后再输入
[1,100]
就可以得到结果
如果面试官说不对,那就多训练几次,得到几个不同模型,总有个对的

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

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

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

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

© 2021 V2EX