|
|
|
|
|
|
a*m 发帖数: 14 | 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能顺利过关~ | H******7 发帖数: 1728 | | g*****e 发帖数: 282 | 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
| h**********d 发帖数: 4313 | | a*m 发帖数: 14 | 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个数应该有限制吧? : : 有些
| s*******t 发帖数: 248 | 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
| s*******t 发帖数: 248 | 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%吧
| z****t 发帖数: 1090 | 8 不错。 bless, 能不能多解释一下这2个问题 thanks
1. 股票的买入卖出,max the profit, 如果有多个pair产生max profit如何处理(这题
因为自己编程做过所以答得应该挺好)
2. general questions for image search, 问题挺笼统的,但我自己觉得都答到不错,
基本要点都没遗漏 | l*****a 发帖数: 14598 | 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, 问题挺笼统的,但我自己觉得都答到不错, : 基本要点都没遗漏
| l*****a 发帖数: 14598 | 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
| | | l*********r 发帖数: 674 | | w*****p 发帖数: 215 | | p*****a 发帖数: 147 | 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
| m********l 发帖数: 4394 | 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
| c*****l 发帖数: 879 | | m****i 发帖数: 650 | 16 这题要是内存不够就randomGenerator一个数,再match这个数去相应的行数,直接用
fseek找到读取
比如 randomGenerator 10 in [1, 99999999999999999999999999],知道第一行的位置
是1(当然也可以是100,1000,9999),fseek (1 + 10 - 1),读取那一行就可以了。
为什么要什么保存所有的offset或是什么range. 这个case不用这么复杂。 | f*****w 发帖数: 2602 | |
|
|
|
|
|
|