Monday, November 30, 2015

http://www.mitbbs.com/article_t/JobHunting/33096137.html

上周五的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等方法的优劣。

今天给经理发信,说是挂了,没给原因,大家帮忙分析一下为啥,谢谢。

No comments:

Post a Comment