由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - interview心得:我是如何做到bug free的
相关主题
经典递归题需要搞懂非递归算法吗?Rocket Fuel面经
Palantir面经感慨下找工作中的运气成分
求16暑期实习内推FG面经和感想
郁闷的求职过程攒人品,yahoo电面面经
G家 mixed feedback 正在等HC review微软onsite面试悲剧,附面经并求分析,多谢~
上面经面试中遇到不会的题咋办
正在等待M家面试Bloomberg面经,回报版上
湾区2012-2013,个人面筋总结分享面试经历
相关话题的讨论汇总
话题: bug话题: subset话题: free话题: 代码话题: 分钟
进入JobHunting版参与讨论
1 (共1页)
D*********G
发帖数: 193
1
看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
分享一下,如何避免coding bug的一些心得.
1.平常训练的时候,尽量遵循以下原则:
a) 确定输入,输出
b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
II,就可以用[1,2,2]
c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
trade off,然后eventually让你试试DFS.
d) 然后写出简单思路(类似于comments或者pseudo code)
e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的
过程注意力要全部放在代码的精简性和可读性。要知道,programming "language",这
个language真的是有语言的意义的,好的代码,一看就懂!
f) 写完代码之后,再测试更多的例子,例如subset II,可以试 [], [1], [1,1],...
之类的。可以花1-2分钟检查更多的例子,但是不宜过久。
g) 最后对面试官说 “done”
我的经验是step a) 到 c) 也就1-2分钟,除非你没读懂题。 d)可以1-3分钟,
depending on你的功底,不会的题,如果想了3分钟还不行,你就用brute force的方法
吧。 e)最多5分钟,除非你的step d)出了问题。f)可以1-3分钟,取决的题的复杂度
2. 平常练题的时候也要要求bug free。如果出现一些非常stupid的bug,要花时间好好
总结。
3. 我也是花了一些心思总结,才做到比较bug free的(算法熟悉的题,可以达到less
than 1/20 bug rate)。
最后,强烈推荐Palantir的官方blog, 这是我迄今为止见到最好的advises for SW
coding interview.
http://www.palantir.com/2011/10/the-coding-interview/
Good luck for everyone!
s**x
发帖数: 7506
2
说自己没有bug free 而没拿到 offer 的, 都是不知道自己真正的败因在哪里。
I am pretty certain bugs is probably the last thing everyting reasonable
interviewers actually checks.
高手过招, 一个眼神就知道你干什么了。 当你能清晰准确的讲出自己的思路后, 好
多面试官就开始看手机了,
p******4
发帖数: 31
3
感谢分享

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

g**s
发帖数: 2331
4
已阅。除了多练多总结,细致专注,没有捷径。
m*****t
发帖数: 13
5
多谢分享!
s*******m
发帖数: 38
6
鼓掌!!! 说得好

【在 s**x 的大作中提到】
: 说自己没有bug free 而没拿到 offer 的, 都是不知道自己真正的败因在哪里。
: I am pretty certain bugs is probably the last thing everyting reasonable
: interviewers actually checks.
: 高手过招, 一个眼神就知道你干什么了。 当你能清晰准确的讲出自己的思路后, 好
: 多面试官就开始看手机了,

l**********9
发帖数: 537
7
mark

看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。分享一下
,如何避免coding bug的一些心得.1.平常训练的时候,尽量遵循以下原则:a) 确定输
........

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

y*******g
发帖数: 6599
8
百闻不如一见,lz 贴github吧
M*********n
发帖数: 4839
9
bug free只是对于你见过的题目。
完全没见过的题目或者项目,能50%做到bug free你也不用刷题找工作了。
bug free就是个噱头。
M****l
发帖数: 416
10
谢谢楼主分享

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

相关主题
上面经Rocket Fuel面经
正在等待M家面试感慨下找工作中的运气成分
湾区2012-2013,个人面筋总结FG面经和感想
进入JobHunting版参与讨论
a*******d
发帖数: 9
11
我面试的时候,真要做到bug free,就不要想着写完了去跑test case,面试官在后面
观察的一清二楚,基本我刚写完,就会被告知有没有BUG,或者跑哪个test case,这时
候就要思路清楚地赶紧把bug挑出来。
遇到那种新题,那想一步bug free就太难了,一边要大声地把自己的思路想法表达出来
,一边还要把code写的规范清楚,之前面了一个读内存的题目,corner case 比较恶心
,还好面试官人不错,在我写的过程中,就不断让我去跑test case,最后写完,也就
bug free了
v***n
发帖数: 562
12
多谢总结!
n*******d
发帖数: 83
13
我面试别人的时候基本不太care那种加一减一这种小bug,corner case没考虑到不太会
影响hitr no hire决定
n*******d
发帖数: 83
14
不过还是感谢楼主帮大家总结!虽然有bug一般不会致命,但是能做到bug free会添彩:
-)
p***y
发帖数: 637
15
5分钟从澄清需求的写出伪码,除非题目很k基本吧?

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

p***y
发帖数: 637
16
边写边检查。写好后测试,自己找八哥,修好后说done..
不过,不知道主考官怎么期望,如果期望看背答案,飞快写好,那上述步骤就等着杯具
了。不过我一直觉得主考官没理由看人默写答案才是。

【在 M*********n 的大作中提到】
: bug free只是对于你见过的题目。
: 完全没见过的题目或者项目,能50%做到bug free你也不用刷题找工作了。
: bug free就是个噱头。

p***y
发帖数: 637
17
真心请教一下,如果你出一道原题,我正好没刷过,没法十分钟内直接写出代码,只能
一步一步研究解决出来了,比刷过的人多花了不少时间,期间还走了弯路再自己发现纠
正,代码自测也发现了bug并修好。这算是表现差还是好呢?以我个人见解是迅速写出
答案的明显刷题,需要出备用题目考核。不知道业界标准是怎样的?

【在 n*******d 的大作中提到】
: 我面试别人的时候基本不太care那种加一减一这种小bug,corner case没考虑到不太会
: 影响hitr no hire决定

j********x
发帖数: 2330
18
好帖子必然没人顶,顶的都是吵架跟技术红卫兵发传单。。。
支持楼主。。。步骤很实用
f**********9
发帖数: 88
19
mark

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

i*********h
发帖数: 49
20
mark
相关主题
攒人品,yahoo电面面经Bloomberg面经,回报版上
微软onsite面试悲剧,附面经并求分析,多谢~分享面试经历
面试中遇到不会的题咋办面试复习总结
进入JobHunting版参与讨论
n******a
发帖数: 83
21
mark
M*********6
发帖数: 263
22
谢谢分享
D*********G
发帖数: 193
23
看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
分享一下,如何避免coding bug的一些心得.
1.平常训练的时候,尽量遵循以下原则:
a) 确定输入,输出
b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
II,就可以用[1,2,2]
c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
trade off,然后eventually让你试试DFS.
d) 然后写出简单思路(类似于comments或者pseudo code)
e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的
过程注意力要全部放在代码的精简性和可读性。要知道,programming "language",这
个language真的是有语言的意义的,好的代码,一看就懂!
f) 写完代码之后,再测试更多的例子,例如subset II,可以试 [], [1], [1,1],...
之类的。可以花1-2分钟检查更多的例子,但是不宜过久。
g) 最后对面试官说 “done”
我的经验是step a) 到 c) 也就1-2分钟,除非你没读懂题。 d)可以1-3分钟,
depending on你的功底,不会的题,如果想了3分钟还不行,你就用brute force的方法
吧。 e)最多5分钟,除非你的step d)出了问题。f)可以1-3分钟,取决的题的复杂度
2. 平常练题的时候也要要求bug free。如果出现一些非常stupid的bug,要花时间好好
总结。
3. 我也是花了一些心思总结,才做到比较bug free的(算法熟悉的题,可以达到less
than 1/20 bug rate)。
最后,强烈推荐Palantir的官方blog, 这是我迄今为止见到最好的advises for SW
coding interview.
http://www.palantir.com/2011/10/the-coding-interview/
Good luck for everyone!
s**x
发帖数: 7506
24
说自己没有bug free 而没拿到 offer 的, 都是不知道自己真正的败因在哪里。
I am pretty certain bugs is probably the last thing everyting reasonable
interviewers actually checks.
高手过招, 一个眼神就知道你干什么了。 当你能清晰准确的讲出自己的思路后, 好
多面试官就开始看手机了,
p******4
发帖数: 31
25
感谢分享

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

g**s
发帖数: 2331
26
已阅。除了多练多总结,细致专注,没有捷径。
m*****t
发帖数: 13
27
多谢分享!
s*******m
发帖数: 38
28
鼓掌!!! 说得好

【在 s**x 的大作中提到】
: 说自己没有bug free 而没拿到 offer 的, 都是不知道自己真正的败因在哪里。
: I am pretty certain bugs is probably the last thing everyting reasonable
: interviewers actually checks.
: 高手过招, 一个眼神就知道你干什么了。 当你能清晰准确的讲出自己的思路后, 好
: 多面试官就开始看手机了,

l**********9
发帖数: 537
29
mark

看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。分享一下
,如何避免coding bug的一些心得.1.平常训练的时候,尽量遵循以下原则:a) 确定输
........

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

y*******g
发帖数: 6599
30
百闻不如一见,lz 贴github吧
相关主题
报个Google电面面经Palantir面经
leetcode已刷五遍还没offer, LZ快绝望了。。。求16暑期实习内推
经典递归题需要搞懂非递归算法吗?郁闷的求职过程
进入JobHunting版参与讨论
M*********n
发帖数: 4839
31
bug free只是对于你见过的题目。
完全没见过的题目或者项目,能50%做到bug free你也不用刷题找工作了。
bug free就是个噱头。
M****l
发帖数: 416
32
谢谢楼主分享

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

a*******d
发帖数: 9
33
我面试的时候,真要做到bug free,就不要想着写完了去跑test case,面试官在后面
观察的一清二楚,基本我刚写完,就会被告知有没有BUG,或者跑哪个test case,这时
候就要思路清楚地赶紧把bug挑出来。
遇到那种新题,那想一步bug free就太难了,一边要大声地把自己的思路想法表达出来
,一边还要把code写的规范清楚,之前面了一个读内存的题目,corner case 比较恶心
,还好面试官人不错,在我写的过程中,就不断让我去跑test case,最后写完,也就
bug free了
v***n
发帖数: 562
34
多谢总结!
n*******d
发帖数: 83
35
我面试别人的时候基本不太care那种加一减一这种小bug,corner case没考虑到不太会
影响hitr no hire决定
n*******d
发帖数: 83
36
不过还是感谢楼主帮大家总结!虽然有bug一般不会致命,但是能做到bug free会添彩:
-)
p***y
发帖数: 637
37
5分钟从澄清需求的写出伪码,除非题目很k基本吧?

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

p***y
发帖数: 637
38
边写边检查。写好后测试,自己找八哥,修好后说done..
不过,不知道主考官怎么期望,如果期望看背答案,飞快写好,那上述步骤就等着杯具
了。不过我一直觉得主考官没理由看人默写答案才是。

【在 M*********n 的大作中提到】
: bug free只是对于你见过的题目。
: 完全没见过的题目或者项目,能50%做到bug free你也不用刷题找工作了。
: bug free就是个噱头。

p***y
发帖数: 637
39
真心请教一下,如果你出一道原题,我正好没刷过,没法十分钟内直接写出代码,只能
一步一步研究解决出来了,比刷过的人多花了不少时间,期间还走了弯路再自己发现纠
正,代码自测也发现了bug并修好。这算是表现差还是好呢?以我个人见解是迅速写出
答案的明显刷题,需要出备用题目考核。不知道业界标准是怎样的?

【在 n*******d 的大作中提到】
: 我面试别人的时候基本不太care那种加一减一这种小bug,corner case没考虑到不太会
: 影响hitr no hire决定

j********x
发帖数: 2330
40
好帖子必然没人顶,顶的都是吵架跟技术红卫兵发传单。。。
支持楼主。。。步骤很实用
相关主题
郁闷的求职过程正在等待M家面试
G家 mixed feedback 正在等HC review湾区2012-2013,个人面筋总结
上面经Rocket Fuel面经
进入JobHunting版参与讨论
f**********9
发帖数: 88
41
mark

subset

【在 D*********G 的大作中提到】
: 看到版上很多水平不错的同胞,经常因为一些bug而没拿到offer,非常可惜。
: 分享一下,如何避免coding bug的一些心得.
: 1.平常训练的时候,尽量遵循以下原则:
: a) 确定输入,输出
: b) 先举例(这里举例不用太考虑Conner case),例如subset I,就可以用[1,2]; subset
: II,就可以用[1,2,2]
: c) 然后确定算法、方法.例如subset I,很多人都用BFS,但是面试官往往会问你一些
: trade off,然后eventually让你试试DFS.
: d) 然后写出简单思路(类似于comments或者pseudo code)
: e) 写代码,如果是dfs,最好先实现dfs sub-function. 如果step d做得好,写代码的

i*********h
发帖数: 49
42
mark
n******a
发帖数: 83
43
mark
M*********6
发帖数: 263
44
谢谢分享
f********c
发帖数: 147
45
mark
p********n
发帖数: 165
46
agree.

【在 M*********n 的大作中提到】
: bug free只是对于你见过的题目。
: 完全没见过的题目或者项目,能50%做到bug free你也不用刷题找工作了。
: bug free就是个噱头。

m*******g
发帖数: 410
47
分析得透彻,得刷题熟练吧。
p*****9
发帖数: 273
48
Mark
p*****9
发帖数: 273
49
Mark
1 (共1页)
进入JobHunting版参与讨论
相关主题
分享面试经历G家 mixed feedback 正在等HC review
面试复习总结上面经
报个Google电面面经正在等待M家面试
leetcode已刷五遍还没offer, LZ快绝望了。。。湾区2012-2013,个人面筋总结
经典递归题需要搞懂非递归算法吗?Rocket Fuel面经
Palantir面经感慨下找工作中的运气成分
求16暑期实习内推FG面经和感想
郁闷的求职过程攒人品,yahoo电面面经
相关话题的讨论汇总
话题: bug话题: subset话题: free话题: 代码话题: 分钟