avatar
j*c
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的老码农就更好了。
最后呼吁并祝福广大聪明智慧精力充沛的大侠们能多想一些创业的
好点子,干出几番事业,为咱们中国人今后在海外的发展打下更加
坚实的基础。
*
*
*/
avatar
n*n
2
我当初也是信号不好, 第一个人是wifi不好,看不到我coding,第二个人是听不清电
话,结果两个人一商量,觉得我是在耍他们。。。。。所以直接就拒了,我操
avatar
w*x
3
G家电面3周没回复, 给recruiter发信也不回的飘过
avatar
p*2
4

被G拒过多次的飘过

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

【在 w****x 的大作中提到】
: G家电面3周没回复, 给recruiter发信也不回的飘过
avatar
s*k
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

avatar
s*u
7
这个第二题 该怎么解? 我觉得LZ的解法不错啊, 用前16bit分成小文件,发给不同的
机器并行计算,如果还大,继续分解,然后用hash table 找每个小文件的
intersection。
如果是sorted, 分成小文件以后 就不用hash table 了 直接one-pass 就可以了
不知道面试官想要个什么解法?
avatar
s*u
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

avatar
g*y
9
“即将每一个文件第一次都根据第一个16BIT分成最多64K个小文件”
这64k个文件可不小: 2^(64-16) * 8 byte
avatar
p*2
10
第二题感觉用external sort把两个文件sort了,然后再用two pointer扫一遍
avatar
p*2
11

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

【在 s********k 的大作中提到】
: bigNums用什么最好?vector?string?linked list?
avatar
p*2
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

avatar
k*x
13
能说说理由么?

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

avatar
p*2
14

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

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

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

avatar
N*N
16
倒数第二段。。

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

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

【在 B*******1 的大作中提到】
: 怎么看出是用c的,大牛。
avatar
s*k
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?

avatar
c*t
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

avatar
p*2
20

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

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

avatar
c*t
21
问一下我list里用整数可以吗?如果大于最大整数则进位到下一个node.

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

avatar
c*t
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

avatar
k*x
23
一直用C的, 一点问题都没有

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

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

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

avatar
p*2
25

StringBuffer吧。

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

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

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

如果你用Java会更强大。

【在 k*****x 的大作中提到】
: 一直用C的, 一点问题都没有
avatar
H*s
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的时候内存是连续
: 的吗?

avatar
s*z
29
external sort 在面试中需要写出来吗? 感觉蛮复杂的

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

avatar
p*2
30

应该不用吧。

【在 s***z 的大作中提到】
: external sort 在面试中需要写出来吗? 感觉蛮复杂的
avatar
w*x
31
我Google店面的时候一个排序数组去重的问题差点没写出来, 当时我深深地被自己震惊
了...
avatar
g*e
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

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

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

avatar
c*p
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

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

,比
间都

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

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

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

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