a*****s 发帖数: 1121 | 1 上周五的onsitee,只刷过三道leetcode题目,硬着头皮上了。免得是大数据platform
组SMTS,挂了,不知道谁黑的。
一个俄国小哥:
比较热情, 先问了stack用linklist和array实现的优缺点,然后问了如何用二维数组
存储神经网络,比较耐心的引导类型,最后时间没有了,就只讨论了一下为什么这么做
。俺提出了一些可能的;
印度人:
上来很详细的问了以前的做的东西,HIVE如何转化成TEZ的,TEZ和MAPREDUCE的性能区
别,Slider提交任务需要那三个文件,我说就是三个json文件关于资源请求,可执行文
件等等,半年前作的实在记不清了,他解释说是metainfo.xml, 和两个json文件,俺
就极力说服他,please检查slider的apache JIRA buglist,现在俺还有几个ticket要
解决,他说他会。没让写code
一个国人伯克利小伙子:
随便问了问以前的项目,然后让做题, 给两个string,一个str1,一个str2,找出
str1里所有的str2
出现的第一个位置:比如ababab,ab那么返回数组[0,2,4]。先让写testcase,都
写出来了,提示我有一个情况没写,俺解释说已经出现过了。然后坑坑粑粑的写完了程
序,时间到了,他说程序没问题
跟经理吃饭,behavior问题
美国人:
问了一个给定一分,二分,五分的硬币,如何给一个数字x,那么如何用最少的coin来
表示x:
俺分析了greedy algorithm,先跟5分取余,在跟2余,在1余,把除数加起来就是了。
然后改成1分,3。5分,5分,如何做?俺先想了probablilty的决策树,然后被direct
回图论,后来就是BFS,然后俺提出了一些优化方案,比如,如果跟3.5取余还有.5余数
,那么这一个分支就不用traverse了。
国人大哥:
系统设计:一个threadpoolexecutor的queue很多put,dispatcher在get,如果put很多
怎么办,要写个method,一个是put一个是get,俺先想了如果queue full了需要那么
put方法sleep,sleep时间可以采用fabnacci数列,但是有最大值限制,达到最大值后
再返回,因为queue的访问服从possion分布,后来问如何马上让put的线程知道。我说
我们可以用wait和notifyall,但是没用过,他比较nice的说这个很简单,但是你没用
过,我们问个别的吧。
问了个string permutation问题,
a:
ab: ab,ba
abc: abc,acb,cab,bac,bca,cba
俺给了recursion方法,花的时间有点久,后来写的没时间了,跟他想的方法不太一样
,但是equavilent。
经理:
设计题:
1.如果slider提交的container继续trigger AM,那么YARN的RM会不会负责fault-
tolerance,答案是如果这个container提交AM时通过slider, yes,如果不是,NO。
2. 使用YARN+SLIDER,如何保证applicationMaster是可以trace的,如果发生failure
,如何再次找到AM。刚开始俺说你保存到数据库,后来发现他问的是同一个
application,就告诉他说,YARN的RM会提供RESTAPI,直接用applicationID就可以找
到application master的host地址和port,YARN命令行也可以。他问为啥之前没想到
RESTAPI,俺说没理解你问的是同一个application
3. 给一个系统,如何准确的找出第一百万个用户click。
俺先系统的给了一个设计三角形,定点依次是:时间,空间和精确度,告诉他,图灵机
的设计如果需要节省时间,那么需要牺牲空间和精确度,对于需要节省空间和提高精确
度类似。当然时间是有最小值的,不是完全能用空间和精确度来trade的。等等。 然后
开始设计。
俺提供了如下方案:
a. memcache 或是redis类似的分布式kv数据结构。
b. 分布式系统的同步方法,就是第一个发送自己的数量和一个atomtic
incrementalvalue,然后第二个收到后,加上自己的数,再increase the 个counter,
以此类推。他说如果网络如果很忙,cluster足够大,俺就说,你是不是想减少通信次
数,就提供了MPI使用的REDUCE机制只需要log(n)步,然后他加入了failure,俺说那
可能需要加入冗余, 因为failure的基本解决原则就是冗余。
c. 后来又提出可以在前端loadbalancer内部加入cache,几集cache, write back or
write through等方法的优劣。
今天给经理发信,说是挂了,没给原因,大家帮忙分析一下为啥,谢谢。 |
l******n 发帖数: 648 | 2 我觉得你回答的很不错
要不是有刷题把这个bar弄的这么高
你这经验没问题
platform
【在 a*****s 的大作中提到】 : 上周五的onsitee,只刷过三道leetcode题目,硬着头皮上了。免得是大数据platform : 组SMTS,挂了,不知道谁黑的。 : 一个俄国小哥: : 比较热情, 先问了stack用linklist和array实现的优缺点,然后问了如何用二维数组 : 存储神经网络,比较耐心的引导类型,最后时间没有了,就只讨论了一下为什么这么做 : 。俺提出了一些可能的; : 印度人: : 上来很详细的问了以前的做的东西,HIVE如何转化成TEZ的,TEZ和MAPREDUCE的性能区 : 别,Slider提交任务需要那三个文件,我说就是三个json文件关于资源请求,可执行文 : 件等等,半年前作的实在记不清了,他解释说是metainfo.xml, 和两个json文件,俺
|
b**********5 发帖数: 7881 | 3 workday 要屁个大数据??!!
现在面经, 越来越难。。。 |
e***a 发帖数: 1661 | 4 Although LZ has plenty of experience,
probably the hiring bar is becoming very high only for Chinese. |
a*****s 发帖数: 1121 | 5 多谢牛肉姐鼓励。
【在 b**********5 的大作中提到】 : workday 要屁个大数据??!! : 现在面经, 越来越难。。。
|
a*****s 发帖数: 1121 | 6 另外他家说不给办H1b,只办transfer。希望对后来人有帮助。 |
f*******r 发帖数: 976 | 7 Move on. 祝LZ早日拿大offer
上周五的onsitee,只刷过三道leetcode题目,硬着头皮上了。免得是大数据platform
组SMTS,挂了,不知道谁黑的。
一个俄国小哥:
比较热情, 先问了stack用linklist和array实现的优缺点,然后问了如何用二维数组
存储神经网络,比较耐心的引导类型,最后时间没有了,就只讨论了一下为什么这么做
。俺提出了一些可能的;
印度人:
上来很详细的问了以前的做的东西,HIVE如何转化成TEZ的,TEZ和MAPREDUCE的性能区
别,Slider提交任务需要那三个文件,我说就是三个json文件关于资源请求,可执行文
件等等,半年前作的实在记不清了,他解释说是metainfo.xml, 和两个json文件,俺
就极力说服他,please检查slider的apache JIRA buglist,现在俺还有几个ticket要
解决,他说他会。没让写code
一个国人伯克利小伙子:
随便问了问以前的项目,然后让做题, 给两个string,一个str1,一个str2,找出
str1里所有的str2
出现的第一个位置:比如ababab,ab那么返回数组[0,2,4]。先让写testcase,都
写出来了,提示我有一个情况没写,俺解释说已经出现过了。然后坑坑粑粑的写完了程
序,时间到了,他说程序没问题
跟经理吃饭,behavior问题
美国人:
问了一个给定一分,二分,五分的硬币,如何给一个数字x,那么如何用最少的coin来
表示x:
俺分析了greedy algorithm,先跟5分取余,在跟2余,在1余,把除数加起来就是了。
然后改成1分,3。5分,5分,如何做?俺先想了probablilty的决策树,然后被direct
回图论,后来就是BFS,然后俺提出了一些优化方案,比如,如果跟3.5取余还有.5余数
,那么这一个分支就不用traverse了。
国人大哥:
系统设计:一个threadpoolexecutor的queue很多put,dispatcher在get,如果put很多
怎么办,要写个method,一个是put一个是get,俺先想了如果queue full了需要那么
put方法sleep,sleep时间可以采用fabnacci数列,但是有最大值限制,达到最大值后
再返回,因为queue的访问服从possion分布,后来问如何马上让put的线程知道。我说
我们可以用wait和notifyall,但是没用过,他比较nice的说这个很简单,但是你没用
过,我们问个别的吧。
问了个string permutation问题,
a:
ab: ab,ba
abc: abc,acb,cab,bac,bca,cba
俺给了recursion方法,花的时间有点久,后来写的没时间了,跟他想的方法不太一样
,但是equavilent。
经理:
设计题:
1.如果slider提交的container继续trigger AM,那么YARN的RM会不会负责fault-
tolerance,答案是如果这个container提交AM时通过slider, yes,如果不是,NO。
2. 使用YARN+SLIDER,如何保证applicationMaster是可以trace的,如果发生failure
,如何再次找到AM。刚开始俺说你保存到数据库,后来发现他问的是同一个
application,就告诉他说,YARN的RM会提供RESTAPI,直接用applicationID就可以找
到application master的host地址和port,YARN命令行也可以。他问为啥之前没想到
RESTAPI,俺说没理解你问的是同一个application
3. 给一个系统,如何准确的找出第一百万个用户click。
俺先系统的给了一个设计三角形,定点依次是:时间,空间和精确度,告诉他,图灵机
的设计如果需要节省时间,那么需要牺牲空间和精确度,对于需要节省空间和提高精确
度类似。当然时间是有最小值的,不是完全能用空间和精确度来trade的。等等。 然后
开始设计。
俺提供了如下方案:
a. memcache 或是redis类似的分布式kv数据结构。
b. 分布式系统的同步方法,就是第一个发送自己的数量和一个atomtic
incrementalvalue,然后第二个收到后,加上自己的数,再increase the 个counter,
以此类推。他说如果网络如果很忙,cluster足够大,俺就说,你是不是想减少通信次
数,就提供了MPI使用的REDUCE机制只需要log(n)步,然后他加入了failure,俺说那
可能需要加入冗余, 因为failure的基本解决原则就是冗余。
c. 后来又提出可以在前端loadbalancer内部加入cache,几集cache, write back or
write through等方法的优劣。
今天给经理发信,说是挂了,没给原因,大家帮忙分析一下为啥,谢谢。
【在 a*****s 的大作中提到】 : 上周五的onsitee,只刷过三道leetcode题目,硬着头皮上了。免得是大数据platform : 组SMTS,挂了,不知道谁黑的。 : 一个俄国小哥: : 比较热情, 先问了stack用linklist和array实现的优缺点,然后问了如何用二维数组 : 存储神经网络,比较耐心的引导类型,最后时间没有了,就只讨论了一下为什么这么做 : 。俺提出了一些可能的; : 印度人: : 上来很详细的问了以前的做的东西,HIVE如何转化成TEZ的,TEZ和MAPREDUCE的性能区 : 别,Slider提交任务需要那三个文件,我说就是三个json文件关于资源请求,可执行文 : 件等等,半年前作的实在记不清了,他解释说是metainfo.xml, 和两个json文件,俺
|
I*******x 发帖数: 69 | 8 确实是这样的,在career fair上明确说的。
【在 a*****s 的大作中提到】 : 另外他家说不给办H1b,只办transfer。希望对后来人有帮助。
|
h**********a 发帖数: 562 | 9 lz,我小声提醒一下哈,那个硬币的问题,你那种解法不对滴,该用dp的。
http://www.mitbbs.com/article_t/JobHunting/33076895.html
还有那个国人大哥的系统设计:一个threadpoolexecutor的queue,这个是不是问的多
线程下面的同步机制啊,比如说拿信号量或者条件变量实现生产者和消费者问题? |
e***a 发帖数: 1661 | 10 Has the big-data job market been saturated? |
|
|
a******e 发帖数: 82 | 11 同感,感觉lz把有些问题想得过于复杂了。
【在 h**********a 的大作中提到】 : lz,我小声提醒一下哈,那个硬币的问题,你那种解法不对滴,该用dp的。 : http://www.mitbbs.com/article_t/JobHunting/33076895.html : 还有那个国人大哥的系统设计:一个threadpoolexecutor的queue,这个是不是问的多 : 线程下面的同步机制啊,比如说拿信号量或者条件变量实现生产者和消费者问题?
|
g*******e 发帖数: 107 | 12 硬币问题的第一个没看出什么问题呀。但第二问应该是dp问题,可以转化为有weight 1
:2:1的2, 14, 10的背包问题?
[发表自未名空间手机版 - m.mitbbs.com]
【在 h**********a 的大作中提到】 : lz,我小声提醒一下哈,那个硬币的问题,你那种解法不对滴,该用dp的。 : http://www.mitbbs.com/article_t/JobHunting/33076895.html : 还有那个国人大哥的系统设计:一个threadpoolexecutor的queue,这个是不是问的多 : 线程下面的同步机制啊,比如说拿信号量或者条件变量实现生产者和消费者问题?
|
a*****s 发帖数: 1121 | 13 dp的前提是:全局可以拆成可重复的局部,局部最优可以导致全局最优,其实也是
greedy algorithm的思想。
如果是5,2,1的话,个人认为是没有问题的,但是加入3.5就有问题了。不知道是不是
符合你的想法。
那个设计题,国人大哥直接跟俺说了时用wait和notifyall的,不含糊。个人觉得这位
大哥很值得俺尊敬。
【在 h**********a 的大作中提到】 : lz,我小声提醒一下哈,那个硬币的问题,你那种解法不对滴,该用dp的。 : http://www.mitbbs.com/article_t/JobHunting/33076895.html : 还有那个国人大哥的系统设计:一个threadpoolexecutor的queue,这个是不是问的多 : 线程下面的同步机制啊,比如说拿信号量或者条件变量实现生产者和消费者问题?
|
a*****s 发帖数: 1121 | 14 谢谢大家回复,后来知道是culture不match,希望提醒一下大家,不同的公司风格不同
。有些公司喜欢不断深入讨论,给出不寻常解法的人,注重思维过程和火花的并发;有
些公司希望你低调一点,不知道就老实说不知道,要学会给足人家面子;有些介于两者
之间。
但是俺自己也检讨自己,可能有时候太过强势,太想跟别人探讨问题,怀疑一切(读
PHD的后遗症),导致别人感情上不舒服,也是很有可能的。毕竟不是谁都能接受别人
的频繁质疑并乐在其中的。
希望对后来人有所帮助吧。继续努力刷题了。呵呵。 |
e***a 发帖数: 1661 | 15 which company do u work for now? |
h**********a 发帖数: 562 | 16 5,2,1可以,换成别的数不可以,所有说,greedy不work啊!我们写代码当然要解决一
类问题啦:).换个数字比较说明问题,假如给你1,5,15,20和25,要想得到40,哪种组
合?按照greedy就是1个25,1个15,1个5,一共就是3个硬币。但是2个20的用的更少,2
个更少。所有必须遍历所有能凑成40的组合,才能得到最优。greedy给出的解,用的硬
币肯定比较少,但不一定是最少的。
另外你说的wait和notifyall,是个函数吗,还是就是个概念啊。如果是个概念,那比
如具体到linux下(我只知道linux下),就可以用semaphore,conditional virable的
sem_wait, sem_post, pthread_cond_wait什么的啊。和国人大哥说的似乎没有矛盾?
【在 a*****s 的大作中提到】 : dp的前提是:全局可以拆成可重复的局部,局部最优可以导致全局最优,其实也是 : greedy algorithm的思想。 : 如果是5,2,1的话,个人认为是没有问题的,但是加入3.5就有问题了。不知道是不是 : 符合你的想法。 : 那个设计题,国人大哥直接跟俺说了时用wait和notifyall的,不含糊。个人觉得这位 : 大哥很值得俺尊敬。
|
j**********3 发帖数: 3211 | |
a*****2 发帖数: 96 | 18 硬币的那个是不是应该用DP,
数字 x
硬币 1,2,5
int DP[x+1]
DP[0] = 0
DP[i] = x+1, for i = 1,...,x
int[] coins = new int[]{1,2,5};
for(int i = 1 ; i <= x; i++ )
for(int j = 0 ; j < 3; j++)
if(i >= coins[j])
DP[i-1] = min(DP[i-1],DP[i-coins[j]]+1);
return DP[x]; |
y*********8 发帖数: 387 | |
a*****s 发帖数: 1121 | 20 大哥,您要给俺offer么?
【在 e***a 的大作中提到】 : which company do u work for now?
|
D**********g 发帖数: 110 | 21 无语了,什么鸟公司,
LZ答的这么好,都没offer |