一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 781|回复: 22
收起左侧

小众lyft昂赛

[复制链接] |试试Instant~ |关注本帖
volibear 发表于 2017-12-7 02:20:45 | 显示全部楼层 |阅读模式

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

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

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

x
Lyft三番onsite

1. 90分钟coding, 其实是15分钟提问, 60分钟coding, 15分钟讨论,阿三面试官。 题目和这个面经里的一样。 http://www.1point3acres.com/bbs/ ... &highlight=lyft. more info on 1point3acres.com
但是要求实现block和rollback功能, 可以做到nested block。评分标准时correct 50%, readable 40%, performance 10%。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
2. Design 犹太小哥,大概讨论了下我之前做的项目, 延伸到如何设计no sql schema来做一些简单的sql query, 顺便给小哥科普了下dynamodb是如何实现locking的, eventually consistence背后是怎么实现的。
3. coding 莉蔻露撒啊

recruiter反馈说是第一轮做的不好, 没做完(???), 有bug(...),没unit test(这个当时明确问了面试官,说unit test没必要)。 其实这一轮对不同programming language很不公平,用java的话code会很多, 而且各种exception check, read file也要考虑很多。
整体而言lyft还是看着很轻松的, 但里面的问题也很多, 设计的时候和小哥讨论了下lyft的structure,感觉很多部分都十分的不scallable,以后data migration/refator会是个长久的问题, 应该当年的工程师们也没能想到发展这么快吧。.1point3acres缃

最后求个大米

评分

2

查看全部评分

 楼主| volibear 发表于 3 天前 | 显示全部楼层
kqxqx 发表于 2017-12-13 01:03
block/rollback是不是这样的意思:. 1point 3acres 璁哄潧
.鏈枃鍘熷垱鑷1point3acres璁哄潧
BLOCK --> mark beginning of the block
. 1point 3acres 璁哄潧
有顺序, 我当时用的是nested list,就是每次有block就加一个list在最后,有操作就加在这个list里,去除就删掉最后一个,其实用stack比较好。我有工作经验。
回复 支持 1 反对 0

使用道具 举报

kqxqx 发表于 3 天前 | 显示全部楼层
volibear 发表于 2017-12-9 11:48
要支持numwithvalue。我用的map实现, 那个block是还要实现commit功能, 就是commit就结束block, rollba ...

block/rollback是不是这样的意思:
. 鍥磋鎴戜滑@1point 3 acres
BLOCK --> mark beginning of the block. 1point 3acres 璁哄潧
X         --> do operation X: set/unset
Y         --> do operation Y: set/unset
...
COMMIT --> mark end of the block. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
. Waral 鍗氬鏈夋洿澶氭枃绔,
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实现?感觉这个功能实现起来好复杂啊
. From 1point 3acres bbs
用c++实现代码量也会很大
回复 支持 1 反对 0

使用道具 举报

 楼主| volibear 发表于 7 天前 | 显示全部楼层
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吧.
回复 支持 1 反对 0

使用道具 举报

hot13399 发表于 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 发表于 7 天前 | 显示全部楼层
kqxqx 发表于 2017-12-8 00:24. Waral 鍗氬鏈夋洿澶氭枃绔,
第三轮的coding是李特口德 鹿散妖 还是 鹿散 啊?

陆散耳
紫薯紫薯紫薯
回复 支持 反对

使用道具 举报

dabaomiaomiao 发表于 7 天前 | 显示全部楼层
请问楼主,programming test那题需要实现多线程吗?
回复 支持 反对

使用道具 举报

sterlanUSA 发表于 6 天前 | 显示全部楼层
volibear 发表于 2017-12-9 11:48. more info on 1point3acres.com
要支持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就可以了。
. 1point 3acres 璁哄潧
补充内容 (2017-12-12 17:23):
想了一下,是不是这样的一个input 文件:

BLOCK
SET k1 v1
SET k2 v2
COMMIT
GET k1
BLOCK
UNSET k2. 1point 3acres 璁哄潧
COMMIT
GET k1
BLOCK
SET k3 v3
SET k4 v4
ROLLBACK
GET k2
回复 支持 反对

使用道具 举报

Wingszero 发表于 6 天前 | 显示全部楼层
LZ拿到onsite已经很不错了,我过了两轮店面结果HR说interview performance很好,但是不够match position。。。逗我玩呢。
回复 支持 反对

使用道具 举报

tree666 发表于 6 天前 | 显示全部楼层
请问楼主面的是lyft的什么职位?
回复 支持 反对

使用道具 举报

lxzmaple 发表于 6 天前 | 显示全部楼层
看不到第一道coding原题,谁能帮忙贴一下吗,多谢。
回复 支持 反对

使用道具 举报

sterlanUSA 发表于 4 天前 | 显示全部楼层
lxzmaple 发表于 2017-12-10 13:16
看不到第一道coding原题,谁能帮忙贴一下吗,多谢。

1)Programming test,写一个in memory database,其实就是封装一个hashmap,支持get,set,unset,也要支持一个叫numwithvalue的API,就是统计某个value有几个key
回复 支持 反对

使用道具 举报

kqxqx 发表于 3 天前 | 显示全部楼层
Wingszero 发表于 2017-12-10 11:23
LZ拿到onsite已经很不错了,我过了两轮店面结果HR说interview performance很好,但是不够match position。 ...

你是new grad么?好像最近Lyft没有new grad的head count了,地理不少人的面试都被取消了
回复 支持 反对

使用道具 举报

kqxqx 发表于 3 天前 | 显示全部楼层
volibear 发表于 2017-12-13 03:33
有顺序, 我当时用的是nested list,就是每次有block就加一个list在最后,有操作就加在这个list里,去除就 ...

nested list的数据结构你是当场写的么?这也有不少代码吧

-google 1point3acres再问一个外nested block的问题,比如:. 鍥磋鎴戜滑@1point 3 acres
BLOCK
X
BLOCK
Y. 1point3acres.com/bbs
COMMIT
Z
ROLLBACK

这样执行完后,X和Z肯定被rollback了,Y呢?是不是Y就不需要被rollback了?
回复 支持 反对

使用道具 举报

 楼主| volibear 发表于 3 天前 | 显示全部楼层
sterlanUSA 发表于 2017-12-10 10:45
能说一下block 和rollback 是不是以API形式出现的?也就是block(...) 可以看做是一个transaction执行一系 ...

input是这样的, 不支持parallelism, commit和rollback是主动的
回复 支持 反对

使用道具 举报

 楼主| volibear 发表于 3 天前 | 显示全部楼层
kqxqx 发表于 2017-12-13 03:54
nested list的数据结构你是当场写的么?这也有不少代码吧. From 1point 3acres bbs

再问一个外nested block的问题,比如:

当场写的,Y不需要rollback
回复 支持 反对

使用道具 举报

 楼主| volibear 发表于 3 天前 | 显示全部楼层
1hr coding的时候三哥是不在屋子里的,说没写完有可能是一小时以后他回来,我又写了5-6mins才停下来,大家这个地方注意下吧
回复 支持 反对

使用道具 举报

Wingszero 发表于 3 天前 | 显示全部楼层
kqxqx 发表于 2017-12-13 01:04
你是new grad么?好像最近Lyft没有new grad的head count了,地理不少人的面试都被取消了

not new grad.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-12-16 07:41

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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