Redian新闻
>
电话面经(Microsoft, Amazon, Google, ...)
avatar
电话面经(Microsoft, Amazon, Google, ...)# JobHunting - 待字闺中
a*m
1
最近面了好几个公司,把题目和经验分享一下攒人品求祝福:
Amazon 两轮:
Round 1:
1. C++ Copy Constructor, 包括接口和deep vs. shallow的区别,这题答得一般,有些
细节没搞得特别透彻
2. Hash Table的实现和技术要点 (仔细看过一遍wiki就没问题了)
3. Large file, multiple lines, how to get any line in equal probablity. 这题
可以问得很深入,比如文件太大内存无法装入如何办。
我回答的思路:
内存够文件内容就都装入内存,然后randomGenerator选一行,one pass
内存不够可以记录每行的偏移值在内存,这样之后可以fseek到那一行去读取
如果偏移值都放不下,可以divide into ranges, 当然这个range的stepsize不好选,可
以预估,也可以动态改变(到这一层其实大致给些思路就ok了)
Round 2:
1. Research problem
2. How to build a service to generate an unique number for each client reque
st, 这个问题也可以问得很深入。
我回答的思路:
systemTime + IP --> IP不唯一 --> systemTime + ConnectionID
multiple requests --> build a distributed service so we need add hardware si
gniture to make sure the unqiueness
Another solutions is building a hashTable to store all generated numbers for
a check before sending number to client
拿到Onsite ...
Microsoft:
Some behavior questions
Singleton pattern concept, write a Singleton class (in multithreading enviro
nment)
拿到Onsite ... (特别感谢一位谈不上很熟的朋友给了很多帮助,所以这个onsite拿得
最顺利)
a startup:
String2int, 这题不难,但要考虑很多细节,比如+/-号,溢出等
Hash Table 实现与技术要点,与stl:map的区别和优劣
finding missing integer (enough memory solution, not enough memory solution)
, 基本上就是用bit-vector的思路,如果内存不够就1bit to a range
拿到Onsite ...
Google
Round 1:
1. 矩阵乘法 (紧张导致脑袋不清晰,虽然最后代码正确但中间出了挺多纰漏)
2. 一些基础的数据结构,arrary, list, hash, tree等等
虽然自我感觉糟糕还是被容许第二次电话面试
Round 2 (一个语气挺tough的同胞):
1. 股票的买入卖出,max the profit, 如果有多个pair产生max profit如何处理(这题
因为自己编程做过所以答得应该挺好)
2. general questions for image search, 问题挺笼统的,但我自己觉得都答到不错,
基本要点都没遗漏
被拒了,而且是拒在国人手上,看来面试碰到同胞还真的不是好事...
希望接下来的几个onsite能顺利过关~
avatar
H*7
2
NICE.都是经典题目阿.
avatar
g*e
3
2. How to build a service to generate an unique number for each client
request, 这个问题也可以问得很深入。
~~~用cpu和nic都有id,nic用的是mac,假设这里clients没有故意修改mac addr则为
guid。这两个加起来差不多够了。一般guid和randomize()的确会用到system clock
time。tcp connection的确有connection id的,而且会放在packet head里面。
1. 股票的买入卖出,max the profit, 如果有多个pair产生max profit如何处理(这
题因为自己编程做过所以答得应该挺好)
~~~~这题能不能解释一下,pair个数应该有限制吧?

有些

【在 a*m 的大作中提到】
: 最近面了好几个公司,把题目和经验分享一下攒人品求祝福:
: Amazon 两轮:
: Round 1:
: 1. C++ Copy Constructor, 包括接口和deep vs. shallow的区别,这题答得一般,有些
: 细节没搞得特别透彻
: 2. Hash Table的实现和技术要点 (仔细看过一遍wiki就没问题了)
: 3. Large file, multiple lines, how to get any line in equal probablity. 这题
: 可以问得很深入,比如文件太大内存无法装入如何办。
: 我回答的思路:
: 内存够文件内容就都装入内存,然后randomGenerator选一行,one pass

avatar
h*d
4
谢谢,顺便bless~
avatar
a*m
5
恩,hardware signiture在distributed service的情况下是必须的,其实我对网络和系
统硬件不熟,但只要他们能看到你思维的广度和深度就可以。Amazon我个人觉得面试的
题目都比较注重这个人解决问题的能力
那个股票的买入卖出我也第一次被问到这样的变种:就是produce max profit的买入卖
出有多个点,我当时的方案是准备两个list,然后判断的时候不能仅仅找两个点,而是要
maintain两个list, 事后我发现code还是有问题,但在当时时间很紧张的情况下,我觉
得很难写出flawless code去perfectly handle this problem. 个人感觉interview运气
挺重要的,碰到的人nice还是mean占了结果的50%吧

【在 g*****e 的大作中提到】
: 2. How to build a service to generate an unique number for each client
: request, 这个问题也可以问得很深入。
: ~~~用cpu和nic都有id,nic用的是mac,假设这里clients没有故意修改mac addr则为
: guid。这两个加起来差不多够了。一般guid和randomize()的确会用到system clock
: time。tcp connection的确有connection id的,而且会放在packet head里面。
: 1. 股票的买入卖出,max the profit, 如果有多个pair产生max profit如何处理(这
: 题因为自己编程做过所以答得应该挺好)
: ~~~~这题能不能解释一下,pair个数应该有限制吧?
:
: 有些

avatar
s*t
6
Thanks for sharing!

有些

【在 a*m 的大作中提到】
: 最近面了好几个公司,把题目和经验分享一下攒人品求祝福:
: Amazon 两轮:
: Round 1:
: 1. C++ Copy Constructor, 包括接口和deep vs. shallow的区别,这题答得一般,有些
: 细节没搞得特别透彻
: 2. Hash Table的实现和技术要点 (仔细看过一遍wiki就没问题了)
: 3. Large file, multiple lines, how to get any line in equal probablity. 这题
: 可以问得很深入,比如文件太大内存无法装入如何办。
: 我回答的思路:
: 内存够文件内容就都装入内存,然后randomGenerator选一行,one pass

avatar
s*t
7
对这两个list,你是指一个放买的,一个放卖的,然后相同的index就是一对?

和系
是要
运气

【在 a*m 的大作中提到】
: 恩,hardware signiture在distributed service的情况下是必须的,其实我对网络和系
: 统硬件不熟,但只要他们能看到你思维的广度和深度就可以。Amazon我个人觉得面试的
: 题目都比较注重这个人解决问题的能力
: 那个股票的买入卖出我也第一次被问到这样的变种:就是produce max profit的买入卖
: 出有多个点,我当时的方案是准备两个list,然后判断的时候不能仅仅找两个点,而是要
: maintain两个list, 事后我发现code还是有问题,但在当时时间很紧张的情况下,我觉
: 得很难写出flawless code去perfectly handle this problem. 个人感觉interview运气
: 挺重要的,碰到的人nice还是mean占了结果的50%吧

avatar
z*t
8
不错。 bless, 能不能多解释一下这2个问题 thanks
1. 股票的买入卖出,max the profit, 如果有多个pair产生max profit如何处理(这题
因为自己编程做过所以答得应该挺好)
2. general questions for image search, 问题挺笼统的,但我自己觉得都答到不错,
基本要点都没遗漏
avatar
l*a
9
give u an array of double profit[N]
find max(profit[j]-profit[i]) 0<=i
这题
错,

【在 z****t 的大作中提到】
: 不错。 bless, 能不能多解释一下这2个问题 thanks
: 1. 股票的买入卖出,max the profit, 如果有多个pair产生max profit如何处理(这题
: 因为自己编程做过所以答得应该挺好)
: 2. general questions for image search, 问题挺笼统的,但我自己觉得都答到不错,
: 基本要点都没遗漏

avatar
l*a
10
AMZN Round 1
question 3:
correct answer should use reservoir sampling

有些
这题

【在 a*m 的大作中提到】
: 最近面了好几个公司,把题目和经验分享一下攒人品求祝福:
: Amazon 两轮:
: Round 1:
: 1. C++ Copy Constructor, 包括接口和deep vs. shallow的区别,这题答得一般,有些
: 细节没搞得特别透彻
: 2. Hash Table的实现和技术要点 (仔细看过一遍wiki就没问题了)
: 3. Large file, multiple lines, how to get any line in equal probablity. 这题
: 可以问得很深入,比如文件太大内存无法装入如何办。
: 我回答的思路:
: 内存够文件内容就都装入内存,然后randomGenerator选一行,one pass

avatar
l*r
11
真是搞不懂,为啥有的同胞就是要为难中国人。
avatar
w*p
12
谢谢lz分享。也愿lz好消息快点来。
avatar
p*a
13
这个Amazon round1 的 题3, 正解到底是什么?
A or B?
A. LZ提到的当offset也放不完时,就放range,这个是什么意思?my guess: e.g. 放
line1, line1000, line 2000...的offset,当要一个random line时,就取相应range
的放到memory去,再找到这个line?
B. 另外有个reply说reservoir sampling, 似乎也对。

有些

【在 a*m 的大作中提到】
: 最近面了好几个公司,把题目和经验分享一下攒人品求祝福:
: Amazon 两轮:
: Round 1:
: 1. C++ Copy Constructor, 包括接口和deep vs. shallow的区别,这题答得一般,有些
: 细节没搞得特别透彻
: 2. Hash Table的实现和技术要点 (仔细看过一遍wiki就没问题了)
: 3. Large file, multiple lines, how to get any line in equal probablity. 这题
: 可以问得很深入,比如文件太大内存无法装入如何办。
: 我回答的思路:
: 内存够文件内容就都装入内存,然后randomGenerator选一行,one pass

avatar
m*l
14
2. How to build a service to generate an unique number for each client
request, 这个问题也可以问得很深入。
client IP+system time可以吗?
不行的话再加个counter

有些
这题

【在 a*m 的大作中提到】
: 最近面了好几个公司,把题目和经验分享一下攒人品求祝福:
: Amazon 两轮:
: Round 1:
: 1. C++ Copy Constructor, 包括接口和deep vs. shallow的区别,这题答得一般,有些
: 细节没搞得特别透彻
: 2. Hash Table的实现和技术要点 (仔细看过一遍wiki就没问题了)
: 3. Large file, multiple lines, how to get any line in equal probablity. 这题
: 可以问得很深入,比如文件太大内存无法装入如何办。
: 我回答的思路:
: 内存够文件内容就都装入内存,然后randomGenerator选一行,one pass

avatar
c*l
15
bless 膜拜牛人
avatar
m*i
16
这题要是内存不够就randomGenerator一个数,再match这个数去相应的行数,直接用
fseek找到读取
比如 randomGenerator 10 in [1, 99999999999999999999999999],知道第一行的位置
是1(当然也可以是100,1000,9999),fseek (1 + 10 - 1),读取那一行就可以了。
为什么要什么保存所有的offset或是什么range. 这个case不用这么复杂。
avatar
f*w
17
股票那个不是很明白啥意思
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。