由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 被G电面给毙了
相关主题
请假大家一道BB的题4sum o(n^2)超时
一道电面题,分享下, 这个题应该用哪几个data structure?杯具!越改越差
leetcode 129Leetcode的系统真是弱爆了
word ladder ii 谁给个大oj不超时的?WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。
leetcode 上 wordladderII 求教Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?
Second round phone interview with eBay这段word ladder II怎么改?
灭三哥也不容易微软有组在招new grad software engineer吗?
leetcode出了新题word ladderword ladder 时间空间复杂度是多少, bfs 解的
相关话题的讨论汇总
话题: string话题: list话题: arraylist话题: hashset话题: str
进入JobHunting版参与讨论
1 (共1页)
A****0
发帖数: 1073
1
上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
-functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
电话说依然被拒。。。
我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。
l*****a
发帖数: 14598
2
bless
上你的code看看吧
另外google真的不需要什么人,招人都是装样子
你去申FL不好吗?

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

d********t
发帖数: 9628
3
简历不行?面试走个过场。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

F**********t
发帖数: 80
4
觉得sf各大startup是这么干的。。。

【在 d********t 的大作中提到】
: 简历不行?面试走个过场。
:
: non
: HR

A****0
发帖数: 1073
5
上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
还有什么地方可以再改进的了。。。
职位是Kirkland的。
import java.util.*;
public static ArrayList RemoveDup(List list){
if(list == null)
return null;
ArrayList result = new ArrayList();
HashSet set = new HashSet();
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
}
return result;
}

【在 l*****a 的大作中提到】
: bless
: 上你的code看看吧
: 另外google真的不需要什么人,招人都是装样子
: 你去申FL不好吗?
:
: non
: HR

A****0
发帖数: 1073
6
简历上有个致命伤——在微软Windows做过一年SDET,但现已经在微软Bing组当SDE近一
年了

【在 d********t 的大作中提到】
: 简历不行?面试走个过场。
:
: non
: HR

l*****a
发帖数: 14598
7
there are a few issues

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
A****0
发帖数: 1073
8
请赐教,真的很想知道如何改正

【在 l*****a 的大作中提到】
: there are a few issues
y******0
发帖数: 93
9
的确是有几个问题。

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
l*****a
发帖数: 14598
10
1) obviously u are confused about class and interface
when should u use List, when should u use ArrayList
when should u use Set and when should u use HashSet
2) if u r using set, you can return new ArrayList(set) directly
no need to use result
import java.util.*;
public static ArrayList RemoveDup(List list){
if(list == null)
return null;
ArrayList result = new ArrayList();
HashSet set = new HashSet();
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
}
return result;
}

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
相关主题
Second round phone interview with eBay4sum o(n^2)超时
灭三哥也不容易杯具!越改越差
leetcode出了新题word ladderLeetcode的系统真是弱爆了
进入JobHunting版参与讨论
h*******e
发帖数: 1377
11
还有更简的~~~方法。
l*****a
发帖数: 14598
12
for(int i=0;i String str = list.get(i);
this is ok,but maybe it is better to use
for(String str:list)

【在 l*****a 的大作中提到】
: 1) obviously u are confused about class and interface
: when should u use List, when should u use ArrayList
: when should u use Set and when should u use HashSet
: 2) if u r using set, you can return new ArrayList(set) directly
: no need to use result
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();

l*****a
发帖数: 14598
13
请赐教.

【在 h*******e 的大作中提到】
: 还有更简的~~~方法。
A****0
发帖数: 1073
14
这只是个syntactic sugar,而且JDK 1.4以前的版本也不支持啊

【在 l*****a 的大作中提到】
: 请赐教.
h*******e
发帖数: 1377
15
好吧。。。没有了,看错了以为类似 leetcode rmv duplicate 呢。如果全局
duplicate那就是hash要么 如果是adjacent duplicate 就是curI 1开始 size 结束,
curI-1 curI, newI三个指针就行吧。

【在 l*****a 的大作中提到】
: 请赐教.
P**********r
发帖数: 755
16
俺昨天写了一个x^y
然后还讲了N个数取topK
杯具的是我居然把quickselect的复杂度讲成了NlogN。求扇耳光
l***4
发帖数: 1788
17
ArrayList result = new ArrayList();
HashSet set = new HashSet();
这两个应该是:
List result = new ArrayList();
Set set = new HashSet();
这样比较好吧,用多态

【在 A****0 的大作中提到】
: 这只是个syntactic sugar,而且JDK 1.4以前的版本也不支持啊
A****0
发帖数: 1073
18
这个题最近也常见啊 logN

【在 P**********r 的大作中提到】
: 俺昨天写了一个x^y
: 然后还讲了N个数取topK
: 杯具的是我居然把quickselect的复杂度讲成了NlogN。求扇耳光

A****0
发帖数: 1073
19
难道这就是G拒人的理由啊。。。

【在 l***4 的大作中提到】
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: 这两个应该是:
: List result = new ArrayList();
: Set set = new HashSet();
: 这样比较好吧,用多态

l***4
发帖数: 1788
20
也可能根本不缺人。

【在 A****0 的大作中提到】
: 难道这就是G拒人的理由啊。。。
相关主题
WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。微软有组在招new grad software engineer吗?
Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?word ladder 时间空间复杂度是多少, bfs 解的
这段word ladder II怎么改?问一个时间复杂度的问题,求教求教
进入JobHunting版参与讨论
A****0
发帖数: 1073
21
十分感谢!
可问题是,function的signature是面试官给的啊。。我只能如此写下去。
可能真的要用return new ArrayList(set);?

【在 l*****a 的大作中提到】
: 1) obviously u are confused about class and interface
: when should u use List, when should u use ArrayList
: when should u use Set and when should u use HashSet
: 2) if u r using set, you can return new ArrayList(set) directly
: no need to use result
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();

h*********o
发帖数: 230
22
也可能你没说不用额外空间的做法??
a******u
发帖数: 14
23
SET并不是写Test case的,你举那么多例子很可能浪费时间了。
A****0
发帖数: 1073
24
我讲了三种方法:
1) brute force,需要O(N^2)时间和O(1)空间
2) sorting然后remove dup,需要O(nlogn)时间和O(1)空间,但他后来说要保证list的
顺序与原list相同,所以这个方法不行
3) 额外空间,需要O(N)时间和O(N)时间
都说到了的

【在 h*********o 的大作中提到】
: 也可能你没说不用额外空间的做法??
p****e
发帖数: 3548
25
看看人家讨论吧
http://stackoverflow.com/questions/14040331/remove-duplicate-st
就是
set.addall(string);
return list(set);
你的解法是contains call了两次

【在 A****0 的大作中提到】
: 十分感谢!
: 可问题是,function的signature是面试官给的啊。。我只能如此写下去。
: 可能真的要用return new ArrayList(set);?

A****0
发帖数: 1073
26
是面试官让我写test case的,
面试官:请写一些test case
我:blackbox or whitebox?
面试官:blackbox
我:functional or non-functional
面试官:functional
然后就开始写,写了20个test case后他说好了,我们已经有足够的test case了,时间
也差不多了

【在 a******u 的大作中提到】
: SET并不是写Test case的,你举那么多例子很可能浪费时间了。
f******o
发帖数: 1505
27
我也发现了现在 google 是这么个风格,用巨简单的题来考你。一样能在鸡蛋里挑着骨
头。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

A****0
发帖数: 1073
28
这个真的是我的误区,感谢!
看来用LinkedHashSet可以maintain order

【在 p****e 的大作中提到】
: 看看人家讨论吧
: http://stackoverflow.com/questions/14040331/remove-duplicate-st
: 就是
: set.addall(string);
: return list(set);
: 你的解法是contains call了两次

m*****n
发帖数: 204
29
The interviewer might be picky with a simple question like this.
Your code has a few style issues that make you look amateurish in
picky eyes: 8-)
You may want to re-read Effective Java and search for Java
coding style on the web.
import java.util.*; // Wildcard import not good.
public static ArrayList RemoveDup(List list){
// RemoveDup: method name should start with lower case char
// (List list): either change this to ArrayList or change
// the for-loop with list.get(i) to for-each. Your signature
// does not say list must be ArrayList, so someone can pass in
// a long linked list and break your code at list.get(i)

if(list == null)
return null; // Convention is to return empty container.
ArrayList result = new ArrayList(); // If no order-
preserving request, this list is not necessary.
HashSet set = new HashSet();
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
// body of loop can be changed to:
// if (set.add(str)) result.add(str);
}
return result;
}

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
A****0
发帖数: 1073
30
万分感谢!
其实function Signature是他写的
有order preserving的要求

【在 m*****n 的大作中提到】
: The interviewer might be picky with a simple question like this.
: Your code has a few style issues that make you look amateurish in
: picky eyes: 8-)
: You may want to re-read Effective Java and search for Java
: coding style on the web.
: import java.util.*; // Wildcard import not good.
: public static ArrayList RemoveDup(List list){
: // RemoveDup: method name should start with lower case char
: // (List list): either change this to ArrayList or change
: // the for-loop with list.get(i) to for-each. Your signature

相关主题
DB面经一道电面题,分享下, 这个题应该用哪几个data structure?
讨论下lc最新的那道hard题吧leetcode 129
请假大家一道BB的题word ladder ii 谁给个大oj不超时的?
进入JobHunting版参与讨论
s********r
发帖数: 176
31
这就是只会涮题的结果,OO中的polymophsm 根本就不清楚,拒你是有原因的。还有,
现在都Java8 了好伐, 至少也得看看java 7的新的东东吧,
HashSet set = new HashSet(); // should be coded as
Set set = new HashSet<>();
还有其他的问题,大家也说了。一起加油吧!
n*****n
发帖数: 5277
32
ding
y**********a
发帖数: 824
33
public static List RemoveDup(List list){
return new ArrayList(new LinkedHashSet(list));
}
y***n
发帖数: 1594
34
这个和前几天那个清华的贴那个更不合理。。
y***n
发帖数: 1594
35
微软也都写Java吗,楼主可能对Java的API没有那么熟。

【在 A****0 的大作中提到】
: 简历上有个致命伤——在微软Windows做过一年SDET,但现已经在微软Bing组当SDE近一
: 年了

m****v
发帖数: 88
36
one question is not enough man
l***c
发帖数: 55
37
这个是哪个帖子?
还没看到过。

【在 y***n 的大作中提到】
: 这个和前几天那个清华的贴那个更不合理。。
A****0
发帖数: 1073
38
平时用的是C#,为了G拿Java苦练刷题

【在 y***n 的大作中提到】
: 微软也都写Java吗,楼主可能对Java的API没有那么熟。
y***n
发帖数: 1594
39
是不是c++比较中性话一点。。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
A****0
发帖数: 1073
40
不觉得,C++的memory leak太难办了,没GC不好用。

【在 y***n 的大作中提到】
: 是不是c++比较中性话一点。。
相关主题
word ladder ii 谁给个大oj不超时的?灭三哥也不容易
leetcode 上 wordladderII 求教leetcode出了新题word ladder
Second round phone interview with eBay4sum o(n^2)超时
进入JobHunting版参与讨论
y***n
发帖数: 1594
41
仅仅针对刷题。

【在 A****0 的大作中提到】
: 不觉得,C++的memory leak太难办了,没GC不好用。
A****0
发帖数: 1073
42
那感觉还好,不用考虑那么多polymorphism。

【在 y***n 的大作中提到】
: 仅仅针对刷题。
A*****i
发帖数: 3587
43
这跟只会刷题没有任何关系。
这人就是nitpick,至于多态你真是想多了。
人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。



【在 s********r 的大作中提到】
: 这就是只会涮题的结果,OO中的polymophsm 根本就不清楚,拒你是有原因的。还有,
: 现在都Java8 了好伐, 至少也得看看java 7的新的东东吧,
: HashSet set = new HashSet(); // should be coded as
: Set set = new HashSet<>();
: 还有其他的问题,大家也说了。一起加油吧!

y***n
发帖数: 1594
44
Re 这个,终于找到一个说出我不敢说出来的人了。。

【在 A*****i 的大作中提到】
: 这跟只会刷题没有任何关系。
: 这人就是nitpick,至于多态你真是想多了。
: 人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。
:
: ,

l*****a
发帖数: 14598
45
他说得没错阿
OO的原则就是programming to interface

【在 A*****i 的大作中提到】
: 这跟只会刷题没有任何关系。
: 这人就是nitpick,至于多态你真是想多了。
: 人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。
:
: ,

g**e
发帖数: 6127
46
LZ那段代码真做CR会被挑一堆毛病,没通过电面不算冤

【在 l*****a 的大作中提到】
: 他说得没错阿
: OO的原则就是programming to interface

c******f
发帖数: 243
47
这code过不了CR
interface
for loop用index了
java 1.7用 <>了
c******f
发帖数: 243
48
我以前被CR,就被挑过这些毛病
A****0
发帖数: 1073
49
的确,看来刷题练习时要用Checkstyle

【在 c******f 的大作中提到】
: 这code过不了CR
: interface
: for loop用index了
: java 1.7用 <>了

A*****i
发帖数: 3587
50
你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
的。
就第一句判断object是不是null的,我们production里从来不会那么做。
因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

【在 l*****a 的大作中提到】
: 他说得没错阿
: OO的原则就是programming to interface

相关主题
杯具!越改越差Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?
Leetcode的系统真是弱爆了这段word ladder II怎么改?
WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。微软有组在招new grad software engineer吗?
进入JobHunting版参与讨论
y******0
发帖数: 93
51
你可能碰到了哪个兄弟的绿卡广告。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

A****0
发帖数: 1073
52
感觉prod code里如果method是public的,也要做null check(因为你不知道谁会叫这
个method)
当然private的就不用了。

【在 A*****i 的大作中提到】
: 你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
: 的。
: 就第一句判断object是不是null的,我们production里从来不会那么做。
: 因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
: 的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
: convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

D****g
发帖数: 6
53

I had the same question from Google yesterday interviewing for TPM position.
There is a problem using for loop instead of while. In my case, it clearly
asks for the List as the input parameter. Thus, the worst using for loop
will be n^2 instead of n. We had some good discussion, and with the hint
from the interviewer, it makes sense to use iterator. I finished the problem
in about 30 minutes and then move on the next level of this question, which
removes the duplicates if the element in the list occurs n times, n as the
second input in the function.

【在 y******0 的大作中提到】
: 的确是有几个问题。
h*****a
发帖数: 1718
54
既然是面SET悲剧,更可能是test case的问题吧

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

h*****a
发帖数: 1718
55
不要忽视这种小地方啊。这种多态的code如果没用最base的type在FLG这样的公司里是
肯定过不了code review的。
其实这种code现在都应该用Guava.不会Guava说不定会被Google认为是一个weakness.

【在 A*****i 的大作中提到】
: 这跟只会刷题没有任何关系。
: 这人就是nitpick,至于多态你真是想多了。
: 人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。
:
: ,

h*****a
发帖数: 1718
56
你说的也不一定啊。光写一个API的话,你是没有什么calling convention保证输入参
数的有效性的。所以做参数的check是一个面试考察的基本点。
至于真正的production code,比较好的写法都是用Google library的Preconditions,
要比lz的写法简洁一些。这些很多时候是用来检验candidate的coding是不是真正比较
熟练的。

【在 A*****i 的大作中提到】
: 你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
: 的。
: 就第一句判断object是不是null的,我们production里从来不会那么做。
: 因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
: 的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
: convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

A*****i
发帖数: 3587
57
我只说我们的prod code,我们是写node的
G家不是号称不在乎语言么,我觉得问算法主要就是考察逻辑有没有bug。要是专门为了
考察convention不如出个改错题不是更直观?

【在 h*****a 的大作中提到】
: 你说的也不一定啊。光写一个API的话,你是没有什么calling convention保证输入参
: 数的有效性的。所以做参数的check是一个面试考察的基本点。
: 至于真正的production code,比较好的写法都是用Google library的Preconditions,
: 要比lz的写法简洁一些。这些很多时候是用来检验candidate的coding是不是真正比较
: 熟练的。

w*********7
发帖数: 19
58
很有可能你没有specific题目的情况~~比如,有没有限制多余的存储空间,大多数有可
能希望只允许个别存储变量,不允许额外的O(n)的存储,那么这样的话就不能用
Hashmap或hashset了。还有他是array还是arraylist,因为array牵涉到移动位置的问
题会相对arraylist要考虑的更多。还有你有没有和他讨论有没有其他的解决方法,这
题应该有很多方法的。最最重要的是,你是不是一看到题就开始编了,一般至少要讨论
一下,几种方法,然后你挑一种方法,解释你为什么用这个方法,然后反问面试官我按
这个算法准备开始编程了,你有没有什么question or suggestion?一般这时如果你的
想法不错他就会说go ahead, 如果有问题面试官大多都会引导说,你的time
compexity是多少, 有没有更好的方法之类的~~~我感觉这题他很有可能问相对难一些
的做法,比如只允许用少量变量,不能额外的O(n)存储,然后是存有string的array
(不是arraylist),就相对会难一些些~~

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

e***g
发帖数: 1696
59
就是不想招人,但是HR得找点事做。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

h*******e
发帖数: 1377
60
很多公司的code review标准不一样啊,据说g还有每行代码最大字符数的限制~~
这个面试要求这些,小公司代码标准比较loose的怎么办哦。

【在 h*****a 的大作中提到】
: 你说的也不一定啊。光写一个API的话,你是没有什么calling convention保证输入参
: 数的有效性的。所以做参数的check是一个面试考察的基本点。
: 至于真正的production code,比较好的写法都是用Google library的Preconditions,
: 要比lz的写法简洁一些。这些很多时候是用来检验candidate的coding是不是真正比较
: 熟练的。

相关主题
word ladder 时间空间复杂度是多少, bfs 解的讨论下lc最新的那道hard题吧
问一个时间复杂度的问题,求教求教请假大家一道BB的题
DB面经一道电面题,分享下, 这个题应该用哪几个data structure?
进入JobHunting版参与讨论
A*****i
发帖数: 3587
61
字符限制很多公司都有我们也做限制,这些东西都是lint干的

【在 h*******e 的大作中提到】
: 很多公司的code review标准不一样啊,据说g还有每行代码最大字符数的限制~~
: 这个面试要求这些,小公司代码标准比较loose的怎么办哦。

h*****a
发帖数: 1718
62
G是不在乎语言,但既然用Java回答问题,code就要符合Java的规范。而且写public
API的话,不check输入参数肯定是bug啊。bug free就是要对所有可能输入有正确的输
出,runtime exception是肯定不算正确输出的。
当然,这些确实都是小节。但也都是interview所考察的,大家还是重视这些细节为好。

【在 A*****i 的大作中提到】
: 我只说我们的prod code,我们是写node的
: G家不是号称不在乎语言么,我觉得问算法主要就是考察逻辑有没有bug。要是专门为了
: 考察convention不如出个改错题不是更直观?

h*****a
发帖数: 1718
63
字符限制和bug不一样,一般不是面试考察的。
小公司确实可能不重视这种coding style上比较细节的东西。甚至可能因为你写的太学
院风格而锯掉。所以具体情况要具体分析。

【在 h*******e 的大作中提到】
: 很多公司的code review标准不一样啊,据说g还有每行代码最大字符数的限制~~
: 这个面试要求这些,小公司代码标准比较loose的怎么办哦。

l***4
发帖数: 1788
64
大牛来啦

好。

【在 h*****a 的大作中提到】
: G是不在乎语言,但既然用Java回答问题,code就要符合Java的规范。而且写public
: API的话,不check输入参数肯定是bug啊。bug free就是要对所有可能输入有正确的输
: 出,runtime exception是肯定不算正确输出的。
: 当然,这些确实都是小节。但也都是interview所考察的,大家还是重视这些细节为好。

A****0
发帖数: 1073
65
没错,我开始跟他讨论了三种方法:
1) 最差解法:O(N^2),O(1)
2) 排序后再remove dup:O(nlogn), O(1)
3) Hash:O(n), O(n)
他说第二种不能preserve order,所以让我用第三种做
而且我写完后他还说“It looks good to me.”

array

【在 w*********7 的大作中提到】
: 很有可能你没有specific题目的情况~~比如,有没有限制多余的存储空间,大多数有可
: 能希望只允许个别存储变量,不允许额外的O(n)的存储,那么这样的话就不能用
: Hashmap或hashset了。还有他是array还是arraylist,因为array牵涉到移动位置的问
: 题会相对arraylist要考虑的更多。还有你有没有和他讨论有没有其他的解决方法,这
: 题应该有很多方法的。最最重要的是,你是不是一看到题就开始编了,一般至少要讨论
: 一下,几种方法,然后你挑一种方法,解释你为什么用这个方法,然后反问面试官我按
: 这个算法准备开始编程了,你有没有什么question or suggestion?一般这时如果你的
: 想法不错他就会说go ahead, 如果有问题面试官大多都会引导说,你的time
: compexity是多少, 有没有更好的方法之类的~~~我感觉这题他很有可能问相对难一些
: 的做法,比如只允许用少量变量,不能额外的O(n)存储,然后是存有string的array

r*******h
发帖数: 139
66
你给HR说面试C#就行了,我当时就是全用C#写的。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
r*******e
发帖数: 971
67
我再补个刀,前面如果是null的话
可以这样
return Collections.emptyList();
c******f
发帖数: 243
68
我接着楼上补一下,
如果一定要return null,要加个@CheckForNull
b******7
发帖数: 92
69
我觉得最大的可能是出这道题之前面试官可能对你的期望值已经很低了,所以出了个简
单题,容不得出一点问题。之前看到过一个帖子分析过,当你碰到简单题时你悲剧的可
能性估计就比较大了
g*****g
发帖数: 34805
70
if(list == null) {
throw new IllegalArgumentException();
}
return Lists.newArrayList(Sets.newLinkedHashSet(list));
狗的人要是敢说不对,让他们内部打一架再来。
相关主题
一道电面题,分享下, 这个题应该用哪几个data structure?leetcode 上 wordladderII 求教
leetcode 129Second round phone interview with eBay
word ladder ii 谁给个大oj不超时的?灭三哥也不容易
进入JobHunting版参与讨论
y**********u
发帖数: 6366
71
狗的人很多不用guava啊

【在 g*****g 的大作中提到】
: if(list == null) {
: throw new IllegalArgumentException();
: }
: return Lists.newArrayList(Sets.newLinkedHashSet(list));
: 狗的人要是敢说不对,让他们内部打一架再来。

g*****g
发帖数: 34805
72
用不用另说,政治先正确了。要是嫌有性能问题就是自己打脸。

【在 y**********u 的大作中提到】
: 狗的人很多不用guava啊
z****e
发帖数: 54598
73
还有一个问题
不需要判断set.contains
无脑往set里面塞就好了
set自己会去重
这题有一个陷阱就是如果要求对原list做处理的话
挨个remove的话,用强循环会出问题
一个常见的解决方案就是从后玩前iterate
或者每次都remove(0)

【在 l*****a 的大作中提到】
: 1) obviously u are confused about class and interface
: when should u use List, when should u use ArrayList
: when should u use Set and when should u use HashSet
: 2) if u r using set, you can return new ArrayList(set) directly
: no need to use result
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();

z****e
发帖数: 54598
74
import java.util.*;
public static List RemoveDup(List list){
if(list == null)
return null;
Set set = new HashSet();
set.addAll(list);
list.clear();
list.addAll(set);
return list;
}
z****e
发帖数: 54598
75
android上那样搞就不好了
apk size会增加

【在 g*****g 的大作中提到】
: 用不用另说,政治先正确了。要是嫌有性能问题就是自己打脸。
d****n
发帖数: 12461
76
总算露馅了。这写得分明就很c++好吧。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
d****n
发帖数: 12461
77
总算露馅了。这写得分明就很c++好吧。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
y***n
发帖数: 1594
78
用C#,是不是用 var 就可以了,Java好像有没有类似的东西。
等你把你C#坑空出来,让个我好不好。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
d*****y
发帖数: 205
79
因为一般来说电面的人员比较杂,几乎可以说面几十个才能有一个可以进入下一轮的,
因此上很多电面开始时都是问一个warm up问题,比较简单,考察基本功,好的面试者
应该十几分钟搞定进入下一题。这样的题目对比较强的人是个热身而且能缓解紧张情绪
,对弱的人来说,讨论一下怎么做时间很快过去了也不至于太尴尬。
你的情况,可能是interviewer没有掌握好时间,也可能你自己在这一题目花时间太久,

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

y***n
发帖数: 1594
80
这个很有道理。。

久,

【在 d*****y 的大作中提到】
: 因为一般来说电面的人员比较杂,几乎可以说面几十个才能有一个可以进入下一轮的,
: 因此上很多电面开始时都是问一个warm up问题,比较简单,考察基本功,好的面试者
: 应该十几分钟搞定进入下一题。这样的题目对比较强的人是个热身而且能缓解紧张情绪
: ,对弱的人来说,讨论一下怎么做时间很快过去了也不至于太尴尬。
: 你的情况,可能是interviewer没有掌握好时间,也可能你自己在这一题目花时间太久,
:
: non
: HR

相关主题
leetcode出了新题word ladderLeetcode的系统真是弱爆了
4sum o(n^2)超时WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。
杯具!越改越差Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?
进入JobHunting版参与讨论
w********s
发帖数: 1570
81
看来据你是对了
list.get(i)速度很慢的,因为要一个个遍历。
用iterator。

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
l****i
发帖数: 2772
82
细节是很重要,不过我还是觉得,就是lz遇到的面试官想据人。
c******3
发帖数: 296
83
这题应该不是考查LinkedHashSet或GUAVA。
LZ在code规范细节上还要改进。很多面试官有洁癖。

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
J*******o
发帖数: 741
84
抛砖引玉一下, 判断参数的时候有没有必要判断list的size?
if(list == null || list.size() < 2){
return list;
}
S*****s
发帖数: 2290
85
加油

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

p****x
发帖数: 23
86
这code function 没问题,但是有以下几个方面欠考虑,从production code 的情况考
虑,google 可能觉得楼主还是缺乏经验。
public static ArrayList RemoveDup(List list){
if(list == null)
return null; //Not a major issue. Usually good practice is to
return an empty collection instead return null. Return null will make caller
to enforce null checking and make code ugly.
ArrayList result = new ArrayList();
HashSet set = new HashSet();
//Here is the major issue. Since the input list is genral list, you do
not know the exact implemetion, it can be linkedlist, arraylist, etc.
Different list implementation has different time complexity to do indexing.
For LinkedList, each time of indexing taking O(n), which will make the
overall time complexity for this for loop become O(N^2). The better practice
is to use iterator to scan the list.
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
}
return result;
}
At last, there is another way to avoid open an extra ArrayList to return.
You can do it in place.
c***n
发帖数: 809
87
list.get(i)就是一个可以毙了你的
人如果给你一linkedlist, 你这get不傻眼了
d****n
发帖数: 12461
88
你们允许throw?

【在 g*****g 的大作中提到】
: if(list == null) {
: throw new IllegalArgumentException();
: }
: return Lists.newArrayList(Sets.newLinkedHashSet(list));
: 狗的人要是敢说不对,让他们内部打一架再来。

l*****a
发帖数: 14598
89
really?
go back to search related document,please

【在 c***n 的大作中提到】
: list.get(i)就是一个可以毙了你的
: 人如果给你一linkedlist, 你这get不傻眼了

A****0
发帖数: 1073
90
的确应该用iterator,感谢
面试官的要求是不能改变原list,要返回新list且不能改变原有顺序。

caller
do

【在 p****x 的大作中提到】
: 这code function 没问题,但是有以下几个方面欠考虑,从production code 的情况考
: 虑,google 可能觉得楼主还是缺乏经验。
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null; //Not a major issue. Usually good practice is to
: return an empty collection instead return null. Return null will make caller
: to enforce null checking and make code ugly.
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: //Here is the major issue. Since the input list is genral list, you do

相关主题
这段word ladder II怎么改?问一个时间复杂度的问题,求教求教
微软有组在招new grad software engineer吗?DB面经
word ladder 时间空间复杂度是多少, bfs 解的讨论下lc最新的那道hard题吧
进入JobHunting版参与讨论
G********f
发帖数: 17
91
it's a simple question and it took you 45 minutes? your coding speed is very
likely the real reason. unless you claim yourself as a Java expert in
resume, none of the guava/style/interface etc matters that much, they are
not looking for Java expert. Google likes smart person, if you are too slow,
the interviewer may think you are not smart enough.

【在 A****0 的大作中提到】
: 的确应该用iterator,感谢
: 面试官的要求是不能改变原list,要返回新list且不能改变原有顺序。
:
: caller
: do

y***n
发帖数: 1594
92
呵呵, Google likes smart person, which company doesn't ?

very
slow,

【在 G********f 的大作中提到】
: it's a simple question and it took you 45 minutes? your coding speed is very
: likely the real reason. unless you claim yourself as a Java expert in
: resume, none of the guava/style/interface etc matters that much, they are
: not looking for Java expert. Google likes smart person, if you are too slow,
: the interviewer may think you are not smart enough.

z****e
发帖数: 54598
93
强循环本质就是iterator
for(String s:list)
用弱循环的话
可以考虑list.remove(0)的方式来搞
while(list.size()>0){
String s = list.remove(0);
...
}
然后用linkedlist就不会更改其顺序了
而且add的效率可达o(1)
z****e
发帖数: 54598
94
有catch就好了
查log我还更喜欢看exception
信息多,而不是debug info/warning

【在 d****n 的大作中提到】
: 你们允许throw?
c***n
发帖数: 809
95
靠, 你时间都花在灌水上了, 首先, 你这种去看xx是一点营养都没的回答, 要是真
对我也认了,
问题是错的。 所以请再看看你的document,please。
其他同学请看看源码吧。
http://grepcode.com/file_/repository.grepcode.com/java/root/jdk
/**
* Returns the (non-null) Node at the specified element index.
*/
Node node(int index) {
// assert isElementIndex(index);
if (index < (size >> 1)) {
Node x = first;
for (int i = 0; i < index; i++)
x = x.next;
return x;
} else {
Node x = last;
for (int i = size - 1; i > index; i--)
x = x.prev;
return x;
}
}
看见for了吗?

【在 l*****a 的大作中提到】
: really?
: go back to search related document,please

l*****a
发帖数: 14598
96
谢谢你批评指点,我确实灌水比较多,只能一直骑驴找马。
不过请把下面这段code扔到你的IDE里面看看能不能compile and run:
List l=new LinkedList();
for(int i=0;i<10;i++) {
l.add(i);
}

for(int i=0;i System.out.println(l.get(i));
}
然后再看看LinkedList是否支持get method,
http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.h
最后再次感谢对我的批评指点,谢谢!

【在 c***n 的大作中提到】
: 靠, 你时间都花在灌水上了, 首先, 你这种去看xx是一点营养都没的回答, 要是真
: 对我也认了,
: 问题是错的。 所以请再看看你的document,please。
: 其他同学请看看源码吧。
: http://grepcode.com/file_/repository.grepcode.com/java/root/jdk
: /**
: * Returns the (non-null) Node at the specified element index.
: */
: Node node(int index) {
: // assert isElementIndex(index);

n**d
发帖数: 26
97
看到最后才看到有人说起get的事儿,我java只学过一学期还以为自己记错了呢。。
String str = list.get(i);这个遍历完应该是n2不是O(n)吧
c***n
发帖数: 809
98
有空再跑你的code, 不过就算你的link也说的清清楚楚
“Operations that index into the list will traverse the list from the
beginning or the end, whichever is closer to the specified index.”
我就不明白get(i) 有什么问题。

【在 l*****a 的大作中提到】
: 谢谢你批评指点,我确实灌水比较多,只能一直骑驴找马。
: 不过请把下面这段code扔到你的IDE里面看看能不能compile and run:
: List l=new LinkedList();
: for(int i=0;i<10;i++) {
: l.add(i);
: }
:
: for(int i=0;i: System.out.println(l.get(i));
: }

c***n
发帖数: 809
99
除了加个import, 看不出什么问题啊.
http://www.compileonline.com/compile_java_online.php
import java.util.*;
public class HelloWorld{
public static void main(String []args){
List l=new LinkedList();
for(int i=0;i<10;i++) {
l.add(i);
}

for(int i=0;i System.out.println(l.get(i));
}
}
}
Result:
Compiling the source code....
$javac HelloWorld.java 2>&1
Executing the program....
$java -Xmx128M -Xms16M HelloWorld
0
1
2
3
4
5
6
7
8
9

【在 l*****a 的大作中提到】
: 谢谢你批评指点,我确实灌水比较多,只能一直骑驴找马。
: 不过请把下面这段code扔到你的IDE里面看看能不能compile and run:
: List l=new LinkedList();
: for(int i=0;i<10;i++) {
: l.add(i);
: }
:
: for(int i=0;i: System.out.println(l.get(i));
: }

m*****k
发帖数: 731
100
yes,
this looks more professional

【在 l***4 的大作中提到】
: 大牛来啦
:
: 好。

相关主题
请假大家一道BB的题word ladder ii 谁给个大oj不超时的?
一道电面题,分享下, 这个题应该用哪几个data structure?leetcode 上 wordladderII 求教
leetcode 129Second round phone interview with eBay
进入JobHunting版参与讨论
m*****k
发帖数: 731
101
因为在prod code里面任何一个函数都是默认保证参数是有效的
this is dangerous,
how can you guarantee each caller knows this and always keeps that in mind?

【在 A*****i 的大作中提到】
: 你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
: 的。
: 就第一句判断object是不是null的,我们production里从来不会那么做。
: 因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
: 的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
: convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

s*i
发帖数: 5025
102
这个要上升到哲学问题了啊。

【在 m*****k 的大作中提到】
: 因为在prod code里面任何一个函数都是默认保证参数是有效的
: this is dangerous,
: how can you guarantee each caller knows this and always keeps that in mind?

m*****k
发帖数: 731
103
not for arrayList

【在 w********s 的大作中提到】
: 看来据你是对了
: list.get(i)速度很慢的,因为要一个个遍历。
: 用iterator。

A*****i
发帖数: 3587
104
lol,你怎么保证你每次吃东西的时候都是用嘴而不是把饭塞到鼻子里?
这个版为啥总有一些自以为是的人提一些稀奇古怪的问题?

【在 m*****k 的大作中提到】
: 因为在prod code里面任何一个函数都是默认保证参数是有效的
: this is dangerous,
: how can you guarantee each caller knows this and always keeps that in mind?

m*****k
发帖数: 731
105
稀奇古怪的问题?
自以为是?
null check is a common practice,
再说我也不是唯一一个觉得应该null check的,
兄弟,就题论题,
if I offended you, I apologize.

【在 A*****i 的大作中提到】
: lol,你怎么保证你每次吃东西的时候都是用嘴而不是把饭塞到鼻子里?
: 这个版为啥总有一些自以为是的人提一些稀奇古怪的问题?

A*****i
发帖数: 3587
106
我可没有就题论题,每个公司prod code的内部convention是不一样的。
我举那个例子就是要说明G家如果用他们家自己的convention来要求一个没有来过G家的
面试者那就是故意找茬。
一帮人还在帮着分析到底是get快一些还是慢一些我都要笑死了,做题都做傻了一个个
的。

【在 m*****k 的大作中提到】
: 稀奇古怪的问题?
: 自以为是?
: null check is a common practice,
: 再说我也不是唯一一个觉得应该null check的,
: 兄弟,就题论题,
: if I offended you, I apologize.

h*****a
发帖数: 1718
107
没啥故意找茬吧。你去面G就要follow人家的规矩,至于是不是合理不在讨论之内,因
为这不能帮你拿到offer.你可以说你不喜欢G所以不去G面,或者你很牛早就有了更好的
选择,totally fine。但这个帖子的lz面G fail了过来问一下想找出原因,大家给的很
多原因都是reasonable的。也许这个同学或者旁观的同学看了之后能有所启发,下次面
G或者相似的公司就能避免类似的错误拿到offer.
现在面试落入了做题的pattern,好坏不能一概而论。但如果在事业起步阶段因为做题
拿到一个不错的offer可能让自己未来的路走的更顺利一些。至少大概率是如此。就如同
高考一样。

【在 A*****i 的大作中提到】
: 我可没有就题论题,每个公司prod code的内部convention是不一样的。
: 我举那个例子就是要说明G家如果用他们家自己的convention来要求一个没有来过G家的
: 面试者那就是故意找茬。
: 一帮人还在帮着分析到底是get快一些还是慢一些我都要笑死了,做题都做傻了一个个
: 的。

y**********u
发帖数: 6366
108
感觉现在complain面试官太多了
其实能做题也不一定是坏事,想想09年春天的时候,版上的主题是怎么背下effective
C++/more effective C++去面bloomberg

如同
家的
个个

【在 h*****a 的大作中提到】
: 没啥故意找茬吧。你去面G就要follow人家的规矩,至于是不是合理不在讨论之内,因
: 为这不能帮你拿到offer.你可以说你不喜欢G所以不去G面,或者你很牛早就有了更好的
: 选择,totally fine。但这个帖子的lz面G fail了过来问一下想找出原因,大家给的很
: 多原因都是reasonable的。也许这个同学或者旁观的同学看了之后能有所启发,下次面
: G或者相似的公司就能避免类似的错误拿到offer.
: 现在面试落入了做题的pattern,好坏不能一概而论。但如果在事业起步阶段因为做题
: 拿到一个不错的offer可能让自己未来的路走的更顺利一些。至少大概率是如此。就如同
: 高考一样。

A*****i
发帖数: 3587
109
背书做题都比和面试人周旋要容易的多。
因为答案是固定的,或者相对固定的。
现在抱怨的多是因为确实僧多粥少,面试的每次都要挑,挑来挑去有的就纯是凭感觉了

effective

【在 y**********u 的大作中提到】
: 感觉现在complain面试官太多了
: 其实能做题也不一定是坏事,想想09年春天的时候,版上的主题是怎么背下effective
: C++/more effective C++去面bloomberg
:
: 如同
: 家的
: 个个

y**********u
发帖数: 6366
110
感觉现在机会还是很多啊,招人的公司不少
当然挑的面试官谁都经常能遇到

【在 A*****i 的大作中提到】
: 背书做题都比和面试人周旋要容易的多。
: 因为答案是固定的,或者相对固定的。
: 现在抱怨的多是因为确实僧多粥少,面试的每次都要挑,挑来挑去有的就纯是凭感觉了
:
: effective

相关主题
Second round phone interview with eBay4sum o(n^2)超时
灭三哥也不容易杯具!越改越差
leetcode出了新题word ladderLeetcode的系统真是弱爆了
进入JobHunting版参与讨论
k*******6
发帖数: 103
111
我只会python,最近在学java,看到这code的第一反应就是那个判断好多余。。。翻了
4页才有人提,我还以为java真得这么写呢。。。

【在 z****e 的大作中提到】
: 还有一个问题
: 不需要判断set.contains
: 无脑往set里面塞就好了
: set自己会去重
: 这题有一个陷阱就是如果要求对原list做处理的话
: 挨个remove的话,用强循环会出问题
: 一个常见的解决方案就是从后玩前iterate
: 或者每次都remove(0)

A****0
发帖数: 1073
112
上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
-functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
电话说依然被拒。。。
我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。
l*****a
发帖数: 14598
113
bless
上你的code看看吧
另外google真的不需要什么人,招人都是装样子
你去申FL不好吗?

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

d********t
发帖数: 9628
114
简历不行?面试走个过场。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

F**********t
发帖数: 80
115
觉得sf各大startup是这么干的。。。

【在 d********t 的大作中提到】
: 简历不行?面试走个过场。
:
: non
: HR

A****0
发帖数: 1073
116
上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
还有什么地方可以再改进的了。。。
职位是Kirkland的。
import java.util.*;
public static ArrayList RemoveDup(List list){
if(list == null)
return null;
ArrayList result = new ArrayList();
HashSet set = new HashSet();
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
}
return result;
}

【在 l*****a 的大作中提到】
: bless
: 上你的code看看吧
: 另外google真的不需要什么人,招人都是装样子
: 你去申FL不好吗?
:
: non
: HR

A****0
发帖数: 1073
117
简历上有个致命伤——在微软Windows做过一年SDET,但现已经在微软Bing组当SDE近一
年了

【在 d********t 的大作中提到】
: 简历不行?面试走个过场。
:
: non
: HR

l*****a
发帖数: 14598
118
there are a few issues

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
A****0
发帖数: 1073
119
请赐教,真的很想知道如何改正

【在 l*****a 的大作中提到】
: there are a few issues
y******0
发帖数: 93
120
的确是有几个问题。

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
相关主题
WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。微软有组在招new grad software engineer吗?
Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?word ladder 时间空间复杂度是多少, bfs 解的
这段word ladder II怎么改?问一个时间复杂度的问题,求教求教
进入JobHunting版参与讨论
l*****a
发帖数: 14598
121
1) obviously u are confused about class and interface
when should u use List, when should u use ArrayList
when should u use Set and when should u use HashSet
2) if u r using set, you can return new ArrayList(set) directly
no need to use result
import java.util.*;
public static ArrayList RemoveDup(List list){
if(list == null)
return null;
ArrayList result = new ArrayList();
HashSet set = new HashSet();
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
}
return result;
}

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
h*******e
发帖数: 1377
122
还有更简的~~~方法。
l*****a
发帖数: 14598
123
for(int i=0;i String str = list.get(i);
this is ok,but maybe it is better to use
for(String str:list)

【在 l*****a 的大作中提到】
: 1) obviously u are confused about class and interface
: when should u use List, when should u use ArrayList
: when should u use Set and when should u use HashSet
: 2) if u r using set, you can return new ArrayList(set) directly
: no need to use result
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();

l*****a
发帖数: 14598
124
请赐教.

【在 h*******e 的大作中提到】
: 还有更简的~~~方法。
A****0
发帖数: 1073
125
这只是个syntactic sugar,而且JDK 1.4以前的版本也不支持啊

【在 l*****a 的大作中提到】
: 请赐教.
h*******e
发帖数: 1377
126
好吧。。。没有了,看错了以为类似 leetcode rmv duplicate 呢。如果全局
duplicate那就是hash要么 如果是adjacent duplicate 就是curI 1开始 size 结束,
curI-1 curI, newI三个指针就行吧。

【在 l*****a 的大作中提到】
: 请赐教.
P**********r
发帖数: 755
127
俺昨天写了一个x^y
然后还讲了N个数取topK
杯具的是我居然把quickselect的复杂度讲成了NlogN。求扇耳光
l***4
发帖数: 1788
128
ArrayList result = new ArrayList();
HashSet set = new HashSet();
这两个应该是:
List result = new ArrayList();
Set set = new HashSet();
这样比较好吧,用多态

【在 A****0 的大作中提到】
: 这只是个syntactic sugar,而且JDK 1.4以前的版本也不支持啊
A****0
发帖数: 1073
129
这个题最近也常见啊 logN

【在 P**********r 的大作中提到】
: 俺昨天写了一个x^y
: 然后还讲了N个数取topK
: 杯具的是我居然把quickselect的复杂度讲成了NlogN。求扇耳光

A****0
发帖数: 1073
130
难道这就是G拒人的理由啊。。。

【在 l***4 的大作中提到】
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: 这两个应该是:
: List result = new ArrayList();
: Set set = new HashSet();
: 这样比较好吧,用多态

相关主题
DB面经一道电面题,分享下, 这个题应该用哪几个data structure?
讨论下lc最新的那道hard题吧leetcode 129
请假大家一道BB的题word ladder ii 谁给个大oj不超时的?
进入JobHunting版参与讨论
l***4
发帖数: 1788
131
也可能根本不缺人。

【在 A****0 的大作中提到】
: 难道这就是G拒人的理由啊。。。
A****0
发帖数: 1073
132
十分感谢!
可问题是,function的signature是面试官给的啊。。我只能如此写下去。
可能真的要用return new ArrayList(set);?

【在 l*****a 的大作中提到】
: 1) obviously u are confused about class and interface
: when should u use List, when should u use ArrayList
: when should u use Set and when should u use HashSet
: 2) if u r using set, you can return new ArrayList(set) directly
: no need to use result
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();

h*********o
发帖数: 230
133
也可能你没说不用额外空间的做法??
a******u
发帖数: 14
134
SET并不是写Test case的,你举那么多例子很可能浪费时间了。
A****0
发帖数: 1073
135
我讲了三种方法:
1) brute force,需要O(N^2)时间和O(1)空间
2) sorting然后remove dup,需要O(nlogn)时间和O(1)空间,但他后来说要保证list的
顺序与原list相同,所以这个方法不行
3) 额外空间,需要O(N)时间和O(N)时间
都说到了的

【在 h*********o 的大作中提到】
: 也可能你没说不用额外空间的做法??
p****e
发帖数: 3548
136
看看人家讨论吧
http://stackoverflow.com/questions/14040331/remove-duplicate-st
就是
set.addall(string);
return list(set);
你的解法是contains call了两次

【在 A****0 的大作中提到】
: 十分感谢!
: 可问题是,function的signature是面试官给的啊。。我只能如此写下去。
: 可能真的要用return new ArrayList(set);?

A****0
发帖数: 1073
137
是面试官让我写test case的,
面试官:请写一些test case
我:blackbox or whitebox?
面试官:blackbox
我:functional or non-functional
面试官:functional
然后就开始写,写了20个test case后他说好了,我们已经有足够的test case了,时间
也差不多了

【在 a******u 的大作中提到】
: SET并不是写Test case的,你举那么多例子很可能浪费时间了。
f******o
发帖数: 1505
138
我也发现了现在 google 是这么个风格,用巨简单的题来考你。一样能在鸡蛋里挑着骨
头。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

A****0
发帖数: 1073
139
这个真的是我的误区,感谢!
看来用LinkedHashSet可以maintain order

【在 p****e 的大作中提到】
: 看看人家讨论吧
: http://stackoverflow.com/questions/14040331/remove-duplicate-st
: 就是
: set.addall(string);
: return list(set);
: 你的解法是contains call了两次

m*****n
发帖数: 204
140
The interviewer might be picky with a simple question like this.
Your code has a few style issues that make you look amateurish in
picky eyes: 8-)
You may want to re-read Effective Java and search for Java
coding style on the web.
import java.util.*; // Wildcard import not good.
public static ArrayList RemoveDup(List list){
// RemoveDup: method name should start with lower case char
// (List list): either change this to ArrayList or change
// the for-loop with list.get(i) to for-each. Your signature
// does not say list must be ArrayList, so someone can pass in
// a long linked list and break your code at list.get(i)

if(list == null)
return null; // Convention is to return empty container.
ArrayList result = new ArrayList(); // If no order-
preserving request, this list is not necessary.
HashSet set = new HashSet();
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
// body of loop can be changed to:
// if (set.add(str)) result.add(str);
}
return result;
}

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
相关主题
word ladder ii 谁给个大oj不超时的?灭三哥也不容易
leetcode 上 wordladderII 求教leetcode出了新题word ladder
Second round phone interview with eBay4sum o(n^2)超时
进入JobHunting版参与讨论
A****0
发帖数: 1073
141
万分感谢!
其实function Signature是他写的
有order preserving的要求

【在 m*****n 的大作中提到】
: The interviewer might be picky with a simple question like this.
: Your code has a few style issues that make you look amateurish in
: picky eyes: 8-)
: You may want to re-read Effective Java and search for Java
: coding style on the web.
: import java.util.*; // Wildcard import not good.
: public static ArrayList RemoveDup(List list){
: // RemoveDup: method name should start with lower case char
: // (List list): either change this to ArrayList or change
: // the for-loop with list.get(i) to for-each. Your signature

s********r
发帖数: 176
142
这就是只会涮题的结果,OO中的polymophsm 根本就不清楚,拒你是有原因的。还有,
现在都Java8 了好伐, 至少也得看看java 7的新的东东吧,
HashSet set = new HashSet(); // should be coded as
Set set = new HashSet<>();
还有其他的问题,大家也说了。一起加油吧!
n*****n
发帖数: 5277
143
ding
y**********a
发帖数: 824
144
public static List RemoveDup(List list){
return new ArrayList(new LinkedHashSet(list));
}
y***n
发帖数: 1594
145
这个和前几天那个清华的贴那个更不合理。。
y***n
发帖数: 1594
146
微软也都写Java吗,楼主可能对Java的API没有那么熟。

【在 A****0 的大作中提到】
: 简历上有个致命伤——在微软Windows做过一年SDET,但现已经在微软Bing组当SDE近一
: 年了

m****v
发帖数: 88
147
one question is not enough man
l***c
发帖数: 55
148
这个是哪个帖子?
还没看到过。

【在 y***n 的大作中提到】
: 这个和前几天那个清华的贴那个更不合理。。
A****0
发帖数: 1073
149
平时用的是C#,为了G拿Java苦练刷题

【在 y***n 的大作中提到】
: 微软也都写Java吗,楼主可能对Java的API没有那么熟。
y***n
发帖数: 1594
150
是不是c++比较中性话一点。。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
相关主题
杯具!越改越差Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?
Leetcode的系统真是弱爆了这段word ladder II怎么改?
WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。微软有组在招new grad software engineer吗?
进入JobHunting版参与讨论
A****0
发帖数: 1073
151
不觉得,C++的memory leak太难办了,没GC不好用。

【在 y***n 的大作中提到】
: 是不是c++比较中性话一点。。
y***n
发帖数: 1594
152
仅仅针对刷题。

【在 A****0 的大作中提到】
: 不觉得,C++的memory leak太难办了,没GC不好用。
A****0
发帖数: 1073
153
那感觉还好,不用考虑那么多polymorphism。

【在 y***n 的大作中提到】
: 仅仅针对刷题。
A*****i
发帖数: 3587
154
这跟只会刷题没有任何关系。
这人就是nitpick,至于多态你真是想多了。
人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。



【在 s********r 的大作中提到】
: 这就是只会涮题的结果,OO中的polymophsm 根本就不清楚,拒你是有原因的。还有,
: 现在都Java8 了好伐, 至少也得看看java 7的新的东东吧,
: HashSet set = new HashSet(); // should be coded as
: Set set = new HashSet<>();
: 还有其他的问题,大家也说了。一起加油吧!

y***n
发帖数: 1594
155
Re 这个,终于找到一个说出我不敢说出来的人了。。

【在 A*****i 的大作中提到】
: 这跟只会刷题没有任何关系。
: 这人就是nitpick,至于多态你真是想多了。
: 人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。
:
: ,

l*****a
发帖数: 14598
156
他说得没错阿
OO的原则就是programming to interface

【在 A*****i 的大作中提到】
: 这跟只会刷题没有任何关系。
: 这人就是nitpick,至于多态你真是想多了。
: 人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。
:
: ,

g**e
发帖数: 6127
157
LZ那段代码真做CR会被挑一堆毛病,没通过电面不算冤

【在 l*****a 的大作中提到】
: 他说得没错阿
: OO的原则就是programming to interface

c******f
发帖数: 243
158
这code过不了CR
interface
for loop用index了
java 1.7用 <>了
c******f
发帖数: 243
159
我以前被CR,就被挑过这些毛病
A****0
发帖数: 1073
160
的确,看来刷题练习时要用Checkstyle

【在 c******f 的大作中提到】
: 这code过不了CR
: interface
: for loop用index了
: java 1.7用 <>了

相关主题
word ladder 时间空间复杂度是多少, bfs 解的讨论下lc最新的那道hard题吧
问一个时间复杂度的问题,求教求教请假大家一道BB的题
DB面经一道电面题,分享下, 这个题应该用哪几个data structure?
进入JobHunting版参与讨论
A*****i
发帖数: 3587
161
你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
的。
就第一句判断object是不是null的,我们production里从来不会那么做。
因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

【在 l*****a 的大作中提到】
: 他说得没错阿
: OO的原则就是programming to interface

y******0
发帖数: 93
162
你可能碰到了哪个兄弟的绿卡广告。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

A****0
发帖数: 1073
163
感觉prod code里如果method是public的,也要做null check(因为你不知道谁会叫这
个method)
当然private的就不用了。

【在 A*****i 的大作中提到】
: 你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
: 的。
: 就第一句判断object是不是null的,我们production里从来不会那么做。
: 因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
: 的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
: convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

D****g
发帖数: 6
164

I had the same question from Google yesterday interviewing for TPM position.
There is a problem using for loop instead of while. In my case, it clearly
asks for the List as the input parameter. Thus, the worst using for loop
will be n^2 instead of n. We had some good discussion, and with the hint
from the interviewer, it makes sense to use iterator. I finished the problem
in about 30 minutes and then move on the next level of this question, which
removes the duplicates if the element in the list occurs n times, n as the
second input in the function.

【在 y******0 的大作中提到】
: 的确是有几个问题。
h*****a
发帖数: 1718
165
既然是面SET悲剧,更可能是test case的问题吧

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

h*****a
发帖数: 1718
166
不要忽视这种小地方啊。这种多态的code如果没用最base的type在FLG这样的公司里是
肯定过不了code review的。
其实这种code现在都应该用Guava.不会Guava说不定会被Google认为是一个weakness.

【在 A*****i 的大作中提到】
: 这跟只会刷题没有任何关系。
: 这人就是nitpick,至于多态你真是想多了。
: 人家要想拒随便找个理由就能拒了,所以LZ显然是来凑数的。
:
: ,

h*****a
发帖数: 1718
167
你说的也不一定啊。光写一个API的话,你是没有什么calling convention保证输入参
数的有效性的。所以做参数的check是一个面试考察的基本点。
至于真正的production code,比较好的写法都是用Google library的Preconditions,
要比lz的写法简洁一些。这些很多时候是用来检验candidate的coding是不是真正比较
熟练的。

【在 A*****i 的大作中提到】
: 你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
: 的。
: 就第一句判断object是不是null的,我们production里从来不会那么做。
: 因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
: 的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
: convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

A*****i
发帖数: 3587
168
我只说我们的prod code,我们是写node的
G家不是号称不在乎语言么,我觉得问算法主要就是考察逻辑有没有bug。要是专门为了
考察convention不如出个改错题不是更直观?

【在 h*****a 的大作中提到】
: 你说的也不一定啊。光写一个API的话,你是没有什么calling convention保证输入参
: 数的有效性的。所以做参数的check是一个面试考察的基本点。
: 至于真正的production code,比较好的写法都是用Google library的Preconditions,
: 要比lz的写法简洁一些。这些很多时候是用来检验candidate的coding是不是真正比较
: 熟练的。

w*********7
发帖数: 19
169
很有可能你没有specific题目的情况~~比如,有没有限制多余的存储空间,大多数有可
能希望只允许个别存储变量,不允许额外的O(n)的存储,那么这样的话就不能用
Hashmap或hashset了。还有他是array还是arraylist,因为array牵涉到移动位置的问
题会相对arraylist要考虑的更多。还有你有没有和他讨论有没有其他的解决方法,这
题应该有很多方法的。最最重要的是,你是不是一看到题就开始编了,一般至少要讨论
一下,几种方法,然后你挑一种方法,解释你为什么用这个方法,然后反问面试官我按
这个算法准备开始编程了,你有没有什么question or suggestion?一般这时如果你的
想法不错他就会说go ahead, 如果有问题面试官大多都会引导说,你的time
compexity是多少, 有没有更好的方法之类的~~~我感觉这题他很有可能问相对难一些
的做法,比如只允许用少量变量,不能额外的O(n)存储,然后是存有string的array
(不是arraylist),就相对会难一些些~~

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

e***g
发帖数: 1696
170
就是不想招人,但是HR得找点事做。

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

相关主题
一道电面题,分享下, 这个题应该用哪几个data structure?leetcode 上 wordladderII 求教
leetcode 129Second round phone interview with eBay
word ladder ii 谁给个大oj不超时的?灭三哥也不容易
进入JobHunting版参与讨论
h*******e
发帖数: 1377
171
很多公司的code review标准不一样啊,据说g还有每行代码最大字符数的限制~~
这个面试要求这些,小公司代码标准比较loose的怎么办哦。

【在 h*****a 的大作中提到】
: 你说的也不一定啊。光写一个API的话,你是没有什么calling convention保证输入参
: 数的有效性的。所以做参数的check是一个面试考察的基本点。
: 至于真正的production code,比较好的写法都是用Google library的Preconditions,
: 要比lz的写法简洁一些。这些很多时候是用来检验candidate的coding是不是真正比较
: 熟练的。

A*****i
发帖数: 3587
172
字符限制很多公司都有我们也做限制,这些东西都是lint干的

【在 h*******e 的大作中提到】
: 很多公司的code review标准不一样啊,据说g还有每行代码最大字符数的限制~~
: 这个面试要求这些,小公司代码标准比较loose的怎么办哦。

h*****a
发帖数: 1718
173
G是不在乎语言,但既然用Java回答问题,code就要符合Java的规范。而且写public
API的话,不check输入参数肯定是bug啊。bug free就是要对所有可能输入有正确的输
出,runtime exception是肯定不算正确输出的。
当然,这些确实都是小节。但也都是interview所考察的,大家还是重视这些细节为好。

【在 A*****i 的大作中提到】
: 我只说我们的prod code,我们是写node的
: G家不是号称不在乎语言么,我觉得问算法主要就是考察逻辑有没有bug。要是专门为了
: 考察convention不如出个改错题不是更直观?

h*****a
发帖数: 1718
174
字符限制和bug不一样,一般不是面试考察的。
小公司确实可能不重视这种coding style上比较细节的东西。甚至可能因为你写的太学
院风格而锯掉。所以具体情况要具体分析。

【在 h*******e 的大作中提到】
: 很多公司的code review标准不一样啊,据说g还有每行代码最大字符数的限制~~
: 这个面试要求这些,小公司代码标准比较loose的怎么办哦。

l***4
发帖数: 1788
175
大牛来啦

好。

【在 h*****a 的大作中提到】
: G是不在乎语言,但既然用Java回答问题,code就要符合Java的规范。而且写public
: API的话,不check输入参数肯定是bug啊。bug free就是要对所有可能输入有正确的输
: 出,runtime exception是肯定不算正确输出的。
: 当然,这些确实都是小节。但也都是interview所考察的,大家还是重视这些细节为好。

A****0
发帖数: 1073
176
没错,我开始跟他讨论了三种方法:
1) 最差解法:O(N^2),O(1)
2) 排序后再remove dup:O(nlogn), O(1)
3) Hash:O(n), O(n)
他说第二种不能preserve order,所以让我用第三种做
而且我写完后他还说“It looks good to me.”

array

【在 w*********7 的大作中提到】
: 很有可能你没有specific题目的情况~~比如,有没有限制多余的存储空间,大多数有可
: 能希望只允许个别存储变量,不允许额外的O(n)的存储,那么这样的话就不能用
: Hashmap或hashset了。还有他是array还是arraylist,因为array牵涉到移动位置的问
: 题会相对arraylist要考虑的更多。还有你有没有和他讨论有没有其他的解决方法,这
: 题应该有很多方法的。最最重要的是,你是不是一看到题就开始编了,一般至少要讨论
: 一下,几种方法,然后你挑一种方法,解释你为什么用这个方法,然后反问面试官我按
: 这个算法准备开始编程了,你有没有什么question or suggestion?一般这时如果你的
: 想法不错他就会说go ahead, 如果有问题面试官大多都会引导说,你的time
: compexity是多少, 有没有更好的方法之类的~~~我感觉这题他很有可能问相对难一些
: 的做法,比如只允许用少量变量,不能额外的O(n)存储,然后是存有string的array

r*******h
发帖数: 139
177
你给HR说面试C#就行了,我当时就是全用C#写的。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
r*******e
发帖数: 971
178
我再补个刀,前面如果是null的话
可以这样
return Collections.emptyList();
c******f
发帖数: 243
179
我接着楼上补一下,
如果一定要return null,要加个@CheckForNull
b******7
发帖数: 92
180
我觉得最大的可能是出这道题之前面试官可能对你的期望值已经很低了,所以出了个简
单题,容不得出一点问题。之前看到过一个帖子分析过,当你碰到简单题时你悲剧的可
能性估计就比较大了
相关主题
leetcode出了新题word ladderLeetcode的系统真是弱爆了
4sum o(n^2)超时WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。
杯具!越改越差Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?
进入JobHunting版参与讨论
g*****g
发帖数: 34805
181
if(list == null) {
throw new IllegalArgumentException();
}
return Lists.newArrayList(Sets.newLinkedHashSet(list));
狗的人要是敢说不对,让他们内部打一架再来。
y**********u
发帖数: 6366
182
狗的人很多不用guava啊

【在 g*****g 的大作中提到】
: if(list == null) {
: throw new IllegalArgumentException();
: }
: return Lists.newArrayList(Sets.newLinkedHashSet(list));
: 狗的人要是敢说不对,让他们内部打一架再来。

g*****g
发帖数: 34805
183
用不用另说,政治先正确了。要是嫌有性能问题就是自己打脸。

【在 y**********u 的大作中提到】
: 狗的人很多不用guava啊
z****e
发帖数: 54598
184
还有一个问题
不需要判断set.contains
无脑往set里面塞就好了
set自己会去重
这题有一个陷阱就是如果要求对原list做处理的话
挨个remove的话,用强循环会出问题
一个常见的解决方案就是从后玩前iterate
或者每次都remove(0)

【在 l*****a 的大作中提到】
: 1) obviously u are confused about class and interface
: when should u use List, when should u use ArrayList
: when should u use Set and when should u use HashSet
: 2) if u r using set, you can return new ArrayList(set) directly
: no need to use result
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();

z****e
发帖数: 54598
185
import java.util.*;
public static List RemoveDup(List list){
if(list == null)
return null;
Set set = new HashSet();
set.addAll(list);
list.clear();
list.addAll(set);
return list;
}
z****e
发帖数: 54598
186
android上那样搞就不好了
apk size会增加

【在 g*****g 的大作中提到】
: 用不用另说,政治先正确了。要是嫌有性能问题就是自己打脸。
d****n
发帖数: 12461
187
总算露馅了。这写得分明就很c++好吧。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
d****n
发帖数: 12461
188
总算露馅了。这写得分明就很c++好吧。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
y***n
发帖数: 1594
189
用C#,是不是用 var 就可以了,Java好像有没有类似的东西。
等你把你C#坑空出来,让个我好不好。

【在 A****0 的大作中提到】
: 平时用的是C#,为了G拿Java苦练刷题
d*****y
发帖数: 205
190
因为一般来说电面的人员比较杂,几乎可以说面几十个才能有一个可以进入下一轮的,
因此上很多电面开始时都是问一个warm up问题,比较简单,考察基本功,好的面试者
应该十几分钟搞定进入下一题。这样的题目对比较强的人是个热身而且能缓解紧张情绪
,对弱的人来说,讨论一下怎么做时间很快过去了也不至于太尴尬。
你的情况,可能是interviewer没有掌握好时间,也可能你自己在这一题目花时间太久,

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

相关主题
这段word ladder II怎么改?问一个时间复杂度的问题,求教求教
微软有组在招new grad software engineer吗?DB面经
word ladder 时间空间复杂度是多少, bfs 解的讨论下lc最新的那道hard题吧
进入JobHunting版参与讨论
y***n
发帖数: 1594
191
这个很有道理。。

久,

【在 d*****y 的大作中提到】
: 因为一般来说电面的人员比较杂,几乎可以说面几十个才能有一个可以进入下一轮的,
: 因此上很多电面开始时都是问一个warm up问题,比较简单,考察基本功,好的面试者
: 应该十几分钟搞定进入下一题。这样的题目对比较强的人是个热身而且能缓解紧张情绪
: ,对弱的人来说,讨论一下怎么做时间很快过去了也不至于太尴尬。
: 你的情况,可能是interviewer没有掌握好时间,也可能你自己在这一题目花时间太久,
:
: non
: HR

w********s
发帖数: 1570
192
看来据你是对了
list.get(i)速度很慢的,因为要一个个遍历。
用iterator。

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
l****i
发帖数: 2772
193
细节是很重要,不过我还是觉得,就是lz遇到的面试官想据人。
c******3
发帖数: 296
194
这题应该不是考查LinkedHashSet或GUAVA。
LZ在code规范细节上还要改进。很多面试官有洁癖。

【在 A****0 的大作中提到】
: 上code,昨天刚面的,题目是ArrayList删duplicate且返回一个新的list,实在不知道
: 还有什么地方可以再改进的了。。。
: 职位是Kirkland的。
: import java.util.*;
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null;
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: for(int i=0;i
J*******o
发帖数: 741
195
抛砖引玉一下, 判断参数的时候有没有必要判断list的size?
if(list == null || list.size() < 2){
return list;
}
S*****s
发帖数: 2290
196
加油

non
HR

【在 A****0 的大作中提到】
: 上周SWE电面,问了个超级简单的题目,我很快列举出各种corner case和三种复杂度的
: 解法,并把最优解写出(面试后在IDE下编译通过、运行各种test case通过)。第二天
: HR电话回来说hire committee觉得我coding能力不强,改成SET的track。
: 昨天SET电面,问了个更令人发指的简单题——给一个string的ArrayList,把其中的
: duplicate给删掉。。这回我写完程序后还列举了20个functional test cases和5个non
: -functional test cases(面试后在IDE下编译通过,20个test cases)。今天接到HR
: 电话说依然被拒。。。
: 我真的很无语,不知道是哪儿出的问题,还是自己有严重的误区。

p****x
发帖数: 23
197
这code function 没问题,但是有以下几个方面欠考虑,从production code 的情况考
虑,google 可能觉得楼主还是缺乏经验。
public static ArrayList RemoveDup(List list){
if(list == null)
return null; //Not a major issue. Usually good practice is to
return an empty collection instead return null. Return null will make caller
to enforce null checking and make code ugly.
ArrayList result = new ArrayList();
HashSet set = new HashSet();
//Here is the major issue. Since the input list is genral list, you do
not know the exact implemetion, it can be linkedlist, arraylist, etc.
Different list implementation has different time complexity to do indexing.
For LinkedList, each time of indexing taking O(n), which will make the
overall time complexity for this for loop become O(N^2). The better practice
is to use iterator to scan the list.
for(int i=0;i String str = list.get(i);
if(!set.contains(str)){
set.add(str);
result.add(str);
}
}
return result;
}
At last, there is another way to avoid open an extra ArrayList to return.
You can do it in place.
c***n
发帖数: 809
198
list.get(i)就是一个可以毙了你的
人如果给你一linkedlist, 你这get不傻眼了
d****n
发帖数: 12461
199
你们允许throw?

【在 g*****g 的大作中提到】
: if(list == null) {
: throw new IllegalArgumentException();
: }
: return Lists.newArrayList(Sets.newLinkedHashSet(list));
: 狗的人要是敢说不对,让他们内部打一架再来。

l*****a
发帖数: 14598
200
really?
go back to search related document,please

【在 c***n 的大作中提到】
: list.get(i)就是一个可以毙了你的
: 人如果给你一linkedlist, 你这get不傻眼了

相关主题
请假大家一道BB的题word ladder ii 谁给个大oj不超时的?
一道电面题,分享下, 这个题应该用哪几个data structure?leetcode 上 wordladderII 求教
leetcode 129Second round phone interview with eBay
进入JobHunting版参与讨论
A****0
发帖数: 1073
201
的确应该用iterator,感谢
面试官的要求是不能改变原list,要返回新list且不能改变原有顺序。

caller
do

【在 p****x 的大作中提到】
: 这code function 没问题,但是有以下几个方面欠考虑,从production code 的情况考
: 虑,google 可能觉得楼主还是缺乏经验。
: public static ArrayList RemoveDup(List list){
: if(list == null)
: return null; //Not a major issue. Usually good practice is to
: return an empty collection instead return null. Return null will make caller
: to enforce null checking and make code ugly.
: ArrayList result = new ArrayList();
: HashSet set = new HashSet();
: //Here is the major issue. Since the input list is genral list, you do

G********f
发帖数: 17
202
it's a simple question and it took you 45 minutes? your coding speed is very
likely the real reason. unless you claim yourself as a Java expert in
resume, none of the guava/style/interface etc matters that much, they are
not looking for Java expert. Google likes smart person, if you are too slow,
the interviewer may think you are not smart enough.

【在 A****0 的大作中提到】
: 的确应该用iterator,感谢
: 面试官的要求是不能改变原list,要返回新list且不能改变原有顺序。
:
: caller
: do

y***n
发帖数: 1594
203
呵呵, Google likes smart person, which company doesn't ?

very
slow,

【在 G********f 的大作中提到】
: it's a simple question and it took you 45 minutes? your coding speed is very
: likely the real reason. unless you claim yourself as a Java expert in
: resume, none of the guava/style/interface etc matters that much, they are
: not looking for Java expert. Google likes smart person, if you are too slow,
: the interviewer may think you are not smart enough.

z****e
发帖数: 54598
204
强循环本质就是iterator
for(String s:list)
用弱循环的话
可以考虑list.remove(0)的方式来搞
while(list.size()>0){
String s = list.remove(0);
...
}
然后用linkedlist就不会更改其顺序了
而且add的效率可达o(1)
z****e
发帖数: 54598
205
有catch就好了
查log我还更喜欢看exception
信息多,而不是debug info/warning

【在 d****n 的大作中提到】
: 你们允许throw?
c***n
发帖数: 809
206
靠, 你时间都花在灌水上了, 首先, 你这种去看xx是一点营养都没的回答, 要是真
对我也认了,
问题是错的。 所以请再看看你的document,please。
其他同学请看看源码吧。
http://grepcode.com/file_/repository.grepcode.com/java/root/jdk
/**
* Returns the (non-null) Node at the specified element index.
*/
Node node(int index) {
// assert isElementIndex(index);
if (index < (size >> 1)) {
Node x = first;
for (int i = 0; i < index; i++)
x = x.next;
return x;
} else {
Node x = last;
for (int i = size - 1; i > index; i--)
x = x.prev;
return x;
}
}
看见for了吗?

【在 l*****a 的大作中提到】
: really?
: go back to search related document,please

l*****a
发帖数: 14598
207
谢谢你批评指点,我确实灌水比较多,只能一直骑驴找马。
不过请把下面这段code扔到你的IDE里面看看能不能compile and run:
List l=new LinkedList();
for(int i=0;i<10;i++) {
l.add(i);
}

for(int i=0;i System.out.println(l.get(i));
}
然后再看看LinkedList是否支持get method,
http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.h
最后再次感谢对我的批评指点,谢谢!

【在 c***n 的大作中提到】
: 靠, 你时间都花在灌水上了, 首先, 你这种去看xx是一点营养都没的回答, 要是真
: 对我也认了,
: 问题是错的。 所以请再看看你的document,please。
: 其他同学请看看源码吧。
: http://grepcode.com/file_/repository.grepcode.com/java/root/jdk
: /**
: * Returns the (non-null) Node at the specified element index.
: */
: Node node(int index) {
: // assert isElementIndex(index);

n**d
发帖数: 26
208
看到最后才看到有人说起get的事儿,我java只学过一学期还以为自己记错了呢。。
String str = list.get(i);这个遍历完应该是n2不是O(n)吧
c***n
发帖数: 809
209
有空再跑你的code, 不过就算你的link也说的清清楚楚
“Operations that index into the list will traverse the list from the
beginning or the end, whichever is closer to the specified index.”
我就不明白get(i) 有什么问题。

【在 l*****a 的大作中提到】
: 谢谢你批评指点,我确实灌水比较多,只能一直骑驴找马。
: 不过请把下面这段code扔到你的IDE里面看看能不能compile and run:
: List l=new LinkedList();
: for(int i=0;i<10;i++) {
: l.add(i);
: }
:
: for(int i=0;i: System.out.println(l.get(i));
: }

c***n
发帖数: 809
210
这个确实能compile, 但是linkedlist.get(i) 是 o(n), 没有人会对List<>
傻乎乎的用 get()。

【在 l*****a 的大作中提到】
: 谢谢你批评指点,我确实灌水比较多,只能一直骑驴找马。
: 不过请把下面这段code扔到你的IDE里面看看能不能compile and run:
: List l=new LinkedList();
: for(int i=0;i<10;i++) {
: l.add(i);
: }
:
: for(int i=0;i: System.out.println(l.get(i));
: }

相关主题
Second round phone interview with eBay4sum o(n^2)超时
灭三哥也不容易杯具!越改越差
leetcode出了新题word ladderLeetcode的系统真是弱爆了
进入JobHunting版参与讨论
m*****k
发帖数: 731
211
yes,
this looks more professional

【在 l***4 的大作中提到】
: 大牛来啦
:
: 好。

m*****k
发帖数: 731
212
因为在prod code里面任何一个函数都是默认保证参数是有效的
this is dangerous,
how can you guarantee each caller knows this and always keeps that in mind?

【在 A*****i 的大作中提到】
: 你没懂,我的意思是,他那段电面代码如果真是想招人的面试是不会用这些东西来卡人
: 的。
: 就第一句判断object是不是null的,我们production里从来不会那么做。
: 因为在prod code里面任何一个函数都是默认保证参数是有效的,因为我们都是在调用
: 的时候判断参数。也就刷题时候会在function里面加一句if null之类的。这些
: convention的东西如果放在电面里面个人感觉根本就不是诚心来招人的。

s*i
发帖数: 5025
213
这个要上升到哲学问题了啊。

【在 m*****k 的大作中提到】
: 因为在prod code里面任何一个函数都是默认保证参数是有效的
: this is dangerous,
: how can you guarantee each caller knows this and always keeps that in mind?

m*****k
发帖数: 731
214
not for arrayList

【在 w********s 的大作中提到】
: 看来据你是对了
: list.get(i)速度很慢的,因为要一个个遍历。
: 用iterator。

A*****i
发帖数: 3587
215
lol,你怎么保证你每次吃东西的时候都是用嘴而不是把饭塞到鼻子里?
这个版为啥总有一些自以为是的人提一些稀奇古怪的问题?

【在 m*****k 的大作中提到】
: 因为在prod code里面任何一个函数都是默认保证参数是有效的
: this is dangerous,
: how can you guarantee each caller knows this and always keeps that in mind?

m*****k
发帖数: 731
216
稀奇古怪的问题?
自以为是?
null check is a common practice,
再说我也不是唯一一个觉得应该null check的,
兄弟,就题论题,
if I offended you, I apologize.

【在 A*****i 的大作中提到】
: lol,你怎么保证你每次吃东西的时候都是用嘴而不是把饭塞到鼻子里?
: 这个版为啥总有一些自以为是的人提一些稀奇古怪的问题?

A*****i
发帖数: 3587
217
我可没有就题论题,每个公司prod code的内部convention是不一样的。
我举那个例子就是要说明G家如果用他们家自己的convention来要求一个没有来过G家的
面试者那就是故意找茬。
一帮人还在帮着分析到底是get快一些还是慢一些我都要笑死了,做题都做傻了一个个
的。

【在 m*****k 的大作中提到】
: 稀奇古怪的问题?
: 自以为是?
: null check is a common practice,
: 再说我也不是唯一一个觉得应该null check的,
: 兄弟,就题论题,
: if I offended you, I apologize.

h*****a
发帖数: 1718
218
没啥故意找茬吧。你去面G就要follow人家的规矩,至于是不是合理不在讨论之内,因
为这不能帮你拿到offer.你可以说你不喜欢G所以不去G面,或者你很牛早就有了更好的
选择,totally fine。但这个帖子的lz面G fail了过来问一下想找出原因,大家给的很
多原因都是reasonable的。也许这个同学或者旁观的同学看了之后能有所启发,下次面
G或者相似的公司就能避免类似的错误拿到offer.
现在面试落入了做题的pattern,好坏不能一概而论。但如果在事业起步阶段因为做题
拿到一个不错的offer可能让自己未来的路走的更顺利一些。至少大概率是如此。就如同
高考一样。

【在 A*****i 的大作中提到】
: 我可没有就题论题,每个公司prod code的内部convention是不一样的。
: 我举那个例子就是要说明G家如果用他们家自己的convention来要求一个没有来过G家的
: 面试者那就是故意找茬。
: 一帮人还在帮着分析到底是get快一些还是慢一些我都要笑死了,做题都做傻了一个个
: 的。

y**********u
发帖数: 6366
219
感觉现在complain面试官太多了
其实能做题也不一定是坏事,想想09年春天的时候,版上的主题是怎么背下effective
C++/more effective C++去面bloomberg

如同
家的
个个

【在 h*****a 的大作中提到】
: 没啥故意找茬吧。你去面G就要follow人家的规矩,至于是不是合理不在讨论之内,因
: 为这不能帮你拿到offer.你可以说你不喜欢G所以不去G面,或者你很牛早就有了更好的
: 选择,totally fine。但这个帖子的lz面G fail了过来问一下想找出原因,大家给的很
: 多原因都是reasonable的。也许这个同学或者旁观的同学看了之后能有所启发,下次面
: G或者相似的公司就能避免类似的错误拿到offer.
: 现在面试落入了做题的pattern,好坏不能一概而论。但如果在事业起步阶段因为做题
: 拿到一个不错的offer可能让自己未来的路走的更顺利一些。至少大概率是如此。就如同
: 高考一样。

A*****i
发帖数: 3587
220
背书做题都比和面试人周旋要容易的多。
因为答案是固定的,或者相对固定的。
现在抱怨的多是因为确实僧多粥少,面试的每次都要挑,挑来挑去有的就纯是凭感觉了

effective

【在 y**********u 的大作中提到】
: 感觉现在complain面试官太多了
: 其实能做题也不一定是坏事,想想09年春天的时候,版上的主题是怎么背下effective
: C++/more effective C++去面bloomberg
:
: 如同
: 家的
: 个个

相关主题
WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。微软有组在招new grad software engineer吗?
Word ladder II 感觉算法已经是最优了,但是过不了大测试,能不能帮忙看看?word ladder 时间空间复杂度是多少, bfs 解的
这段word ladder II怎么改?问一个时间复杂度的问题,求教求教
进入JobHunting版参与讨论
y**********u
发帖数: 6366
221
感觉现在机会还是很多啊,招人的公司不少
当然挑的面试官谁都经常能遇到

【在 A*****i 的大作中提到】
: 背书做题都比和面试人周旋要容易的多。
: 因为答案是固定的,或者相对固定的。
: 现在抱怨的多是因为确实僧多粥少,面试的每次都要挑,挑来挑去有的就纯是凭感觉了
:
: effective

k*******6
发帖数: 103
222
我只会python,最近在学java,看到这code的第一反应就是那个判断好多余。。。翻了
4页才有人提,我还以为java真得这么写呢。。。

【在 z****e 的大作中提到】
: 还有一个问题
: 不需要判断set.contains
: 无脑往set里面塞就好了
: set自己会去重
: 这题有一个陷阱就是如果要求对原list做处理的话
: 挨个remove的话,用强循环会出问题
: 一个常见的解决方案就是从后玩前iterate
: 或者每次都remove(0)

x***j
发帖数: 75
223
不判断的话,原来的顺序是不是不能保留了?

【在 k*******6 的大作中提到】
: 我只会python,最近在学java,看到这code的第一反应就是那个判断好多余。。。翻了
: 4页才有人提,我还以为java真得这么写呢。。。

j*****o
发帖数: 394
224
我同意前面一个id的猜测:楼主做题太慢了
你自己也说题很简单,哪能需要45min呢
人家可能只是warm up....结果你把时间全花了。。。
c*5
发帖数: 130
225
这题肯定不是这样啊 毕竟是google面试, 肯定要用快慢指针linear那个解法, 最后返
回整个array的subarray?? leetcode那是返回长度
c*5
发帖数: 130
226
最终return
result.subList(0, leftPointer+1) ?????
1 (共1页)
进入JobHunting版参与讨论
相关主题
word ladder 时间空间复杂度是多少, bfs 解的leetcode 上 wordladderII 求教
问一个时间复杂度的问题,求教求教Second round phone interview with eBay
DB面经灭三哥也不容易
讨论下lc最新的那道hard题吧leetcode出了新题word ladder
请假大家一道BB的题4sum o(n^2)超时
一道电面题,分享下, 这个题应该用哪几个data structure?杯具!越改越差
leetcode 129Leetcode的系统真是弱爆了
word ladder ii 谁给个大oj不超时的?WordLadderII 看到很多解法比较长。 抛砖引玉,求更简洁解法。
相关话题的讨论汇总
话题: string话题: list话题: arraylist话题: hashset话题: str