S*5
2 楼
上周二Amazon一面,面试官是个印度人,问了点基础然后问了两题,后来过了。
题目是:
Best Time to Buy and Sell Stock
Best Time to Buy and Sell Stock II
上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
差,对于底子不好的new grad是不是不可能找到工作了。
题目是:Plus one
这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
public int[] plusOne(int[] digits) {
if(digits==null || digits.length==0) return digits;
for(int i=digits.length-1;i>=0;i--){
if(digits[i]<9){
digits[i]+=1;
return digits;
}
else{
digits[i]=0;
}
}
int[] newDigits=new int[digits.length+1];
newDigits[0]=1;
return newDigits;
}
自己总结了一下,刷题的时候没有考虑过各种解法,一直就写自己理解的解法,没有深
入思考解法。除了看概念和刷题其他不知道还应该做什么。另外觉得自己面试运有点差
,我想我以后再也不会投Amazon了,和这个中国男生的面试过程中感觉压力好大,说什
么他都是很不屑的样子轻哼一声,最后时间到了就直接挂了,连问问题的机会也没有。
题目是:
Best Time to Buy and Sell Stock
Best Time to Buy and Sell Stock II
上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
差,对于底子不好的new grad是不是不可能找到工作了。
题目是:Plus one
这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
public int[] plusOne(int[] digits) {
if(digits==null || digits.length==0) return digits;
for(int i=digits.length-1;i>=0;i--){
if(digits[i]<9){
digits[i]+=1;
return digits;
}
else{
digits[i]=0;
}
}
int[] newDigits=new int[digits.length+1];
newDigits[0]=1;
return newDigits;
}
自己总结了一下,刷题的时候没有考虑过各种解法,一直就写自己理解的解法,没有深
入思考解法。除了看概念和刷题其他不知道还应该做什么。另外觉得自己面试运有点差
,我想我以后再也不会投Amazon了,和这个中国男生的面试过程中感觉压力好大,说什
么他都是很不屑的样子轻哼一声,最后时间到了就直接挂了,连问问题的机会也没有。
f*y
3 楼
FEDEX GROUND没有1 DAY
m*i
4 楼
newDigits 没有复制原来的值。这个是硬伤。面试官如果要其他方法,你该问是不是性
能更高,空间用的少?不然任何公司是make things done不要浪费时间写回字的四个写
法。
能更高,空间用的少?不然任何公司是make things done不要浪费时间写回字的四个写
法。
a*g
6 楼
马鬃二面也是电面?不是应该直接onsite了吗?
【在 S**********5 的大作中提到】
: 上周二Amazon一面,面试官是个印度人,问了点基础然后问了两题,后来过了。
: 题目是:
: Best Time to Buy and Sell Stock
: Best Time to Buy and Sell Stock II
: 上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
: 冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
: 不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
: 差,对于底子不好的new grad是不是不可能找到工作了。
: 题目是:Plus one
: 这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
【在 S**********5 的大作中提到】
: 上周二Amazon一面,面试官是个印度人,问了点基础然后问了两题,后来过了。
: 题目是:
: Best Time to Buy and Sell Stock
: Best Time to Buy and Sell Stock II
: 上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
: 冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
: 不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
: 差,对于底子不好的new grad是不是不可能找到工作了。
: 题目是:Plus one
: 这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
b*n
8 楼
感觉MM运气有点背。。
虽然没copy原来的array但是我觉得写的挺好的。
继续努力也别把亚麻一棒子打死啊,只是没碰到好的面试官。
虽然没copy原来的array但是我觉得写的挺好的。
继续努力也别把亚麻一棒子打死啊,只是没碰到好的面试官。
c*1
11 楼
ship before thursday pickup
deliver friday
baozi:)
deliver friday
baozi:)
p*g
16 楼
lz 写的一点也没问题。
原因就是面试官和楼上几位水平一样,
不知道java 数组有默认值这么一说。
所以太精通也不是好事, 呵呵。
就算你是对的, 大家不认为你对, 你也没办法。
原因就是面试官和楼上几位水平一样,
不知道java 数组有默认值这么一说。
所以太精通也不是好事, 呵呵。
就算你是对的, 大家不认为你对, 你也没办法。
p*g
17 楼
要不把你代码发HR, 投诉一下那个2B得了。
这个题根本也没啥更好的解法, 那人就是看不懂你写的而已。
这个题根本也没啥更好的解法, 那人就是看不懂你写的而已。
y*e
18 楼
lz的写法没问题吧,放到lc里一遍过了,也许有更好的办法,但这个version应该是可
以work的啊。
lz不用因为一共面试官否定一个公司,那就是和自己过不去了,亚麻的中国人挺不错的
,只是你碰巧遇到了一个爱装大尾巴狼的,整理一下心情,换个邮箱继续投~~
以work的啊。
lz不用因为一共面试官否定一个公司,那就是和自己过不去了,亚麻的中国人挺不错的
,只是你碰巧遇到了一个爱装大尾巴狼的,整理一下心情,换个邮箱继续投~~
S*5
19 楼
发给HR有用吗?已经拒了,而且我也不想去Amazon了,面完我一直没缓过来,面的时候
好想哭。
好想哭。
p*g
21 楼
管他有用没用, 2B黑你, 你就黑他。
那题没啥好优化的,就是这么个死题。
要不再版上,把面你的揪出来,
让他写个好的给大家看看,写不出来就tjjtds
那题没啥好优化的,就是这么个死题。
要不再版上,把面你的揪出来,
让他写个好的给大家看看,写不出来就tjjtds
p*t
29 楼
没觉得有什么问题,翻了下leecode我跟你解法一样~
题目又没说不让改输入~
题目又没说不让改输入~
A*e
35 楼
你首先要想清楚函数的语义是什么。
1. 返回加一后的数组,结果同时也保存在输入参数中;
2. 或者返回加一后的数组,但输入参数不受影响。
两个我认为都可以,但你要说清楚实现的是哪个。
你现在实现的函数是:
返回加一后的数组,但输入参数里的内容不确定是什么。
那么问题来了:如果之后的代码又用到这个输入参数,怎么办?做个实验就清楚了。
digits = {9,8}和{9,9},输出结果一个是9,9,一个是0,0。
Solution sol = new Solution();
int[] digits = {9, 8};
int[] result = sol.plusOne(digits);
for (int i : digits) {
System.out.print(i);
}
System.out.println();
for (int i : result) {
System.out.print(i);
}
System.out.println();
你当然也可以争论说你实现的语义是输入参数保留除进位之外的结果,但这种语义太古
怪了。
【在 S**********5 的大作中提到】
: 我不知道其他的写法,那这题应该怎么写?能不能麻烦你贴个code?非常感谢!
1. 返回加一后的数组,结果同时也保存在输入参数中;
2. 或者返回加一后的数组,但输入参数不受影响。
两个我认为都可以,但你要说清楚实现的是哪个。
你现在实现的函数是:
返回加一后的数组,但输入参数里的内容不确定是什么。
那么问题来了:如果之后的代码又用到这个输入参数,怎么办?做个实验就清楚了。
digits = {9,8}和{9,9},输出结果一个是9,9,一个是0,0。
Solution sol = new Solution();
int[] digits = {9, 8};
int[] result = sol.plusOne(digits);
for (int i : digits) {
System.out.print(i);
}
System.out.println();
for (int i : result) {
System.out.print(i);
}
System.out.println();
你当然也可以争论说你实现的语义是输入参数保留除进位之外的结果,但这种语义太古
怪了。
【在 S**********5 的大作中提到】
: 我不知道其他的写法,那这题应该怎么写?能不能麻烦你贴个code?非常感谢!
z*o
39 楼
蛮高深的,
要我就一个循环 for loop + carrier 完成。
:)
要我就一个循环 for loop + carrier 完成。
:)
S*5
40 楼
当时他没说有什么要求,我没考虑那么多。。。
但是{9,9}是返回{1,0,0}啊
【在 A*******e 的大作中提到】
: 你首先要想清楚函数的语义是什么。
: 1. 返回加一后的数组,结果同时也保存在输入参数中;
: 2. 或者返回加一后的数组,但输入参数不受影响。
: 两个我认为都可以,但你要说清楚实现的是哪个。
: 你现在实现的函数是:
: 返回加一后的数组,但输入参数里的内容不确定是什么。
: 那么问题来了:如果之后的代码又用到这个输入参数,怎么办?做个实验就清楚了。
: digits = {9,8}和{9,9},输出结果一个是9,9,一个是0,0。
: Solution sol = new Solution();
: int[] digits = {9, 8};
但是{9,9}是返回{1,0,0}啊
【在 A*******e 的大作中提到】
: 你首先要想清楚函数的语义是什么。
: 1. 返回加一后的数组,结果同时也保存在输入参数中;
: 2. 或者返回加一后的数组,但输入参数不受影响。
: 两个我认为都可以,但你要说清楚实现的是哪个。
: 你现在实现的函数是:
: 返回加一后的数组,但输入参数里的内容不确定是什么。
: 那么问题来了:如果之后的代码又用到这个输入参数,怎么办?做个实验就清楚了。
: digits = {9,8}和{9,9},输出结果一个是9,9,一个是0,0。
: Solution sol = new Solution();
: int[] digits = {9, 8};
z*o
42 楼
当然可以修改输入参数, 不让改你用 const 限制起来, 否则方法接口设计有问题。
不过这写法容易泄露内存啊,要释放掉很不直观。
不过这写法容易泄露内存啊,要释放掉很不直观。
p*g
47 楼
我保证面试官不是因为你说的这个,
就是没看懂lz的代码。
【在 A*******e 的大作中提到】
: 你首先要想清楚函数的语义是什么。
: 1. 返回加一后的数组,结果同时也保存在输入参数中;
: 2. 或者返回加一后的数组,但输入参数不受影响。
: 两个我认为都可以,但你要说清楚实现的是哪个。
: 你现在实现的函数是:
: 返回加一后的数组,但输入参数里的内容不确定是什么。
: 那么问题来了:如果之后的代码又用到这个输入参数,怎么办?做个实验就清楚了。
: digits = {9,8}和{9,9},输出结果一个是9,9,一个是0,0。
: Solution sol = new Solution();
: int[] digits = {9, 8};
就是没看懂lz的代码。
【在 A*******e 的大作中提到】
: 你首先要想清楚函数的语义是什么。
: 1. 返回加一后的数组,结果同时也保存在输入参数中;
: 2. 或者返回加一后的数组,但输入参数不受影响。
: 两个我认为都可以,但你要说清楚实现的是哪个。
: 你现在实现的函数是:
: 返回加一后的数组,但输入参数里的内容不确定是什么。
: 那么问题来了:如果之后的代码又用到这个输入参数,怎么办?做个实验就清楚了。
: digits = {9,8}和{9,9},输出结果一个是9,9,一个是0,0。
: Solution sol = new Solution();
: int[] digits = {9, 8};
j*3
52 楼
这个题楼主写的有啥问题?我咋没看出来。。
【在 S**********5 的大作中提到】
: 上周二Amazon一面,面试官是个印度人,问了点基础然后问了两题,后来过了。
: 题目是:
: Best Time to Buy and Sell Stock
: Best Time to Buy and Sell Stock II
: 上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
: 冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
: 不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
: 差,对于底子不好的new grad是不是不可能找到工作了。
: 题目是:Plus one
: 这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
【在 S**********5 的大作中提到】
: 上周二Amazon一面,面试官是个印度人,问了点基础然后问了两题,后来过了。
: 题目是:
: Best Time to Buy and Sell Stock
: Best Time to Buy and Sell Stock II
: 上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
: 冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
: 不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
: 差,对于底子不好的new grad是不是不可能找到工作了。
: 题目是:Plus one
: 这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
p*g
56 楼
A*e
57 楼
这是最基本的接口语义问题,写函数的人应该想清楚,说清楚。做不到这一点的结果就
是留下明显的bug。你说那些才是吹毛求疵。
重要的是楼主能听进去多少。你想怎么写,随便。
【在 p*********g 的大作中提到】
: 咋说呢, 這就是自以为懂, 其实是鸡毛当令箭。
: 面试的时候啥时说是公开接口呢?
: 怎么不说是web service 呢?
: 要是公开接口, 那遇到加一以后超出最大数组长度咋办?
: 你重新分配一个数组,超出java 启动时分配的最大内存咋办?
: 如果公开接口,多线程同时调用,能保证一致性吗?
: 除非需求文档说明了这个函数的使用环境,不然怎么扩大要求也无所谓了。
: 其实面试考这个,不就是做个小游戏吗,瞎上纲上线没意义。
: 真想考代码规范,直接问就好了。
是留下明显的bug。你说那些才是吹毛求疵。
重要的是楼主能听进去多少。你想怎么写,随便。
【在 p*********g 的大作中提到】
: 咋说呢, 這就是自以为懂, 其实是鸡毛当令箭。
: 面试的时候啥时说是公开接口呢?
: 怎么不说是web service 呢?
: 要是公开接口, 那遇到加一以后超出最大数组长度咋办?
: 你重新分配一个数组,超出java 启动时分配的最大内存咋办?
: 如果公开接口,多线程同时调用,能保证一致性吗?
: 除非需求文档说明了这个函数的使用环境,不然怎么扩大要求也无所谓了。
: 其实面试考这个,不就是做个小游戏吗,瞎上纲上线没意义。
: 真想考代码规范,直接问就好了。
S*5
58 楼
谢谢大家的帮助,通过大家的讨论学习了很多,感觉还是有很多不懂的地方,你们的讨
论有的我还是不太懂,我会自己去网上搜的,继续提高。
论有的我还是不太懂,我会自己去网上搜的,继续提高。
t*t
59 楼
同意你这个.
有经验的和没经验的基本上代码上还是能看出区别, 有经验的在保证正确计算的同时,
会考虑一些别的问题.
当然就这件事本身来说, 你可以觉得面试官吹毛求疵或者对新人不nice(其实哪个面试
官黑你还不知道呢). 但是从这里面能学到什么, 就是见仁见智的事情. 非要说楼主的
代码一点错都没有(based on the assumption of destroyed parameter), 逻辑上可以
, 但是又有什么好处呢?
【在 A*******e 的大作中提到】
: 这是最基本的接口语义问题,写函数的人应该想清楚,说清楚。做不到这一点的结果就
: 是留下明显的bug。你说那些才是吹毛求疵。
: 重要的是楼主能听进去多少。你想怎么写,随便。
有经验的和没经验的基本上代码上还是能看出区别, 有经验的在保证正确计算的同时,
会考虑一些别的问题.
当然就这件事本身来说, 你可以觉得面试官吹毛求疵或者对新人不nice(其实哪个面试
官黑你还不知道呢). 但是从这里面能学到什么, 就是见仁见智的事情. 非要说楼主的
代码一点错都没有(based on the assumption of destroyed parameter), 逻辑上可以
, 但是又有什么好处呢?
【在 A*******e 的大作中提到】
: 这是最基本的接口语义问题,写函数的人应该想清楚,说清楚。做不到这一点的结果就
: 是留下明显的bug。你说那些才是吹毛求疵。
: 重要的是楼主能听进去多少。你想怎么写,随便。
b*n
60 楼
问题是不是所有面试官都把这个当小游戏。。
即使是小游戏,规则也不是你定的
所以多了解一下有工作经验的人平时写代码什么习惯不是坏事
虽然我也认为如果因为这个挂了可能要求也太严格了一点
【在 p*********g 的大作中提到】
: 咋说呢, 這就是自以为懂, 其实是鸡毛当令箭。
: 面试的时候啥时说是公开接口呢?
: 怎么不说是web service 呢?
: 要是公开接口, 那遇到加一以后超出最大数组长度咋办?
: 你重新分配一个数组,超出java 启动时分配的最大内存咋办?
: 如果公开接口,多线程同时调用,能保证一致性吗?
: 除非需求文档说明了这个函数的使用环境,不然怎么扩大要求也无所谓了。
: 其实面试考这个,不就是做个小游戏吗,瞎上纲上线没意义。
: 真想考代码规范,直接问就好了。
即使是小游戏,规则也不是你定的
所以多了解一下有工作经验的人平时写代码什么习惯不是坏事
虽然我也认为如果因为这个挂了可能要求也太严格了一点
【在 p*********g 的大作中提到】
: 咋说呢, 這就是自以为懂, 其实是鸡毛当令箭。
: 面试的时候啥时说是公开接口呢?
: 怎么不说是web service 呢?
: 要是公开接口, 那遇到加一以后超出最大数组长度咋办?
: 你重新分配一个数组,超出java 启动时分配的最大内存咋办?
: 如果公开接口,多线程同时调用,能保证一致性吗?
: 除非需求文档说明了这个函数的使用环境,不然怎么扩大要求也无所谓了。
: 其实面试考这个,不就是做个小游戏吗,瞎上纲上线没意义。
: 真想考代码规范,直接问就好了。
S*5
63 楼
思前想后我决定投诉这个面试官,万一下次哪个MM也碰到他估计也要看他脸色,那45分
钟太难熬了,他的态度实在太让人受不了了,现在想起来我都觉得难以接受,找工作跟
要饭一样没有尊严,之前面试碰到的烙印态度也没这样的。
钟太难熬了,他的态度实在太让人受不了了,现在想起来我都觉得难以接受,找工作跟
要饭一样没有尊严,之前面试碰到的烙印态度也没这样的。
s*e
65 楼
支持楼主投诉,大家都集中在讨论题目上,在我看来对一个新人在那么短的面试过程中
这个表现太mean了,如果觉得有不对的地方面试官为什么不直接指出?而让对方一直猜
直到把面试时间都耗完为止。国人面试官中喜欢刁难人的也有,这个就是个例子。
我也感觉是面试官水平太差没看懂她写的代码,不是上面各位讨论的这个问题,当然上
面提出的问题需要楼主学习,但是面试中深的一层恐怕这个面试官没这个水平考虑到这
层。
另外面试官的态度绝对有问题,仗着自己是面试官居高临下的态度绝对不可取!楼上几
位资深大牛看到楼主有需要学习的地方就帮忙分析,都是本着帮新人的态度。而这个面
试官除了刁难我没看到有任何帮助新人的地方,而且非常刁难,这种态度就应该投诉。
这个表现太mean了,如果觉得有不对的地方面试官为什么不直接指出?而让对方一直猜
直到把面试时间都耗完为止。国人面试官中喜欢刁难人的也有,这个就是个例子。
我也感觉是面试官水平太差没看懂她写的代码,不是上面各位讨论的这个问题,当然上
面提出的问题需要楼主学习,但是面试中深的一层恐怕这个面试官没这个水平考虑到这
层。
另外面试官的态度绝对有问题,仗着自己是面试官居高临下的态度绝对不可取!楼上几
位资深大牛看到楼主有需要学习的地方就帮忙分析,都是本着帮新人的态度。而这个面
试官除了刁难我没看到有任何帮助新人的地方,而且非常刁难,这种态度就应该投诉。
a*u
66 楼
w*1
68 楼
LZ运气还不错了,我马鬃二面是烙印,一个spiral matrix,再加一个设计题,说话口
音本来就很难理解了,还都是这种巨花时间的题,一面的东欧小哥倒还是很不错的
我也是new grad,第一个还差不多时间做完了,第二个设计题思路倒是对了,但根本写
不完,要写两个function,最后也是挂了。一有点bug烙印就说,I dont't think that
work...
不过本来也只是用他家来看一看面试是什么情况的,第一个面的就是他家,裸面。。。。
就算去了他家,估计一年后也要跳,他家待遇好像比其他要差蛮多,而且我问了一下烙
印工作环境的情况,说一层楼几百个cube。。。同事之间是打电话交流的。。。听了我
都不想去
【在 S**********5 的大作中提到】
: 上周二Amazon一面,面试官是个印度人,问了点基础然后问了两题,后来过了。
: 题目是:
: Best Time to Buy and Sell Stock
: Best Time to Buy and Sell Stock II
: 上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
: 冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
: 不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
: 差,对于底子不好的new grad是不是不可能找到工作了。
: 题目是:Plus one
: 这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
音本来就很难理解了,还都是这种巨花时间的题,一面的东欧小哥倒还是很不错的
我也是new grad,第一个还差不多时间做完了,第二个设计题思路倒是对了,但根本写
不完,要写两个function,最后也是挂了。一有点bug烙印就说,I dont't think that
work...
不过本来也只是用他家来看一看面试是什么情况的,第一个面的就是他家,裸面。。。。
就算去了他家,估计一年后也要跳,他家待遇好像比其他要差蛮多,而且我问了一下烙
印工作环境的情况,说一层楼几百个cube。。。同事之间是打电话交流的。。。听了我
都不想去
【在 S**********5 的大作中提到】
: 上周二Amazon一面,面试官是个印度人,问了点基础然后问了两题,后来过了。
: 题目是:
: Best Time to Buy and Sell Stock
: Best Time to Buy and Sell Stock II
: 上周五Amazon的二面,面试官终于碰到中国人了,本来还挺高兴的,结果面试中他一直
: 冷笑很不屑的样子,后来出的LC的简单题,题做完后他说不是他要的解法,让再写两种
: 不同的解法,没写出来,后来45分钟就做了一题。今天HR通知挂了。好郁闷,面试运好
: 差,对于底子不好的new grad是不是不可能找到工作了。
: 题目是:Plus one
: 这是我写的,请大家指点下哪里可以提高的,另外还有什么写法。
t*5
69 楼
很有可能是面试官没看懂,认为你这个不work。
我也看了很久(我本身很水而且很久没写java),因为你最后新建一个数组利用默认值
然后把[0]加一的做法我之前没想到过,所以我看了很久才明白,一开始我也以为你写的
是错的。作为面试官我认为正常情况下如果我看完这段代码没懂我会让candidate解释
清楚一下,弄清楚了之后肯定会让过,没有理由不给过。当然如果面试官没看懂的话(
很有可能)就很容易挂掉你……
另一个方面,你这个做法确实有问题,你不应该更改输入数组,如果你要更改的话更改
后的值应该是一个正确的数组而不是一个partial的数组,比如[9,9] -> [1,0,0]。但
是你的修改后的结果是[0,0],这个作为工作中的代码是非常危险的,而且极难debug。
按照你的代码,现在你修改了原数组,然后还建立了一个新的数组,这个作为
production的代码后面的人读起来容易confuse,好的代码最好是straightforward and
self-explained。这题我建议你要么修改原数组返回[1,0,0]这种,或者遍历原数组然
后把算过的值放到新数组里面。
当然上面的这一段都是基于写好的代码提出的建议。
回到面试的问题上,如果楼主是new grad,我觉得作为面试官我一定会给过,代码规范
这种东西如果是工作了很多年的还写这种代码肯定是不行的,但是楼主作为new grad我
应该作为这个点被挂掉。
再回到面试的问题上,当时面试官让你用别的方法写的时候,你应该先解释为何你的代
码是正确的,然后如果面试官坚持,就问面试官想要什么样的代码(当然你要自己提出
可行的解决方案,比如in-place & return same array 或者create & return new
array)。不知道楼主后来是怎么处理面试官的质疑的,所以我也不好说。
建议:给recruiter发邮件,说写的是对的,不知道为什么不给过,告诉recruiter如果
feedback是因为代码不work,让他们重新evaluate。
我也看了很久(我本身很水而且很久没写java),因为你最后新建一个数组利用默认值
然后把[0]加一的做法我之前没想到过,所以我看了很久才明白,一开始我也以为你写的
是错的。作为面试官我认为正常情况下如果我看完这段代码没懂我会让candidate解释
清楚一下,弄清楚了之后肯定会让过,没有理由不给过。当然如果面试官没看懂的话(
很有可能)就很容易挂掉你……
另一个方面,你这个做法确实有问题,你不应该更改输入数组,如果你要更改的话更改
后的值应该是一个正确的数组而不是一个partial的数组,比如[9,9] -> [1,0,0]。但
是你的修改后的结果是[0,0],这个作为工作中的代码是非常危险的,而且极难debug。
按照你的代码,现在你修改了原数组,然后还建立了一个新的数组,这个作为
production的代码后面的人读起来容易confuse,好的代码最好是straightforward and
self-explained。这题我建议你要么修改原数组返回[1,0,0]这种,或者遍历原数组然
后把算过的值放到新数组里面。
当然上面的这一段都是基于写好的代码提出的建议。
回到面试的问题上,如果楼主是new grad,我觉得作为面试官我一定会给过,代码规范
这种东西如果是工作了很多年的还写这种代码肯定是不行的,但是楼主作为new grad我
应该作为这个点被挂掉。
再回到面试的问题上,当时面试官让你用别的方法写的时候,你应该先解释为何你的代
码是正确的,然后如果面试官坚持,就问面试官想要什么样的代码(当然你要自己提出
可行的解决方案,比如in-place & return same array 或者create & return new
array)。不知道楼主后来是怎么处理面试官的质疑的,所以我也不好说。
建议:给recruiter发邮件,说写的是对的,不知道为什么不给过,告诉recruiter如果
feedback是因为代码不work,让他们重新evaluate。
S*5
70 楼
谢谢你详细的解释,我以后面试的时候会注意。
关于面试官交流的部分,我试图和他交流,我也问了关于其他解法有什么要求,他什么
也没说就说是我该考虑的问题,之前问他什么也是很不屑不愿意交流的样子。
我会投诉他的态度,至于能不能再给面试机会也无所谓了。
【在 t********5 的大作中提到】
: 很有可能是面试官没看懂,认为你这个不work。
: 我也看了很久(我本身很水而且很久没写java),因为你最后新建一个数组利用默认值
: 然后把[0]加一的做法我之前没想到过,所以我看了很久才明白,一开始我也以为你写的
: 是错的。作为面试官我认为正常情况下如果我看完这段代码没懂我会让candidate解释
: 清楚一下,弄清楚了之后肯定会让过,没有理由不给过。当然如果面试官没看懂的话(
: 很有可能)就很容易挂掉你……
: 另一个方面,你这个做法确实有问题,你不应该更改输入数组,如果你要更改的话更改
: 后的值应该是一个正确的数组而不是一个partial的数组,比如[9,9] -> [1,0,0]。但
: 是你的修改后的结果是[0,0],这个作为工作中的代码是非常危险的,而且极难debug。
: 按照你的代码,现在你修改了原数组,然后还建立了一个新的数组,这个作为
关于面试官交流的部分,我试图和他交流,我也问了关于其他解法有什么要求,他什么
也没说就说是我该考虑的问题,之前问他什么也是很不屑不愿意交流的样子。
我会投诉他的态度,至于能不能再给面试机会也无所谓了。
【在 t********5 的大作中提到】
: 很有可能是面试官没看懂,认为你这个不work。
: 我也看了很久(我本身很水而且很久没写java),因为你最后新建一个数组利用默认值
: 然后把[0]加一的做法我之前没想到过,所以我看了很久才明白,一开始我也以为你写的
: 是错的。作为面试官我认为正常情况下如果我看完这段代码没懂我会让candidate解释
: 清楚一下,弄清楚了之后肯定会让过,没有理由不给过。当然如果面试官没看懂的话(
: 很有可能)就很容易挂掉你……
: 另一个方面,你这个做法确实有问题,你不应该更改输入数组,如果你要更改的话更改
: 后的值应该是一个正确的数组而不是一个partial的数组,比如[9,9] -> [1,0,0]。但
: 是你的修改后的结果是[0,0],这个作为工作中的代码是非常危险的,而且极难debug。
: 按照你的代码,现在你修改了原数组,然后还建立了一个新的数组,这个作为
S*5
71 楼
对烙印都有心里准备了,烙印本来就对中国人不友好。本来觉得遇到国人运气挺好的
肯定不会像烙印那样,结果态度比烙印还恶劣,这个面试真煎熬。
that
。。
【在 w*****1 的大作中提到】
: LZ运气还不错了,我马鬃二面是烙印,一个spiral matrix,再加一个设计题,说话口
: 音本来就很难理解了,还都是这种巨花时间的题,一面的东欧小哥倒还是很不错的
: 我也是new grad,第一个还差不多时间做完了,第二个设计题思路倒是对了,但根本写
: 不完,要写两个function,最后也是挂了。一有点bug烙印就说,I dont't think that
: work...
: 不过本来也只是用他家来看一看面试是什么情况的,第一个面的就是他家,裸面。。。。
: 就算去了他家,估计一年后也要跳,他家待遇好像比其他要差蛮多,而且我问了一下烙
: 印工作环境的情况,说一层楼几百个cube。。。同事之间是打电话交流的。。。听了我
: 都不想去
肯定不会像烙印那样,结果态度比烙印还恶劣,这个面试真煎熬。
that
。。
【在 w*****1 的大作中提到】
: LZ运气还不错了,我马鬃二面是烙印,一个spiral matrix,再加一个设计题,说话口
: 音本来就很难理解了,还都是这种巨花时间的题,一面的东欧小哥倒还是很不错的
: 我也是new grad,第一个还差不多时间做完了,第二个设计题思路倒是对了,但根本写
: 不完,要写两个function,最后也是挂了。一有点bug烙印就说,I dont't think that
: work...
: 不过本来也只是用他家来看一看面试是什么情况的,第一个面的就是他家,裸面。。。。
: 就算去了他家,估计一年后也要跳,他家待遇好像比其他要差蛮多,而且我问了一下烙
: 印工作环境的情况,说一层楼几百个cube。。。同事之间是打电话交流的。。。听了我
: 都不想去
g*y
72 楼
我也看了很久才看明白, 如果我是面试官最大的可能是根本没看出来这个是对的,就算看
出来是对的,也会猜这是刷题的结果,因为正常人第一遍做肯定不会跳过数组拷贝这一步
. loop加上carry标记然后最后数组拷贝是正常情况下首先会想到的.
写的
【在 t********5 的大作中提到】
: 很有可能是面试官没看懂,认为你这个不work。
: 我也看了很久(我本身很水而且很久没写java),因为你最后新建一个数组利用默认值
: 然后把[0]加一的做法我之前没想到过,所以我看了很久才明白,一开始我也以为你写的
: 是错的。作为面试官我认为正常情况下如果我看完这段代码没懂我会让candidate解释
: 清楚一下,弄清楚了之后肯定会让过,没有理由不给过。当然如果面试官没看懂的话(
: 很有可能)就很容易挂掉你……
: 另一个方面,你这个做法确实有问题,你不应该更改输入数组,如果你要更改的话更改
: 后的值应该是一个正确的数组而不是一个partial的数组,比如[9,9] -> [1,0,0]。但
: 是你的修改后的结果是[0,0],这个作为工作中的代码是非常危险的,而且极难debug。
: 按照你的代码,现在你修改了原数组,然后还建立了一个新的数组,这个作为
出来是对的,也会猜这是刷题的结果,因为正常人第一遍做肯定不会跳过数组拷贝这一步
. loop加上carry标记然后最后数组拷贝是正常情况下首先会想到的.
写的
【在 t********5 的大作中提到】
: 很有可能是面试官没看懂,认为你这个不work。
: 我也看了很久(我本身很水而且很久没写java),因为你最后新建一个数组利用默认值
: 然后把[0]加一的做法我之前没想到过,所以我看了很久才明白,一开始我也以为你写的
: 是错的。作为面试官我认为正常情况下如果我看完这段代码没懂我会让candidate解释
: 清楚一下,弄清楚了之后肯定会让过,没有理由不给过。当然如果面试官没看懂的话(
: 很有可能)就很容易挂掉你……
: 另一个方面,你这个做法确实有问题,你不应该更改输入数组,如果你要更改的话更改
: 后的值应该是一个正确的数组而不是一个partial的数组,比如[9,9] -> [1,0,0]。但
: 是你的修改后的结果是[0,0],这个作为工作中的代码是非常危险的,而且极难debug。
: 按照你的代码,现在你修改了原数组,然后还建立了一个新的数组,这个作为
l*o
73 楼
面试官还会管你刷不刷题?
l*v
74 楼
我也怀疑是面试官没看懂,你这个解法其实不太直观,有点费脑。
J*o
75 楼
看了大牛的讨论获益匪浅啊, 以后面试还是先和面试官达成一致之后再写code, 不过
这种态度也没法讨论
这种态度也没法讨论
x*1
76 楼
直接爆名字。谁?
i*h
79 楼
这个简单题的考点就是进位,楼主的写法没有错,新建一个array,后面取默认值。关
键是面试官无法沟通,否则最后3行代码一解释就能理解。面试题和product code不同
,就像实际工作中很多都不建议甚至不允许用recursive call,但是面试中有的就要求
用recursion。
这题作为面试题尽量追求in place不是什么大问题,不用这么上纲上线的。
键是面试官无法沟通,否则最后3行代码一解释就能理解。面试题和product code不同
,就像实际工作中很多都不建议甚至不允许用recursive call,但是面试中有的就要求
用recursion。
这题作为面试题尽量追求in place不是什么大问题,不用这么上纲上线的。
相关阅读
pinterest on-site你软这个是真的? (转载)请大牛解释一下leetcode新题请问有没有oracle headquarter 400楼的同学想转组的?Top K in last minute/hour/day 有什么好的思路吗可以帮助内推Groupon[面经]YELP家不刷题的惨烈后果屋漏偏逢连夜雨阿求fitbit jawbone myfitnesspal 内推Construct Binary Tree from Preorder and Inorder Traversal算法复杂度?H1B到今天还没出结果!电话里口头通知给实习的offer, 可一直没信, 怎么办?怎么算是full stack developer了onsite之后多久会有消息?西雅图的Startup寻找前端,后端和网页设计人员Staffing Recruiter from linkedin 来信不明白“整数流的中位数”为啥用max heap和min heap比binary sort 好有在Symantec的吗?Uber在加州都被sue了?月经贴:我要不要人品自杀,图个最后的辉煌? (转载)