Redian新闻
>
大盘不妙,有要rally的迹象
avatar
大盘不妙,有要rally的迹象# Stock
m*a
1
本人EE某苦逼专业,找工作很不容易,几个月以来得到了版上很多同学的热情帮助。现
在终于告一段落,发个面经回报本版。
我是通过版上一位“内推F,长期有效”的大哥拿到F面试的。第一次店面问了两个题。
第一个斐波那契数列,我写了一行的递归函数,interviewer说不好,又写了iteration
的。第二个问了全部合法括号组合那道题(leetcode原题)。
主要说第二次。问题是美式橄榄球,假设只有三种得分方式,touchdown:6分,PAT:1
分,conversion: 2分。比如说某队共得10分,那么得分情况可能是这样的:touchdown
暗喜。又是leetcode原题丫:combination sum。 于是二话不说开始直接敲入脑子里记
着的code,之前没有跟Interviewer有任何分析题的过程,敲code的时候解释也很少。
直接写了一个iterative的解法,花了十分钟左右。Interviewer看出我在背题,很不满
意,要我给每句话加上commend。我感觉情况不妙,还是硬着头皮把commend加上,又花
十分钟。但是Interviewer还是不满意,要我从头解释。等我一句一句跟他讲清楚,时
间也快到了。
Interviewer最后放出杀手锏,说我的输出根本不对!!!
大家也许记得,Leetcode里那道Combination Sum应该是这样输出的 6 2 1 1. 而这道
题要求的输出应该是 1 1 2 (代表一次Touch down, 一次conversion, 二次PAT)。
正当我要恍然大悟要改code的时候,Interviewer说时间快到不用改了,有什么问题赶
紧问他吧。我胡乱问个问题,草草结束了面试,感觉非常糟糕。果然,一个周末过后收
到据信。
教训:
切记一句老生常谈:面试是交流的过程,运用知识的过程。所以最重要的是把如何分析
问题,如何把思路变成code的过程说给Interview听,而不是仅仅写出一段死记硬背的
code。 所以大家在看到leetcode原题或者近似原题的时候千万不要匆忙开敲。花上一
分钟从头分析一下逻辑,再花上两三分钟跟interviewer交流一下idea是绝对必要的。
沉舟侧畔千帆过。希望最近面试的同学不要犯我的错误,充分发挥,多多拿大offer!
avatar
i*z
2
rt
avatar
y*u
3
要求太高了。。。

iteration
1
touchdown

【在 m***a 的大作中提到】
: 本人EE某苦逼专业,找工作很不容易,几个月以来得到了版上很多同学的热情帮助。现
: 在终于告一段落,发个面经回报本版。
: 我是通过版上一位“内推F,长期有效”的大哥拿到F面试的。第一次店面问了两个题。
: 第一个斐波那契数列,我写了一行的递归函数,interviewer说不好,又写了iteration
: 的。第二个问了全部合法括号组合那道题(leetcode原题)。
: 主要说第二次。问题是美式橄榄球,假设只有三种得分方式,touchdown:6分,PAT:1
: 分,conversion: 2分。比如说某队共得10分,那么得分情况可能是这样的:touchdown
: 暗喜。又是leetcode原题丫:combination sum。 于是二话不说开始直接敲入脑子里记
: 着的code,之前没有跟Interviewer有任何分析题的过程,敲code的时候解释也很少。
: 直接写了一个iterative的解法,花了十分钟左右。Interviewer看出我在背题,很不满

avatar
g8
4
又要搞到G(MAX PAIN)点?
avatar
b*c
5
f家一般只有一次电面,可能你第一次面得不好,第二次又滑铁卢,需要加强技巧啊。
avatar
T*s
6
IBM again
avatar
m*a
7
说得太对了,第一次人家问我challenge project, 我一激动开始跟人家讲论文里的
math,一直讲到interviewer打断我。。。现在想起来那个十分钟效果等于零,甚至是负的

【在 b*****c 的大作中提到】
: f家一般只有一次电面,可能你第一次面得不好,第二次又滑铁卢,需要加强技巧啊。
avatar
i*z
8
操他老祖宗的,果然升了
avatar
s*x
9
Fibonacci 写递归函数一条普通公司都可以拒了。复杂度高到天上去了。
avatar
I*e
10
至少收到-70点以上

【在 i***z 的大作中提到】
: 操他老祖宗的,果然升了
avatar
M*a
11
妈呀。。我今天电面也一句话没说。
不是在背题。实在是再思考啊!!!!!!!
本来脑子就不够用了。能想明白就不错了。
avatar
M*a
12
不是斐波那契。先递归一下。然后再改进一下么。。。。
avatar
s*x
13

记得有本书讲dynamic programming 专门拿斐波那契作例子。自己Google 吧。

【在 M**a 的大作中提到】
: 不是斐波那契。先递归一下。然后再改进一下么。。。。
avatar
m*a
14
别担心,那说明你做的是难题。做出来就很加分了。给我的题都比较渣,再出问题就不
能原谅了

【在 M**a 的大作中提到】
: 妈呀。。我今天电面也一句话没说。
: 不是在背题。实在是再思考啊!!!!!!!
: 本来脑子就不够用了。能想明白就不错了。

avatar
I*x
15
虽然递归可以做,但是我觉得没有必要用递归做吧,用递归有点浪费时间了说实话,我
觉得用两次for loop就好了,大家还有什么更好的解法嘛
avatar
A*i
16
说实话第一次听到斐波那契的时候第一反应就是迭代
能不用递归就不用是我老的原则

【在 M**a 的大作中提到】
: 不是斐波那契。先递归一下。然后再改进一下么。。。。
avatar
l*a
17
介绍一下你这个iterative的solution吧
只会递归的,谢谢

iteration
1
touchdown

【在 m***a 的大作中提到】
: 本人EE某苦逼专业,找工作很不容易,几个月以来得到了版上很多同学的热情帮助。现
: 在终于告一段落,发个面经回报本版。
: 我是通过版上一位“内推F,长期有效”的大哥拿到F面试的。第一次店面问了两个题。
: 第一个斐波那契数列,我写了一行的递归函数,interviewer说不好,又写了iteration
: 的。第二个问了全部合法括号组合那道题(leetcode原题)。
: 主要说第二次。问题是美式橄榄球,假设只有三种得分方式,touchdown:6分,PAT:1
: 分,conversion: 2分。比如说某队共得10分,那么得分情况可能是这样的:touchdown
: 暗喜。又是leetcode原题丫:combination sum。 于是二话不说开始直接敲入脑子里记
: 着的code,之前没有跟Interviewer有任何分析题的过程,敲code的时候解释也很少。
: 直接写了一个iterative的解法,花了十分钟左右。Interviewer看出我在背题,很不满

avatar
l*8
18
这题可以这样吧?
void printCombination(int n) {
for (int td = 0; td * 6 <= n; ++td)
for (int conv = 0; td * 6 + conv * 2 <= n; ++ conv)
cout << td << ' ' << conv << ' ' << n - td*6 - conv*2 << endl;
}

【在 l*****a 的大作中提到】
: 介绍一下你这个iterative的solution吧
: 只会递归的,谢谢
:
: iteration
: 1
: touchdown

avatar
l*a
19
多种可能的时候怎么扩展

【在 l*********8 的大作中提到】
: 这题可以这样吧?
: void printCombination(int n) {
: for (int td = 0; td * 6 <= n; ++td)
: for (int conv = 0; td * 6 + conv * 2 <= n; ++ conv)
: cout << td << ' ' << conv << ' ' << n - td*6 - conv*2 << endl;
: }

avatar
l*8
20
有更多可能的时候,就不能这样写了。

【在 l*****a 的大作中提到】
: 多种可能的时候怎么扩展
avatar
l*a
21
所以你这个写法在面试中绝对会悲剧的

【在 l*********8 的大作中提到】
: 有更多可能的时候,就不能这样写了。
avatar
l*8
22
看面试官吧

【在 l*****a 的大作中提到】
: 所以你这个写法在面试中绝对会悲剧的
avatar
a*0
23
combination sum有个未知大小的candidate pool 所以递归
这个题目完全可以嵌套for loop完成啊

iteration
1
touchdown

【在 m***a 的大作中提到】
: 本人EE某苦逼专业,找工作很不容易,几个月以来得到了版上很多同学的热情帮助。现
: 在终于告一段落,发个面经回报本版。
: 我是通过版上一位“内推F,长期有效”的大哥拿到F面试的。第一次店面问了两个题。
: 第一个斐波那契数列,我写了一行的递归函数,interviewer说不好,又写了iteration
: 的。第二个问了全部合法括号组合那道题(leetcode原题)。
: 主要说第二次。问题是美式橄榄球,假设只有三种得分方式,touchdown:6分,PAT:1
: 分,conversion: 2分。比如说某队共得10分,那么得分情况可能是这样的:touchdown
: 暗喜。又是leetcode原题丫:combination sum。 于是二话不说开始直接敲入脑子里记
: 着的code,之前没有跟Interviewer有任何分析题的过程,敲code的时候解释也很少。
: 直接写了一个iterative的解法,花了十分钟左右。Interviewer看出我在背题,很不满

avatar
w*r
24
交流,idea很重要哦
avatar
z*g
25
可惜了这么好的机会,题都不难的。。。
我也是苦逼专业,正在改一份sde简历,只上过os, data structure加os,只有course
project,以lz的经验看能不能拿的fb这种公司的面试?

iteration
1
touchdown

【在 m***a 的大作中提到】
: 本人EE某苦逼专业,找工作很不容易,几个月以来得到了版上很多同学的热情帮助。现
: 在终于告一段落,发个面经回报本版。
: 我是通过版上一位“内推F,长期有效”的大哥拿到F面试的。第一次店面问了两个题。
: 第一个斐波那契数列,我写了一行的递归函数,interviewer说不好,又写了iteration
: 的。第二个问了全部合法括号组合那道题(leetcode原题)。
: 主要说第二次。问题是美式橄榄球,假设只有三种得分方式,touchdown:6分,PAT:1
: 分,conversion: 2分。比如说某队共得10分,那么得分情况可能是这样的:touchdown
: 暗喜。又是leetcode原题丫:combination sum。 于是二话不说开始直接敲入脑子里记
: 着的code,之前没有跟Interviewer有任何分析题的过程,敲code的时候解释也很少。
: 直接写了一个iterative的解法,花了十分钟左右。Interviewer看出我在背题,很不满

avatar
m*k
26
@Test
public void testFootballCombinationSum(){
int[] scores = {6,2,1};
footballCombinationSum(10, scores);
}
*****************************************************
public void footballCombinationSum( int total , int[] scores){

Map scoresUsed = new HashMap<>();
footballCombinationSumNoDup( scoresUsed, total, scores, 0 );
}


private void footballCombinationSumNoDup( Map
scoresUsed , int total, int[] scores, int scoreStartIdx ){

if(total == 0){
System.out.println(scoresUsed);
return;
}

for (int i=scoreStartIdx; iif (total>=scores[i]){
//increase count
Integer count = scoresUsed.get(scores[i]);
if(count == null){
count = 0;
}
scoresUsed.put(scores[i], count + 1);

footballCombinationSumNoDup( scoresUsed, total - scores[i],
scores, i );

//decrease count
count = scoresUsed.get(scores[i]);
scoresUsed.put(scores[i], count - 1);
}
}
}
**********************
{2=2, 6=1}
{1=2, 2=1, 6=1}
{1=4, 2=0, 6=1}
{1=0, 2=5, 6=0}
{1=2, 2=4, 6=0}
{1=4, 2=3, 6=0}
{1=6, 2=2, 6=0}
{1=8, 2=1, 6=0}
{1=10, 2=0, 6=0}
avatar
z*3
27
用set不是更快,干嘛自己去实现

【在 m*****k 的大作中提到】
: @Test
: public void testFootballCombinationSum(){
: int[] scores = {6,2,1};
: footballCombinationSum(10, scores);
: }
: *****************************************************
: public void footballCombinationSum( int total , int[] scores){
:
: Map scoresUsed = new HashMap<>();
: footballCombinationSumNoDup( scoresUsed, total, scores, 0 );

avatar
m*a
28
握手,握手。我连Os,data structure也没上过呢。店面被拒,也没啥底气说经验。不
过看过不少版上成功人士的面经,感觉也是基础题比较多,多加练习,好好发挥,应该
有机会的。
不过话说回来,也只有FLG不停招人。我们自己专业机会少,只能去搏这个了。

course

【在 z*******g 的大作中提到】
: 可惜了这么好的机会,题都不难的。。。
: 我也是苦逼专业,正在改一份sde简历,只上过os, data structure加os,只有course
: project,以lz的经验看能不能拿的fb这种公司的面试?
:
: iteration
: 1
: touchdown

avatar
y*n
29
感觉楼上是题做太多,太熟了。哈哈。
avatar
h*6
30
要求 PAT + conversion <= touchdown 吗?
avatar
m*a
31
我说我不懂足球,他就没有加其他限制

【在 h**6 的大作中提到】
: 要求 PAT + conversion <= touchdown 吗?
avatar
m*k
32
人家要的是啥用了多少数目, 不是用了啥。

【在 z*******3 的大作中提到】
: 用set不是更快,干嘛自己去实现
avatar
T*u
34
dsf也可以吧。有重复的情况怎么解?比如[1 1 2] 和 【2 1 1】

【在 a**********0 的大作中提到】
: combination sum有个未知大小的candidate pool 所以递归
: 这个题目完全可以嵌套for loop完成啊
:
: iteration
: 1
: touchdown

avatar
y*n
35
这个不是重复。得分的顺序不一样。
avatar
h*8
36
话说楼主你leetcode原题随便一道都能住,记性够好的.
avatar
l*7
37
should be just counting,
if sequence is considered, the difficulty is another level

【在 y***n 的大作中提到】
: 这个不是重复。得分的顺序不一样。
avatar
z*e
38
实现一下equals&hashcode方法,扔到set里自动去重
本质上跟map是一样的,只要看到有去重的需求,就想到用set

【在 m*****k 的大作中提到】
: 人家要的是啥用了多少数目, 不是用了啥。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。