一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 678|回复: 2
收起左侧

Nutanix电面 8/11

[复制链接] |试试Instant~ |关注本帖
pupuchan1116 发表于 2016-8-13 09:22:32 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Nutanix - 内推 - 技术电面 |Otherfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
       Nutanix是一家挺不错的pre-ipo公司,据说今年IPO。由于我找工作时间比较晚,所以一直没有投这家公司。七月初朋友内推,后来跟recruiter聊天,recruiter跟我说11月份前都不招new grad了,所以就没再管了。结果这个月初收到邮件,说有一个组招new grad,问我有没有兴趣,我就跟他约了时间电面。
       面试官是一个烙印,当我知道这个之后心都凉了一截,不过还是稳定好情绪,虽然网上面经不多,但是听前辈和拿到他家offer的朋友说电面主要考medium或以下的算法,所以心里多多少少有点底气,结果面试官并没有按照套路出牌。。。. Waral 鍗氬鏈夋洿澶氭枃绔,
       首先是聊Project,Project聊得很细,因为我有一个project是关于spark的,所以就一直问,甚至问到了整个算法和代码的实现,还要我自己人工work through一遍代码大概怎么走。他一直在问,加上语言沟通不怎么顺畅(烙印的英语我真心听不习惯),光是这个project就聊了30分钟。接着就开始出题了。
       题目是这样,给你3个node,每个node下面有一个unsorted Integer list,找medium。我一直以为是算法题,所以打算交待思路,就开始写代码了,结果他说不需要写代码,直接聊就好。我就跟他说,可以先sort 那仨个list,然后按照merge kth sorted list来做,再找medium。但他好像不是很满意,接着开始狂follow up了:
      (1) 有没有更快的方法,如果数据特别多,而且有很多重复的数据怎么办?
       答:我想了一会说,可以建立一个数组,count每个数字的次数存到对应的位置,例如1的次数存到array[1],2存到array[2],之后就可以同个找到总次数total / 2出现的位置而找到medium,时间复杂度就会下降到O(n)。
      (2)这种方法的有什么条件?
       答:我说这种方法必须预先知道数字的范围,假设是1到100,000,就得预先建一个长度为100,000的array。
       ( 3)如果数字的范围是64bit(就是long),那怎么办?. visit 1point3acres.com for more.
       答:我说这种情况下存不到内存里,太大了,所以可以把它存到local file。按照一定的规则,先bucket sort到本地里,例如1~100,000存到file1,100,101~200,000存到file2,如此类推,然后再找出medium所在的file,用上面counting的方法找到中位数。
      (4)如果数据非常非常大,肿么办?
       答:我说可以按照上面的方法scale到不同的机器node(假设三台)上。(drawback?)数字的分布可能相差很大,导致每台机器的效率差别很大。
      (5)数据怎么scale到不同的机器上?
       答:我说我打算用一个master node来统领,然后再分别把数据分配到不同的机器node上。烙印不是很满意,原因是这样子,这样的话master node就会成为整个系统效率的bottle neck。那怎么办?我就说这样的话就只能把题目上的三个node,分别分配到三台机器上,然后利用三台机器的相互交流,来做到(3)上的效果。然后他就让我在codepair上给他work through 一遍大概机器数据之间怎么走。. 鍥磋鎴戜滑@1point 3 acres
      (6)这样子三台机器的数据交换太过频繁,如果要尽量少的数据交换,该怎么做?
       答:我就说如果这样子,就只能每个机器里面把所有数据先sort一遍,然后把问题从find medium 换成 find kth。然后比较在每个机器上找出位置在k / n(n是机器数)的数字。比较各个机器上的数字,除了最大的,其余的k/n之前的都可以全部抹掉,然后更新k,直到k = 1或者只剩一个机器有数据,他一开始不是很懂,我work through了一遍他就一副恍然大悟的样子= =!

      到了这里,面试其实已经过了1个多小时了,其实本来问题没多少,主要是我跟烙印之间的交流却是存在偏差,我都excuse me,pardon了不知道多少遍。最后他就说,本来还有coding test,但是现在已经没时间了,今天就不考coding了。。。如果有下一轮下一轮再考coding吧。。。听到那句话,心里面各种草泥马奔腾而过。后来他就让我问些问题,面试就结束了。

       他跟我讲下周会出结果,但是其实我并不抱太大希望了。。。总结一下,第一个,自己简历上的project必须熟,熟到要在完全不懂的人面前都能让他瞬间弄懂,这一个很关键,他就是在弄懂我project上的算法上花了不少时间,主要是自己嘴不算太溜,交流也有些障碍,费了不少时间。 第二个,英语水平得好好提升,听不懂烙印的英语第一方面确实是听不惯,但是更深的原因是自己的英语还不够好。第三,遇到各种情况都要冷静,冷静再冷静。该答不出来还是答不出来,紧张也没用,但是有些问题自己冷静思考后能答出来的,现场太紧张了想不到吃的亏就大了。

. 1point 3acres 璁哄潧      知道现在找工作都不容易,希望一起努力加油!大家都offer满满
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

评分

1

查看全部评分

gaocan1992 发表于 2016-8-13 09:57:23 | 显示全部楼层
完全不按套路出牌啊
回复 支持 反对

使用道具 举报

MulinZz 发表于 6 天前 | 显示全部楼层
好难啊,我觉得我要跪啊这
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 21:51

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表