avatar
s*t
1
第一面:
a list of words, given one word, such as "sun", get all the words which
contains all the characters of "sun" in the list.
Matrix. and write a function to see the neighbors of (x,y), see if they are
mines. (扫雷游戏) (coding)
第二面:
1.已知 31bit random 数,求random32bit数。(coding)
2.给个interger array, 求是否有两个数的和跟sum相同。(coding)
3.
class Cache {
Cache(int size);
bool read(K key, V *value);
void write(K key, V value);
};
时间有限,交流有问题,没太听明白他的意思,貌似类似hashtable,实现如何检索读
取快些。
第一个面试官是个中国人,人非常nice,也没出难题难为我,在此表示感
avatar
z*n
2
冻蒜!
avatar
p*w
3
不错不错

are

【在 s*******t 的大作中提到】
: 第一面:
: a list of words, given one word, such as "sun", get all the words which
: contains all the characters of "sun" in the list.
: Matrix. and write a function to see the neighbors of (x,y), see if they are
: mines. (扫雷游戏) (coding)
: 第二面:
: 1.已知 31bit random 数,求random32bit数。(coding)
: 2.给个interger array, 求是否有两个数的和跟sum相同。(coding)
: 3.
: class Cache {

avatar
T*4
4
在哪?

【在 z*********n 的大作中提到】
: 冻蒜!
avatar
s*i
5
随机数那个,跟rand(5)生成rand(7)一个道理吧

are

【在 s*******t 的大作中提到】
: 第一面:
: a list of words, given one word, such as "sun", get all the words which
: contains all the characters of "sun" in the list.
: Matrix. and write a function to see the neighbors of (x,y), see if they are
: mines. (扫雷游戏) (coding)
: 第二面:
: 1.已知 31bit random 数,求random32bit数。(coding)
: 2.给个interger array, 求是否有两个数的和跟sum相同。(coding)
: 3.
: class Cache {

avatar
z*n
6
不是要换届了吗
我提名老胡

【在 z*********n 的大作中提到】
: 冻蒜!
avatar
P*e
7
rand(5)是怎么弄的?*7/5?

【在 s*****i 的大作中提到】
: 随机数那个,跟rand(5)生成rand(7)一个道理吧
:
: are

avatar
T*4
8
那你说清楚点啊
大家好支持

【在 z*********n 的大作中提到】
: 不是要换届了吗
: 我提名老胡

avatar
d*2
9
这有点儿郁闷,和我有点儿像,过了第一面觉得很开心,结果第二面挂的莫名其妙的。
这里问一下,是不是Google第一面和第二面的人都可以拒你,只不过无论第一轮面的怎
么样,都会面第
二轮呢

are

【在 s*******t 的大作中提到】
: 第一面:
: a list of words, given one word, such as "sun", get all the words which
: contains all the characters of "sun" in the list.
: Matrix. and write a function to see the neighbors of (x,y), see if they are
: mines. (扫雷游戏) (coding)
: 第二面:
: 1.已知 31bit random 数,求random32bit数。(coding)
: 2.给个interger array, 求是否有两个数的和跟sum相同。(coding)
: 3.
: class Cache {

avatar
t*e
10
为啥不见他的踪影,
要我看,你来好了。

【在 z*********n 的大作中提到】
: 冻蒜!
avatar
r*o
11
已知31bit random数,求random 32bit数的那个题目怎么做阿?

are

【在 s*******t 的大作中提到】
: 第一面:
: a list of words, given one word, such as "sun", get all the words which
: contains all the characters of "sun" in the list.
: Matrix. and write a function to see the neighbors of (x,y), see if they are
: mines. (扫雷游戏) (coding)
: 第二面:
: 1.已知 31bit random 数,求random32bit数。(coding)
: 2.给个interger array, 求是否有两个数的和跟sum相同。(coding)
: 3.
: class Cache {

avatar
s*i
12
a = rand31();
b = rand31();
c = (a-1)*31 + (b-1); //uniform distributed between 0 and 960
return c%32;
rand5 -> rand7 照葫芦画瓢的

【在 r****o 的大作中提到】
: 已知31bit random数,求random 32bit数的那个题目怎么做阿?
:
: are

avatar
b*g
13
多谢。祝你早日拿到offer
avatar
r*o
14
问问,ran5 是 输出1-5,还是0-5?

【在 s*****i 的大作中提到】
: a = rand31();
: b = rand31();
: c = (a-1)*31 + (b-1); //uniform distributed between 0 and 960
: return c%32;
: rand5 -> rand7 照葫芦画瓢的

avatar
s*i
15
1-5
改了一点错的地方

【在 r****o 的大作中提到】
: 问问,ran5 是 输出1-5,还是0-5?
avatar
l*u
16
不太懂,为什么要a-1 和 b-1 呢。

【在 s*****i 的大作中提到】
: a = rand31();
: b = rand31();
: c = (a-1)*31 + (b-1); //uniform distributed between 0 and 960
: return c%32;
: rand5 -> rand7 照葫芦画瓢的

avatar
h*k
17
题目是从31bit随机数变成32bit
而且你的方法mod 32后,0-31出现的概率好像不相等吧

【在 s*****i 的大作中提到】
: a = rand31();
: b = rand31();
: c = (a-1)*31 + (b-1); //uniform distributed between 0 and 960
: return c%32;
: rand5 -> rand7 照葫芦画瓢的

avatar
w*l
18
是的。而且你面试感觉好不一定说明最后结果就好。有时候对方觉得简单题你答不上就
问你更简单的,让你自己happy一下。需要对方说实话的话可以临结束问一下有戏没戏。

【在 d********2 的大作中提到】
: 这有点儿郁闷,和我有点儿像,过了第一面觉得很开心,结果第二面挂的莫名其妙的。
: 这里问一下,是不是Google第一面和第二面的人都可以拒你,只不过无论第一轮面的怎
: 么样,都会面第
: 二轮呢
:
: are

avatar
d*2
19
好吧,看来是一开始给的印象就很弱吧。结果问了2个很简单的问题,还以为是老中照
顾我呢。。。。。
。move on吧。。。。

戏。

【在 w*********l 的大作中提到】
: 是的。而且你面试感觉好不一定说明最后结果就好。有时候对方觉得简单题你答不上就
: 问你更简单的,让你自己happy一下。需要对方说实话的话可以临结束问一下有戏没戏。

avatar
g*y
20
你的第一面的第一题我觉得还挺难的,记得以前版上讨论过。
anyway,bless一下~

are

【在 s*******t 的大作中提到】
: 第一面:
: a list of words, given one word, such as "sun", get all the words which
: contains all the characters of "sun" in the list.
: Matrix. and write a function to see the neighbors of (x,y), see if they are
: mines. (扫雷游戏) (coding)
: 第二面:
: 1.已知 31bit random 数,求random32bit数。(coding)
: 2.给个interger array, 求是否有两个数的和跟sum相同。(coding)
: 3.
: class Cache {

avatar
s*i
21
为什么不相等? c是0-960均匀分布的。

【在 h**k 的大作中提到】
: 题目是从31bit随机数变成32bit
: 而且你的方法mod 32后,0-31出现的概率好像不相等吧

avatar
s*i
22
给每个词做个签名,统计一下每个字母出现的次数。然后比较一下签名就行了?

【在 g*******y 的大作中提到】
: 你的第一面的第一题我觉得还挺难的,记得以前版上讨论过。
: anyway,bless一下~
:
: are

avatar
g*y
23
这个方法倒是不难想到,但是还要再提高就难了。

【在 s*****i 的大作中提到】
: 给每个词做个签名,统计一下每个字母出现的次数。然后比较一下签名就行了?
avatar
m*k
24
第一题的最优解是什么?

【在 g*******y 的大作中提到】
: 你的第一面的第一题我觉得还挺难的,记得以前版上讨论过。
: anyway,bless一下~
:
: are

avatar
m*k
25
谁能解释一下这个解法?

【在 s*****i 的大作中提到】
: a = rand31();
: b = rand31();
: c = (a-1)*31 + (b-1); //uniform distributed between 0 and 960
: return c%32;
: rand5 -> rand7 照葫芦画瓢的

avatar
f*y
26
could someone help explain this algorithm a little bit? Why do (a-1)*31 + (b
-1) and why mod by 32?
Thanks in advance

【在 s*****i 的大作中提到】
: a = rand31();
: b = rand31();
: c = (a-1)*31 + (b-1); //uniform distributed between 0 and 960
: return c%32;
: rand5 -> rand7 照葫芦画瓢的

avatar
s*l
27
我觉得他题目理解错了?
这里是产生31bit,而不是1...31?

(b

【在 f*******y 的大作中提到】
: could someone help explain this algorithm a little bit? Why do (a-1)*31 + (b
: -1) and why mod by 32?
: Thanks in advance

avatar
l*i
28

有没有人解答一下
正确的应该怎么做?

【在 s***l 的大作中提到】
: 我觉得他题目理解错了?
: 这里是产生31bit,而不是1...31?
:
: (b

avatar
o*d
29
思路跟 rand5 rand7 一样
rand31() 产生每个数x1,x2...的概率是 1/2^31
所以产生一对(x1,x2)的概率就是 1/2^62
因为只需要2^32个数 于是将所有pair 每2^30形成一组就是了
于是就有了2^32个组,每组代表一个数就是了
具体实现上当然不需要用乘 那太大了
看x2的某一位(比如最高位)是0 还是1 就可以了
所以最终的答案就是从x2里面拿某一位插入到x1中的某一位就是了

【在 l****i 的大作中提到】
: 恩
: 有没有人解答一下
: 正确的应该怎么做?

avatar
v*s
30
我想出来一个办法,大家看看对不对
假设rand31bit()函数返回一个高位为0的数
int MAX31 = 2^31;
int a = rand31bit();
int c = rand31bit();
int result = (a<<1)+ (?(c>MAX31/2));
avatar
g*s
31
c>MAX31/2 应该是 >=
avatar
g*s
32
其实也不用这么麻烦,就(a<<1)+(c>>30)就行了
avatar
d*v
33
32 bit 就是 31 bit 的数字的2倍啊
a=rand31()
b=rand31()
c=a+b
c is rand32()
avatar
l*g
34
你这样两个rand31()相加,得到的数应该不是uniformly distributed, 就好比用rand2
()+rand2()得到一个rand4()肯定不是uniformly distributed.
楼上提出的这种解法:(a<<1)+(c>>30)应该是对的。
avatar
b*y
35
I have another one:
(rand31()%2)<<31 + rand31();
Is this correct?
rand31()%2 is to uniformly get 0 or 1, then shift this to left 31 positions
so that it will be the 32th bit.
And then + rand31() would be the new 32bit number.
avatar
r*o
36
rand31()&0x01+rand31()<<1 是不是也可以,

positions

【在 b*******y 的大作中提到】
: I have another one:
: (rand31()%2)<<31 + rand31();
: Is this correct?
: rand31()%2 is to uniformly get 0 or 1, then shift this to left 31 positions
: so that it will be the 32th bit.
: And then + rand31() would be the new 32bit number.

avatar
b*r
37
扫雷游戏的能贴下CODE么?
avatar
S*A
38
is any bit in rand31() uniformly distributed in [0,1]?
if so, we don't need 2 rand31()

【在 r****o 的大作中提到】
: rand31()&0x01+rand31()<<1 是不是也可以,
:
: positions

avatar
h*r
39
Then (rand1()%2)<<31 + rand31() is good enough.
Anyway, rand31 has provided the random of lower 31 bits, then remaining task is to provide the random result for the 32nd bit.

positions

【在 b*******y 的大作中提到】
: I have another one:
: (rand31()%2)<<31 + rand31();
: Is this correct?
: rand31()%2 is to uniformly get 0 or 1, then shift this to left 31 positions
: so that it will be the 32th bit.
: And then + rand31() would be the new 32bit number.

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