Amazon真有说的那么不好么

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 1687|回复: 14
收起左侧

lyft面经

[复制链接] |试试Instant~ |关注本帖
我的人缘0
dylanoo 发表于 2017-8-7 06:25:27 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩

2017(7-9月) 码农类General 博士 全职@Lyft - 内推 - 技术电面  | Fail | 在职跳槽

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

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

x
感谢地里的推荐,可惜没过。
.1point3acres网电面:-google 1point3acres
有一堆log,每行的格式是“时间点:各种操作”;给定两个时间点,求在这两个时间点(start, end)内的log lines。假设log非常大。
给了一些函数,比如:goToOffset(), getLine(), getCurrentOffset(), fileSize() 和一些基本的文本操作。
. 留学申请论坛-一亩三分地
我的解法是,二分法查找开始的时间点(start),然后从这个时间点往前找到最早出现的同一时间点(start),有点类似Leetcode 81的解法(不过是sorted)。

面试交流说的挺好,可惜很快就拒了。反馈说解法不是optimal的。. 1point3acres

评分

参与人数 3大米 +36 收起 理由
jeff_xu001 + 3 感谢分享!
edyyy + 3 感谢分享!
candy_shmily + 30

查看全部评分


上一篇:amazon社招OA两道新题
下一篇:twitter test7
我的人缘0
milanow 发表于 2017-8-7 13:00:15 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  61% (8)
 
 
38% (5)  踩
这道题和经典的“100楼扔鸡蛋”好像

补充内容 (2017-8-7 13:38):
求出来x(x+1)/2 >= numOfLines, numofLines估计可以用fileSize估一下?然后先goToOffset(x), 如果比start大就往回找,如果比start小就再gotoOffset(x +(x-1))这样一直找,直到numOfLines肯定能找到了。
回复

使用道具 举报

我的人缘0
teedoo 发表于 2017-8-7 13:20:22 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩
我怎么感觉和LC 34比较像?两次binary search找到start time的开始一行和end time的最后一行
回复

使用道具 举报

我的人缘0
xuanyue 发表于 2017-8-7 13:44:13 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (7)
 
 
0% (0)  踩
我倒是觉得要用到外部排序的思想?
. 围观我们@1point 3 acres
毕竟 楼主的描述是, 一堆文件,  然后每个都很大. (可能无序?)  那应该不能考虑直接 sort 吧.
回复

使用道具 举报

我的人缘0
milanow 发表于 2017-8-7 13:44:26 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  61% (8)
 
 
38% (5)  踩
teedoo 发表于 2017-8-7 13:20
我怎么感觉和LC 34比较像?两次binary search找到start time的开始一行和end time的最后一行

可是LZ用的就是lc34的方法吧 不知道在filesize很大的情况下会有什么不同
回复

使用道具 举报

我的人缘0
milanow 发表于 2017-8-7 13:54:41 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  61% (8)
 
 
38% (5)  踩
xuanyue 发表于 2017-8-7 13:44
我倒是觉得要用到外部排序的思想?
. 牛人云集,一亩三分地
毕竟 楼主的描述是, 一堆文件,  然后每个都很大. (可能无序?)  那应该 ...

. 一亩-三分-地,独家发布会不会可能是因为LZ写的worst case不够好,因为LZ用正常的binary找到start就停下了,那么比如1,2,3,3,3,3,3,3,3,4,5这样就很慢,如果全是3的array的话直接worst case就logn了,
回复

使用道具 举报

我的人缘0
FightForTomo 发表于 2017-8-7 14:02:17 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  53% (727)
 
 
46% (641)  踩
goToOffset() 是什么意思?
回复

使用道具 举报

我的人缘0
hwd2000 发表于 2017-8-7 23:22:21 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (7)
 
 
0% (0)  踩
FightForTomo 发表于 2017-8-7 14:02
goToOffset() 是什么意思?

就是把当前文件指针移到离当前位置为某offset值的位置
Mobile Apps Category (English)728x90
回复

使用道具 举报

我的人缘0
LeetCodeOJ 发表于 2017-8-7 23:49:39 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  47% (23)
 
 
52% (25)  踩
LeetCode 635?
回复

使用道具 举报

我的人缘0
2011051305 发表于 2017-8-8 01:00:18 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  77% (122)
 
 
22% (35)  踩
teedoo 发表于 2017-8-7 13:20
我怎么感觉和LC 34比较像?两次binary search找到start time的开始一行和end time的最后一行

这道题我的第一反应和你类似:
既然给定时间点了 且已知数据格式是“时间点:各种操作” , 那我就两次二分 分别找到start的第一行 和end的最后一行,然后既然是一个时间点一个log 直接 wc -l

那么楼主说不optimal的思路是?
回复

使用道具 举报

我的人缘0
 楼主| dylanoo 发表于 2017-8-8 13:28:04 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩
2011051305 发表于 2017-8-8 01:00
这道题我的第一反应和你类似:
既然给定时间点了 且已知数据格式是“时间点:各种操作” , 那我就两次 ...
. 牛人云集,一亩三分地
我不知道interviewer想要什么答案,也不清楚更optimal的方法是什么。我写的时候,他说这个方法好。也可能optimal说的是代码写的不好吧。
回复

使用道具 举报

我的人缘0
 楼主| dylanoo 发表于 2017-8-8 13:30:22 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩
milanow 发表于 2017-8-7 13:54
会不会可能是因为LZ写的worst case不够好,因为LZ用正常的binary找到start就停下了,那么比如1,2,3,3,3, ...

我当时也是两次binary。不过代码可能写的水。
回复

使用道具 举报

我的人缘0
 楼主| dylanoo 发表于 2017-8-8 13:32:31 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩
xuanyue 发表于 2017-8-7 13:44
我倒是觉得要用到外部排序的思想? 来源一亩.三分地论坛.
. 1point3acres
毕竟 楼主的描述是, 一堆文件,  然后每个都很大. (可能无序?)  那应该 ...

一开始就说是service log,所以是按照时间排好序的。文件很大,只是暗示不要尝试load进memory;此外也确认是单线程操作,所以也没有分布式和并行的问题(可能会做follow-up吧)。
回复

使用道具 举报

我的人缘0
2011051305 发表于 2017-8-8 14:17:59 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  77% (122)
 
 
22% (35)  踩
dylanoo 发表于 2017-8-8 13:28. more info on 1point3acres
我不知道interviewer想要什么答案,也不清楚更optimal的方法是什么。我写的时候,他说这个方法好。也可能 ...
. 1point 3acres 论坛
拍拍 你是CSPhD 你怕啥 ~~ 估计人家看你太over qualified的~ 咱move on了!
回复

使用道具 举报

我的人缘0
hwd2000 发表于 2017-8-8 23:31:36 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (7)
 
 
0% (0)  踩
dylanoo 发表于 2017-8-8 13:30. From 1point 3acres bbs
我当时也是两次binary。不过代码可能写的水。

这就奇怪了。代码写的水不表示性能差,关键还是在算法。如果两次都是bfs,是不是第二次是基于第一次的结果?这样收索范围要小一些
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-7-16 05:15

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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