Airbnb 2018年春季E6 package

一亩三分地论坛

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

最近看过此主题的会员

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

马鬃曼哈顿

[复制链接] |试试Instant~ |关注本帖
我的人缘0
huahuahuahua 发表于 2018-2-22 12:44:09 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩

2018(1-3月) 码农类General 硕士 全职@Amazon - 猎头 - Onsite  | Fail | 在职跳槽

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

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

x
扭腰的ads组。4 轮。中午12点开始,2轮之后才吃中饭,头2轮饿的昏天暗地。被第二轮的小印黑了,行为题的时候就非常无理不断的打断我。第一轮,系统设计,类似《我是歌手》的投票系统,2个功能,投票(歌手唱开起投票,唱完关闭投票)和实时推送统计得票。追加问不同地区对一节目分开投票,因为播放时间不同。
第二轮 算法题 词组梯。小印说有一个dict function,可以检测单词是否有效。给了基本的bfs. 他对复杂度不满意,而且我写的c++,他看不懂我用==比较两个string。
第三轮  算法题。 设计一个random map, put(key, val), remove(key), randomVal(). 这3个function的复杂度o(1). randomVal() 返回一个val, 随机分布得到key,返回这个key的val。
第四轮 ood. 设计library 实现 linux 的命令find file 功能。我觉主要就是怎么设计Filter。

评分

参与人数 1大米 +3 收起 理由
isabellalalalal + 3 给你点个赞!

查看全部评分


上一篇:脸书电面
下一篇:PocketGem 两轮电面,附 Timeline
我的人缘0
Sipsontit 发表于 2018-2-23 11:03:41 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  80% (64)
 
 
20% (16)  踩
OP,voting system 和 find file 功能怎么答的?Thx
回复

使用道具 举报

我的人缘0
josalinezh 发表于 2018-2-23 12:11:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
ads 不是都5轮吗?
回复

使用道具 举报

我的人缘0
 楼主| huahuahuahua 发表于 2018-2-24 03:36:24 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩
josalinezh 发表于 2018-2-23 12:11. 一亩-三分-地,独家发布
ads 不是都5轮吗?

第一个面的人说5轮太多,减了1轮。
回复

使用道具 举报

我的人缘0
 楼主| huahuahuahua 发表于 2018-2-24 06:21:11 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩
Sipsontit 发表于 2018-2-23 11:03
OP,voting system 和 find file 功能怎么答的?Thx

投票系统,数据库选一个mysql, 或者cassandra. 中间用redis 缓存,所有的投票统计都放redis。节目开始,一个管理任务把今天节目的歌手放进redis。投票开始,1)可以设置歌手投票的时段,在这个时段里,这个歌手可以被投票;2)人工设置哪个歌手现在可以投票,有一个管理的界面。
一个投票进到后台,检测投票是否合法(这个歌手允许被投票),是否已经投过票给这个歌手(一个人只能给一个歌手投1票)。 这时可以有2种处理规则:1)更改之前的投票;2)不允许更改。 将投票存进sql数据库,统计加进redis。
检测是否投票,你可以取数据库找,或者投完票在redis里记录一下,用户123歌手A投票了。
返回投票成功给前端。
实时投票结果每隔几秒从redis读1次,推送给所有前端用户。保证所有用户看到同样的结果。
回复

使用道具 举报

我的人缘0
Sipsontit 发表于 2018-2-24 09:40:41 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  80% (64)
 
 
20% (16)  踩
huahuahuahua 发表于 2018-2-24 06:21
投票系统,数据库选一个mysql, 或者cassandra. 中间用redis 缓存,所有的投票统计都放redis。节目开始, ...

我还以为这道题应该从高并发角度考虑,页面静态化,缓存CDN,nginx顶在前 etc。。。

另外这个能100% real time吗?

Linux find file 功能方便说一下吗?谢谢!
回复

使用道具 举报

我的人缘0
southpenguin 发表于 2018-2-25 07:01:17 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (15)
 
 
11% (2)  踩
发觉最近好几个文件系统设计查找的设计。.留学论坛-一亩-三分地
我觉得,根据大多数命令行系统的表现,应该就是把文件名当做参数,做一个以现在所在目录为根的一个深搜,去寻找当前目录下的文件是否有这个名字的,找到了就把这个目录加入要返回的集合(所以应该也要设计出打印当前目录的方法),最后返回这个集合。
回复

使用道具 举报

我的人缘0
 楼主| huahuahuahua 发表于 2018-2-25 21:58:02 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩
southpenguin 发表于 2018-2-25 07:01
发觉最近好几个文件系统设计查找的设计。
我觉得,根据大多数命令行系统的表现,应该就是把文件名当做参数 ...
. Waral 博客有更多文章,
这题是ood,要设计一个libray做这件事。
一开始的要求是支持查找文件名和文件大小。
然后你要能拓展查找其他的条件。
在拓展各种条件之间的关系可以是and, or.
我当时给的答案:一个基类Filter,然后各种条件一个子类。
And / or都继承与一个Relation。
Relation和Filter都继承于Operand.这样把所有条件组成一个tree.
还要有parsing 逻辑,把输入的string,分解开(-name file1), 建立相应的filter和关系。,
Mobile Apps Category (English)728x90
回复

使用道具 举报

我的人缘0
 楼主| huahuahuahua 发表于 2018-2-25 21:58:08 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩
southpenguin 发表于 2018-2-25 07:01. 围观我们@1point 3 acres
发觉最近好几个文件系统设计查找的设计。. visit 1point3acres for more.
我觉得,根据大多数命令行系统的表现,应该就是把文件名当做参数 ...

这题是ood,要设计一个libray做这件事。
一开始的要求是支持查找文件名和文件大小。
然后你要能拓展查找其他的条件。. 1point 3acres 论坛
在拓展各种条件之间的关系可以是and, or.
我当时给的答案:一个基类Filter,然后各种条件一个子类。
And / or都继承与一个Relation。. 留学申请论坛-一亩三分地
Relation和Filter都继承于Operand.这样把所有条件组成一个tree.
还要有parsing 逻辑,把输入的string,分解开(-name file1), 建立相应的filter和关系。,
回复

使用道具 举报

我的人缘0
 楼主| huahuahuahua 发表于 2018-2-25 22:04:54 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩
Sipsontit 发表于 2018-2-24 09:40
我还以为这道题应该从高并发角度考虑,页面静态化,缓存CDN,nginx顶在前 etc。。。

另外这个能100% r ...

我对网络技术不是很熟。你这么做能做能支持不同地区时区的人投票么?
总是要后台把所有投票累计起来吧。
回复

使用道具 举报

我的人缘0
southpenguin 发表于 2018-2-26 05:07:48 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (15)
 
 
11% (2)  踩
huahuahuahua 发表于 2018-2-25 21:58. more info on 1point3acres
这题是ood,要设计一个libray做这件事。
一开始的要求是支持查找文件名和文件大小。
然后你要能拓展查 ...

十分感谢。看来这一题问的非常细啊。
.本文原创自1point3acres论坛
前两天也是看到一个亚麻的面经说设计一个文件系统,好像也是在纽约。. 牛人云集,一亩三分地
他的要求似乎就是比较单纯的设计这个系统,并且要实现查找的功能。
他也被问到了如何不同条件的查找,我记得他说的答案是通过重载这个查找的方法,传入不同的变量来实现。

我觉得你这一轮问题进行的深度要深不少。
回复

使用道具 举报

我的人缘0
southpenguin 发表于 2018-2-26 05:12:27 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (15)
 
 
11% (2)  踩
huahuahuahua 发表于 2018-2-25 21:58
这题是ood,要设计一个libray做这件事。
一开始的要求是支持查找文件名和文件大小。
然后你要能拓展查 ...

又仔细了一下你的解释,觉得其实似乎就是两个问题。
-google 1point3acres
楼主有消息了么?还是确定已经被黑了?希望好运啊。
回复

使用道具 举报

我的人缘0
 楼主| huahuahuahua 发表于 2018-2-26 05:28:14 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩
southpenguin 发表于 2018-2-26 05:12
又仔细了一下你的解释,觉得其实似乎就是两个问题。-google 1point3acres

楼主有消息了么?还是确定已经被黑了? ...

对一个文件夹是要重复call查找函数,类似dfs。
对每个文件,就要call 哪些filter的逻辑判断是否和条件。
已经悲剧了。。。
回复

使用道具 举报

我的人缘0
josalinezh 发表于 2018-2-26 09:22:10 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
huahuahuahua 发表于 2018-2-26 05:28
对一个文件夹是要重复call查找函数,类似dfs。
对每个文件,就要call 哪些filter的逻辑判断是否和条件。 ...

感觉楼主答得都很好,如果这都跪了给那肯定被黑了
回复

使用道具 举报

我的人缘0
zzgzzm 发表于 2018-2-26 13:07:46 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (60)
 
 
1% (1)  踩
"他看不懂我用==比较两个string"? 面试官不熟悉C++? 我也用C++, 曾经有一次面试官不懂我比较两个vector<int>::iterator
回复

使用道具 举报

我的人缘0
josalinezh 发表于 2018-3-2 10:17:47 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
再请问楼主是多久知道回复的?
回复

使用道具 举报

我的人缘0
 楼主| huahuahuahua 发表于 2018-3-11 03:21:30 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (10)
 
 
9% (1)  踩
josalinezh 发表于 2018-3-2 10:17
再请问楼主是多久知道回复的?

3天左右就有回复了
回复

使用道具 举报

我的人缘0
hyliu0000 发表于 2018-3-11 11:30:46 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (78)
 
 
1% (1)  踩
Sipsontit 发表于 2018-2-24 09:40
我还以为这道题应该从高并发角度考虑,页面静态化,缓存CDN,nginx顶在前 etc。。。

另外这个能100% r ...

额。。 感觉你这没有楼主答得好。 有点talk buzz word。 这题明显是在问后端怎么设计。 有没有页面都两说,如果是mobile app来投票,可能是call个server的api。 缓存CDN没什么用啊。。 一般CDN是缓存一些静态数据的。这里我真没看到有什么静态数据要缓存。 唯一nginx顶在前面算是比较有道理的。。
回复

使用道具 举报

我的人缘0
hyliu0000 发表于 2018-3-11 11:56:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (78)
 
 
1% (1)  踩
huahuahuahua 发表于 2018-2-24 06:21
投票系统,数据库选一个mysql, 或者cassandra. 中间用redis 缓存,所有的投票统计都放redis。节目开始, ...

楼主,你这个管理任务每隔多长时间运行一次? 如果投票开始了,但是管理任务还没运行怎么办? 投票还没开始,管理任务不停的check会不会很耗cpu? 可不可以就是把每个歌手的时间存在db里,当有api访问的时候才放到cache里面? 至于检测是否投票过,感觉还是cache比较好,可以考虑用redis的bitmap,如果有上亿人投票的话。 DB当然还会存储投票数据,但是只作为source of truth。
回复

使用道具 举报

我的人缘0
hyliu0000 发表于 2018-3-11 11:59:24 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  98% (78)
 
 
1% (1)  踩
还有个问题求教。 楼主面得是什么级别的工程师? recruiter有提供面试的feedback吗?
回复

使用道具 举报

游客
请先登录

本版积分规则

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

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

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

custom counter

GMT+8, 2018-7-17 03:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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