回复: 27
跳转到指定楼层
上一主题 下一主题
收起左侧

小众lyft昂赛

全局:

2017(10-12月) 码农类General 硕士 全职@lyft - 猎头 - Onsite  | | Fail | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
Lyft三番onsite

1. 90分钟coding, 其实是15分钟提问, 60分钟coding, 15分钟讨论,阿三面试官。 题目和这个面经里的一样。
但是要求实现block和rollback功能, 可以做到nested block。评分标准时correct 50%, readable 40%, performance 10%。
2. Design
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
工程师们也没能想到发展这么快吧。

最后求个大米

评分

参与人数 10大米 +35 收起 理由
spr970 + 1 很有用的信息!
capybara9673 + 1 给你点个赞!
echo33 + 1 赞一个!
whdawn + 10
szzxmf + 3 很有用的信息!

查看全部评分


上一篇:求分享自动叉oa2
下一篇:FB ONSITE 11点到3点15是几轮?
推荐
 楼主| volibear 2017-12-13 03:33:44 | 只看该作者
全局:
kqxqx 发表于 2017-12-13 01:03
block/rollback是不是这样的意思:

BLOCK --> mark beginning of the block

有顺序, 我当时用的是nested list,就是每次有block就加一个list在最后,有操作就加在这个list里,去除就删掉最后一个,其实用stack比较好。我有工作经验。
回复

使用道具 举报

推荐
kqxqx 2017-12-13 01:03:02 | 只看该作者
全局:
volibear 发表于 2017-12-9 11:48
要支持numwithvalue。我用的map实现, 那个block是还要实现commit功能, 就是commit就结束block, rollba ...

block/rollback是不是这样的意思:

BLOCK --> mark beginning of the block
X         --> do operation X: set/unset
Y         --> do operation Y: set/unset
...
COMMIT --> mark end of the block

BLOCK --> mark beginning of the block
X         --> do operation X: set/unset
Y         --> do operation Y: set/unset
...
ROLLBACK --> mark end of the block, and reverse operation X, Y, ...

rollback的时候有顺序要求么?也就是说,rollback是用queue还是stack实现?感觉这个功能实现起来好复杂啊

用c++实现代码量也会很大
回复

使用道具 举报

🔗
F4bwDP6a6WXkB 2017-12-7 02:39:05 | 只看该作者
全局:
楼主能讲一下 programming 吗?是在这道题的基础上再加 实现block和rollback功能吗? 请问block的意思是不是加一个标签,为true就不能set了? 写一个in memory database,其实就是封装一个hashmap,支持get,set,unset,也要支持一个叫numwithvalue的API,就是统计某个value有几个key
回复

使用道具 举报

🔗
森林火柴 2017-12-7 08:07:57 | 只看该作者
全局:
一定要举报一面的烙印,太坑了
回复

使用道具 举报

🔗
kqxqx 2017-12-8 00:24:15 | 只看该作者
全局:
第三轮的coding是李特口德 鹿散妖 还是 鹿散 啊?
回复

使用道具 举报

🔗
 楼主| volibear 2017-12-9 11:39:27 | 只看该作者
全局:
kqxqx 发表于 2017-12-8 00:24
第三轮的coding是李特口德 鹿散妖 还是 鹿散 啊?

陆散耳
紫薯紫薯紫薯
回复

使用道具 举报

🔗
 楼主| volibear 2017-12-9 11:48:56 | 只看该作者
全局:
hot13399 发表于 2017-12-7 02:39
楼主能讲一下 programming 吗?是在这道题的基础上再加 实现block和rollback功能吗? 请问block的意思是不 ...

要支持numwithvalue。我用的map实现, 那个block是还要实现commit功能, 就是commit就结束block, rollback就结束block同时reverse所有操作(set/unset),block本身已然可以进行所有操作。lyft是用go和python,我当时java还设计了interface,enum, exception handling. 现在觉得面试官们应该对java也并不熟悉啊,可能这些完全不care吧.
回复

使用道具 举报

🔗
dabaomiaomiao 2017-12-9 13:22:31 | 只看该作者
全局:
请问楼主,programming test那题需要实现多线程吗?
回复

使用道具 举报

🔗
sterlanUSA 2017-12-10 10:45:10 | 只看该作者
全局:
volibear 发表于 2017-12-9 11:48
要支持numwithvalue。我用的map实现, 那个block是还要实现commit功能, 就是commit就结束block, rollba ...

能说一下block 和rollback 是不是以API形式出现的?也就是block(...) 可以看做是一个transaction执行一系列set/unset操作。 Rollback 应该是把一个transaction 的每个操作用stack cache起来,再倒叙执行对应的操作?

另外可否解释下nested block, 是给每个key 都assign一个锁这样block()中可以再call block()? 谢谢。

补充内容 (2017-12-10 11:02):
commit 或rollbacks是不是根据在执行block(...)中是否出错,如遇到exception就rollback, otherwise commit。

另外nested block是否不考虑parallelism, 只考虑nested.  这样的话只要cache已经执行的cmd就可以了。

补充内容 (2017-12-12 17:23):
想了一下,是不是这样的一个input 文件:

BLOCK
SET k1 v1
SET k2 v2
COMMIT
GET k1
BLOCK
UNSET k2
COMMIT
GET k1
BLOCK
SET k3 v3
SET k4 v4
ROLLBACK
GET k2
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
tree666 2017-12-10 11:39:52 | 只看该作者
全局:
请问楼主面的是lyft的什么职位?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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