一亩三分地论坛

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

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

T家新鲜的4月1号面经。

[复制链接] |试试Instant~ |关注本帖
Mark6 发表于 2016-4-8 04:06:05 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Twitter - 内推 - Onsite |Failfresh grad应届毕业生

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

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

x
T家面经感觉版上很少啊,onsite居然一道题都没遇上。虽然签了nda,但还是大致说一下吧。希望对后面的人有帮助,也希望有更多的人来报面经。

第一轮:
1. 有两个数组A1和A2,求两者之间的交集。有三种情况,请分别给出解法:1)A1,A2都是无序的。2)A1和A2都是有序的。3)A1和A2都是有序的,且A1的size远远大于A2。我的解法是,1)HashMap。2)和3),对A2的每个元素在A1中进行二分搜索,同时保持上次搜索的结果的index,这样下次就只用搜index往右的元素就好了,不用还是从0开始。
2. 有一堆文件,里面有duplicates。输入这些文件的路径,也就是Set<String> paths。要求返回去掉duplicates后的结果,同样也是Set《Stirng》。比如输入是,文件1,文件2,文件3的路径集合,而且文件1和文件3是完全一样的。那么返回文件1和文件2的集合或者文件2和文件3的集合都行。我是先把文件按文件大小分类,对于那些同一个size下有多个文件的,就对每个文件算一个one way hashing值作为fingerprint (MD5或者SHA2),然后就对比这fingerprint就知道是否重复了。
-google 1point3acres

第二轮:
1. 实现一个随机函数。也就是给你n个数(1-n),产生每个数的概率不一样。比如输入可能是 double prob[] = new double[]{0.3, 0.1, 0.3, 0.2, 0.1};各个概率加起来等于1。 同时再给你一个参数m,要你产生m个samples。 按概率切成小段后二分搜索。
2. https://leetcode.com/problems/unique-paths/

第三轮:
OOD,设计数据结构可以对表达式进行存储和evaluate。只有加减乘除运算。比如 2*5+2。用Tree做就可以了。

第四轮:https://leetcode.com/problems/alien-dictionary/。哎,之前没刷到这题。在面试官的反复提示下才做出来。.鐣欏璁哄潧-涓浜-涓夊垎鍦
.鏈枃鍘熷垱鑷1point3acres璁哄潧
第五轮:看一个parking lot的代码是否已读已维护,易扩展。这轮答的不好,就只发现有个函数太长了,不够模块化。完全被那代码带进去了,连没注释什么的都没说。应该先自己在白板上画画图在看代码的。
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
期间伴随各种聊简历。最后跟manager也聊了很多behavior方面的。喜欢大公司还是小公司,最看重一份工作的什么之类的。你举得T家是干啥的,你用不用。
. from: 1point3acres.com/bbs
安排店面和昂赛都很快,然后面完后也很快就收到了拒信。本想拿到他家的就不用面了哦,哎。另外,遇到了两个国人,真的非常好,帮了很多。非常感谢~!. Waral 鍗氬鏈夋洿澶氭枃绔,

差不多就是这些,祝顺利。


. visit 1point3acres.com for more.

补充内容 (2016-4-8 04:06):
求加大米呀。。。
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
补充内容 (2016-4-16 03:21):
关于第五轮看别人代码的问题,大家可以参考一些code smells方面的资料。。考的就是这个。。

评分

9

查看全部评分

billyli8866 发表于 2016-4-8 04:16:11 | 显示全部楼层
楼主几轮电面呀?大概多久给onsite的?
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-8 04:17:33 | 显示全部楼层
billyli8866 发表于 2016-4-8 04:16
楼主几轮电面呀?大概多久给onsite的?

一轮。几个小时。
回复 支持 反对

使用道具 举报

billyli8866 发表于 2016-4-8 04:25:03 | 显示全部楼层
Mark6 发表于 2016-4-8 04:17
一轮。几个小时。
. 鍥磋鎴戜滑@1point 3 acres
几个小时。。。好快啊,我果然挂了。。。
回复 支持 反对

使用道具 举报

jy_121 发表于 2016-4-8 05:26:48 | 显示全部楼层
感谢分享,问下楼主第一轮第一题的2和3可以用双指针吗?
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-8 07:16:15 | 显示全部楼层
jy_121 发表于 2016-4-8 05:26. From 1point 3acres bbs
感谢分享,问下楼主第一轮第一题的2和3可以用双指针吗?

可以,我最开始也是想到的是用双指针。但是双指针的时间复杂度是O(n)。二分的话快一些。。
回复 支持 反对

使用道具 举报

maohappy2013 发表于 2016-4-17 01:27:56 | 显示全部楼层
请问楼主面的是什么职位啊? 我下周要面DS偏统计方向的。完全找不到面经。。。
回复 支持 反对

使用道具 举报

woora 发表于 2016-4-18 01:11:53 | 显示全部楼层
请问第二轮第一面,意思是要求实现随机产生整数1到5的概率分别为{0.3, 0.1, 0.3, 0.2, 0.1}的意思吗?参数m的意思是调用随机函数m次产生m个这样的随机数吗?
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-18 02:55:22 | 显示全部楼层
woora 发表于 2016-4-18 01:11
请问第二轮第一面,意思是要求实现随机产生整数1到5的概率分别为{0.3, 0.1, 0.3, 0.2, 0.1}的意思吗?参数m ...

对的。。-google 1point3acres
比如double[] prob = new double[]{0.3, 0.1, 0.3, 0.2, 0.1};
generateSamples(prob, 100);//也就是产生100个samples

然后你实现generateSamples(double[] prob,int numberOfSamples);
回复 支持 反对

使用道具 举报

woora 发表于 2016-4-18 03:48:15 | 显示全部楼层
Mark6 发表于 2016-4-18 02:55
对的。。
比如double[] prob = new double[]{0.3, 0.1, 0.3, 0.2, 0.1};
generateSamples(prob ...

好清楚,多谢!
回复 支持 反对

使用道具 举报

tcomein2009 发表于 2016-4-18 12:04:14 | 显示全部楼层
感觉楼主答的都好啊,比如二分法减少插叙范围
就是第四轮反应不好吗?
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-19 01:37:08 | 显示全部楼层
tcomein2009 发表于 2016-4-18 12:04. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
感觉楼主答的都好啊,比如二分法减少插叙范围
就是第四轮反应不好吗?

谢谢。我觉得可能主要是第五轮code smells答的不好。然后behavior questions没准备,可能也有影响。整体来说,每轮聊天都还是挺开心的。。
回复 支持 反对

使用道具 举报

lfy249 发表于 2016-4-19 05:42:45 | 显示全部楼层
请问楼主,这些问题是要写出代码还是只要口述方法就行呢?每一轮是一个小时的时间吗?(感觉要写出代码的话一个小时两道题时间不够用啊)
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-19 08:13:10 | 显示全部楼层
lfy249 发表于 2016-4-19 05:42.鏈枃鍘熷垱鑷1point3acres璁哄潧
请问楼主,这些问题是要写出代码还是只要口述方法就行呢?每一轮是一个小时的时间吗?(感觉要写出代码的话 ...

每轮45分钟,都要在白板上写代码。只有第五轮是在电脑上改代码。。
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-19 08:17:10 | 显示全部楼层
maohappy2013 发表于 2016-4-17 01:27. Waral 鍗氬鏈夋洿澶氭枃绔,
请问楼主面的是什么职位啊? 我下周要面DS偏统计方向的。完全找不到面经。。。
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
它家的面经少。你就把面经看完就好了。behavior question也要好好准备,另外准备10来个问题问面试官,当然同一个问题可能也可以问不同的面试官。。
回复 支持 反对

使用道具 举报

lfy249 发表于 2016-4-19 08:35:10 | 显示全部楼层
Mark6 发表于 2016-4-19 08:13
每轮45分钟,都要在白板上写代码。只有第五轮是在电脑上改代码。。

是写seudo code就可以呢,还是要完整实现呢?在美帝还没onsite过,感觉白板面积也不够用啊... 另外楼主是fresh graduate吗?twitter还在招 fresh graduate吗?
回复 支持 反对

使用道具 举报

littledog 发表于 2016-4-22 10:48:04 | 显示全部楼层
请问楼主,表达式树那题需要考虑括号吗?
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-22 13:04:25 | 显示全部楼层
littledog 发表于 2016-4-22 10:48
请问楼主,表达式树那题需要考虑括号吗?

不需要。。。。。。
回复 支持 反对

使用道具 举报

hyj143 发表于 2016-4-23 06:32:15 | 显示全部楼层
楼主随机函数那道题怎么做的?

补充内容 (2016-4-23 06:37): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
我看懂你的题目了。。。我还以为题目是要你生成100个不同的【0.1,0.2,0.3,。。】 的概率数列。。
回复 支持 反对

使用道具 举报

 楼主| Mark6 发表于 2016-4-23 11:02:46 | 显示全部楼层
hyj143 发表于 2016-4-23 06:32. From 1point 3acres bbs
楼主随机函数那道题怎么做的?. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

补充内容 (2016-4-23 06:37):

用一个sum array存从0到当前概率的和。比如输入时{0.1, 0.4, 0.5},那么sum array 就是{0.1, 0.5, 1.0}。然后产生一个0到1的随机数,二分查找到sum里从左到右第一个比它大的数。所以产生一个sample需要O(lgn)的时间。。不知道有没有O(1)的方法。。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 06:16

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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