由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 失荆州 - G电面经
相关主题
A, A, G, G, L, C, Z, U 面经 + offerA, A, G, G, L, C, Z, U 面经 + offer (转载)
问个题 weighted random samplingA, A, G, G, L, C, Z, U 面经 + offer (转载)
c++定义bignum
相关话题的讨论汇总
话题: bignums话题: recruiter话题: bug话题: 文件
进入JobHunting版参与讨论
1 (共1页)
j**c
发帖数: 9
1
/*
* 失荆州 - G电面经
*
两道G的电面题:
-----------------------------------------------------------
1. You are going to work with “bigNums”, which are
objects containing a positive integer with an
unlimited number of decimal digits.
a) declare a struct to represent “bigNums”
b) write a function that takes as arguments a bigNum
and a positive integer between 0 and 9, adds them
and returns the answer (a bigNum)
10 - 9 = 1
--------------
2. You are given two very large files of unsigned 64
bit integers. Write to an output file all the numbers
that appear in both files, but there should be no
duplicates in the output file (like an intersection).
16 + 16 + 16 + 16
-----------------------------------------------------------
已被据。
教训:
1. 即使Recruiter说了Interviewer要用G+ Hangout也要准备
好电话,最好是Landline的,除非Mobile或VOIP的效果特别好。
听不清对方的话非常影响面试双方的情绪。我按RECRUITER说的
准备好了HANGOUT,结果INTERVIEWER电话直接打到我手机上了。
2. 简单的CODING题写完后一定要自己冷静的检查两遍以求BUG
FREE再说OK。不要怕花时间,欲速则不达: 题目简单INTERVIEWER
就只有靠BUG FREE来刷人了。我急匆匆的写完后就问WILL THIS DO?
结果被INTERVIEWER连着指出两个BUG,都是他鼠标一移到那行,
我就看出来了。他想指第三个时没移鼠标只是问又在文档上写
10-9=?,我当时没反应过来也没听清楚他为什么这么问,就写了
10-9=1, 并问他这是还在问同一个题目还是下一个题目。
他直接在下一行输入 -------------- 就出第二题了。
3. 第二题我说可以将64BIT的整数看成4个16BIT的数依次处理,
INTERVIEWER说这样(的思路)不行,他最后提示问如果文件是
SORTED可以怎么办。结束后想了想,当时应该把我的思路讲清楚,
即将每一个文件第一次都根据第一个16BIT分成最多64K个小文件
再逐次作类似处理。可能INTERVIEWER希望我能先问问HOW BIG
ARE THE "VERY LARGE FILES"吧,反正我也没听清他说的反例
好象照我那样的思路做要花好几个月的时间。
无缘无缘,从开始被朋友暗推,两次被RECRUITER爽约,接连两天
被同一INTERVIWER放鸽子,到今天收到被据电话,白白浪费了我
两个多月的时间。
感谢历届版主及版上提供面经参与讨论的同学!
更感谢LEETCODE(1337c0d3r)大侠及其创办的网站!如果能加入对
GNU C的SUPPORT以更加方便象我这样不熟悉C++STL的老码农就更好了。
最后呼吁并祝福广大聪明智慧精力充沛的大侠们能多想一些创业的
好点子,干出几番事业,为咱们中国人今后在海外的发展打下更加
坚实的基础。
*
*
*/
n******n
发帖数: 567
2
我当初也是信号不好, 第一个人是wifi不好,看不到我coding,第二个人是听不清电
话,结果两个人一商量,觉得我是在耍他们。。。。。所以直接就拒了,我操
w****x
发帖数: 2483
3
G家电面3周没回复, 给recruiter发信也不回的飘过
p*****2
发帖数: 21240
4

被G拒过多次的飘过

【在 w****x 的大作中提到】
: G家电面3周没回复, 给recruiter发信也不回的飘过
C***U
发帖数: 2406
5
他们面试前一般都会问一大堆背景问题么?然后先要推荐信?

【在 w****x 的大作中提到】
: G家电面3周没回复, 给recruiter发信也不回的飘过
s********k
发帖数: 6180
6
bigNums用什么最好?vector?string?linked list?

【在 j**c 的大作中提到】
: /*
: * 失荆州 - G电面经
: *
: 两道G的电面题:
: -----------------------------------------------------------
: 1. You are going to work with “bigNums”, which are
: objects containing a positive integer with an
: unlimited number of decimal digits.
: a) declare a struct to represent “bigNums”
: b) write a function that takes as arguments a bigNum

s***u
发帖数: 101
7
这个第二题 该怎么解? 我觉得LZ的解法不错啊, 用前16bit分成小文件,发给不同的
机器并行计算,如果还大,继续分解,然后用hash table 找每个小文件的
intersection。
如果是sorted, 分成小文件以后 就不用hash table 了 直接one-pass 就可以了
不知道面试官想要个什么解法?
s***u
发帖数: 101
8
第一题,最后的意思是不是 要你 先判断 输入的那个integer 是不是 在0-9的数?

【在 j**c 的大作中提到】
: /*
: * 失荆州 - G电面经
: *
: 两道G的电面题:
: -----------------------------------------------------------
: 1. You are going to work with “bigNums”, which are
: objects containing a positive integer with an
: unlimited number of decimal digits.
: a) declare a struct to represent “bigNums”
: b) write a function that takes as arguments a bigNum

g****y
发帖数: 240
9
“即将每一个文件第一次都根据第一个16BIT分成最多64K个小文件”
这64k个文件可不小: 2^(64-16) * 8 byte
p*****2
发帖数: 21240
10
第二题感觉用external sort把两个文件sort了,然后再用two pointer扫一遍
相关主题
A, A, G, G, L, C, Z, U 面经 + offerA, A, G, G, L, C, Z, U 面经 + offer (转载)
问个题 weighted random samplingA, A, G, G, L, C, Z, U 面经 + offer (转载)
c++定义bignum
进入JobHunting版参与讨论
p*****2
发帖数: 21240
11

看语言吧。用什么问题都不是很大。算法都一样。

【在 s********k 的大作中提到】
: bigNums用什么最好?vector?string?linked list?
p*****2
发帖数: 21240
12

给LZ一个建议。不要用C去面试。

【在 j**c 的大作中提到】
: /*
: * 失荆州 - G电面经
: *
: 两道G的电面题:
: -----------------------------------------------------------
: 1. You are going to work with “bigNums”, which are
: objects containing a positive integer with an
: unlimited number of decimal digits.
: a) declare a struct to represent “bigNums”
: b) write a function that takes as arguments a bigNum

k***x
发帖数: 6799
13
能说说理由么?

【在 p*****2 的大作中提到】
:
: 给LZ一个建议。不要用C去面试。

p*****2
发帖数: 21240
14

careercup 150那本书上已经解释过了。

【在 k***x 的大作中提到】
: 能说说理由么?
B*******1
发帖数: 2454
15
怎么看出是用c的,大牛。

【在 p*****2 的大作中提到】
:
: careercup 150那本书上已经解释过了。

N**N
发帖数: 1713
16
倒数第二段。。

【在 B*******1 的大作中提到】
: 怎么看出是用c的,大牛。
p*****2
发帖数: 21240
17

a) declare a struct to represent “bigNums”
这题用Java不简单多了。还用define?

【在 B*******1 的大作中提到】
: 怎么看出是用c的,大牛。
s********k
发帖数: 6180
18
算法是一样,不过如果用C string,是否还要考虑最高位进位的情况下string buffer
overflow的问题,linked list最笨,不过如果数据超级长,内存上比起string这样的
连续内存有优势吧,vector 不熟,C++大牛说一下vector push back的时候内存是连续
的吗?

【在 p*****2 的大作中提到】
:
: a) declare a struct to represent “bigNums”
: 这题用Java不简单多了。还用define?

c********t
发帖数: 5706
19
pat pat 我也悲剧过,下次再来
1题java可用ArrayList, 提示可能是说你的代码没考虑溢出要进位的情况,或出错?
问一下我list里用整数可以吗?如果大于最大整数则进位到下一个node.
2题,同意peking2, 觉得用external sort可以

【在 j**c 的大作中提到】
: /*
: * 失荆州 - G电面经
: *
: 两道G的电面题:
: -----------------------------------------------------------
: 1. You are going to work with “bigNums”, which are
: objects containing a positive integer with an
: unlimited number of decimal digits.
: a) declare a struct to represent “bigNums”
: b) write a function that takes as arguments a bigNum

p*****2
发帖数: 21240
20

buffer
面互联网公司就不要用C。

【在 s********k 的大作中提到】
: 算法是一样,不过如果用C string,是否还要考虑最高位进位的情况下string buffer
: overflow的问题,linked list最笨,不过如果数据超级长,内存上比起string这样的
: 连续内存有优势吧,vector 不熟,C++大牛说一下vector push back的时候内存是连续
: 的吗?

相关主题
A, A, G, G, L, C, Z, U 面经 + offerA, A, G, G, L, C, Z, U 面经 + offer (转载)
问个题 weighted random samplingA, A, G, G, L, C, Z, U 面经 + offer (转载)
c++定义bignum
进入JobHunting版参与讨论
c********t
发帖数: 5706
21
问一下我list里用整数可以吗?如果大于最大整数则进位到下一个node.

【在 p*****2 的大作中提到】
:
: buffer
: 面互联网公司就不要用C。

c********t
发帖数: 5706
22
又想了一下,第一题用String也可以吧?

【在 j**c 的大作中提到】
: /*
: * 失荆州 - G电面经
: *
: 两道G的电面题:
: -----------------------------------------------------------
: 1. You are going to work with “bigNums”, which are
: objects containing a positive integer with an
: unlimited number of decimal digits.
: a) declare a struct to represent “bigNums”
: b) write a function that takes as arguments a bigNum

k*****x
发帖数: 23
23
一直用C的, 一点问题都没有

【在 p*****2 的大作中提到】
:
: buffer
: 面互联网公司就不要用C。

s********k
发帖数: 6180
24
这话对,不过G家现在远远不是一家纯粹的互联网公司了

【在 p*****2 的大作中提到】
:
: buffer
: 面互联网公司就不要用C。

p*****2
发帖数: 21240
25

StringBuffer吧。

【在 c********t 的大作中提到】
: 又想了一下,第一题用String也可以吧?
p*****2
发帖数: 21240
26

要看面试你的人。G家面试官大多数不是搞C的。

【在 s********k 的大作中提到】
: 这话对,不过G家现在远远不是一家纯粹的互联网公司了
p*****2
发帖数: 21240
27

如果你用Java会更强大。

【在 k*****x 的大作中提到】
: 一直用C的, 一点问题都没有
H****s
发帖数: 247
28
vector 内存是连续的,不过问题是每次size超过2^n都要resize到2^(n+1), 也就是要
重新分配内存然后copy原来的数据到新分配的内存区域,然后释放老的内存区域。
linked list 最笨,不过没有重新分配内存的问题。

buffer

【在 s********k 的大作中提到】
: 算法是一样,不过如果用C string,是否还要考虑最高位进位的情况下string buffer
: overflow的问题,linked list最笨,不过如果数据超级长,内存上比起string这样的
: 连续内存有优势吧,vector 不熟,C++大牛说一下vector push back的时候内存是连续
: 的吗?

s***z
发帖数: 5
29
external sort 在面试中需要写出来吗? 感觉蛮复杂的

【在 c********t 的大作中提到】
: pat pat 我也悲剧过,下次再来
: 1题java可用ArrayList, 提示可能是说你的代码没考虑溢出要进位的情况,或出错?
: 问一下我list里用整数可以吗?如果大于最大整数则进位到下一个node.
: 2题,同意peking2, 觉得用external sort可以

p*****2
发帖数: 21240
30

应该不用吧。

【在 s***z 的大作中提到】
: external sort 在面试中需要写出来吗? 感觉蛮复杂的
相关主题
A, A, G, G, L, C, Z, U 面经 + offerA, A, G, G, L, C, Z, U 面经 + offer (转载)
问个题 weighted random samplingA, A, G, G, L, C, Z, U 面经 + offer (转载)
c++定义bignum
进入JobHunting版参与讨论
w****x
发帖数: 2483
31
我Google店面的时候一个排序数组去重的问题差点没写出来, 当时我深深地被自己震惊
了...
g*****e
发帖数: 282
32
第二天要现场code实现么?这种海量数据的套路吹起来容易写起来难啊

【在 j**c 的大作中提到】
: /*
: * 失荆州 - G电面经
: *
: 两道G的电面题:
: -----------------------------------------------------------
: 1. You are going to work with “bigNums”, which are
: objects containing a positive integer with an
: unlimited number of decimal digits.
: a) declare a struct to represent “bigNums”
: b) write a function that takes as arguments a bigNum

h*******e
发帖数: 1377
33
那个北京2哥, 我感觉c++ stl 还是挺方便的。。 但是缺点就是 ansi c++的话没有
hash set. 比如acm 的oj 要是自己实现hash_set 感觉吃不少亏的。要记住一个大的
prime数。。而且还容易出错。。

【在 p*****2 的大作中提到】
:
: 应该不用吧。

c****p
发帖数: 6474
34
bignums可以用int数组或者value为int的linklist吧,每个元素/结点可以多存几位,比
如每个结点可以千进位,万进位(32位的int实际可以以10^9进位)。这样空间和时间都
省不少,虽然只是省出一个比较小的常数。。。。

【在 j**c 的大作中提到】
: /*
: * 失荆州 - G电面经
: *
: 两道G的电面题:
: -----------------------------------------------------------
: 1. You are going to work with “bigNums”, which are
: objects containing a positive integer with an
: unlimited number of decimal digits.
: a) declare a struct to represent “bigNums”
: b) write a function that takes as arguments a bigNum

h*******e
发帖数: 1377
35
如果是infinite number是不是就不要存了。。直接由标准输入输出读入吧 两个int相
加 然后进位记下来 , 不过这个要 和考官商量好低位先读入阿, 否则高位先进的话
谁知道 要等多久才能 两个数对齐。。然后输到白纸上还是哪里。。
求inifinite 数duplicate的不太会 用堆还是什么

,比
间都

【在 c****p 的大作中提到】
: bignums可以用int数组或者value为int的linklist吧,每个元素/结点可以多存几位,比
: 如每个结点可以千进位,万进位(32位的int实际可以以10^9进位)。这样空间和时间都
: 省不少,虽然只是省出一个比较小的常数。。。。

h*******e
发帖数: 1377
36
不是unlimited 而是big number int数组 就好吧 不用太担心空间的。。否则复杂度大
容易错的。。
s********k
发帖数: 6180
37
发现这题还是用list 方便,另外如果这题有negative的话,处理起来要麻烦多了

【在 H****s 的大作中提到】
: vector 内存是连续的,不过问题是每次size超过2^n都要resize到2^(n+1), 也就是要
: 重新分配内存然后copy原来的数据到新分配的内存区域,然后释放老的内存区域。
: linked list 最笨,不过没有重新分配内存的问题。
:
: buffer

1 (共1页)
进入JobHunting版参与讨论
相关主题
A, A, G, G, L, C, Z, U 面经 + offer (转载)问个题 weighted random sampling
A, A, G, G, L, C, Z, U 面经 + offer (转载)c++定义bignum
A, A, G, G, L, C, Z, U 面经 + offer
相关话题的讨论汇总
话题: bignums话题: recruiter话题: bug话题: 文件