一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
游戏初创公司
招聘工程师、Designer和游戏策划
游戏初创公司DreamCraft招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
查看: 1314|回复: 23
收起左侧

小众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
但是要求实现block和rollback功能, 可以做到nested block。评分标准时correct 50%, readable 40%, performance 10%。. 1point 3acres 璁哄潧
2. Design 犹太小哥,大概讨论了下我之前做的项目, 延伸到如何设计no sql schema来做一些简单的sql query, 顺便给小哥科普了下dynamodb是如何实现locking的, eventually consistence背后是怎么实现的。
3. coding 莉蔻露撒啊
. From 1point 3acres bbs
recruiter反馈说是第一轮做的不好, 没做完(???), 有bug(...),没unit test(这个当时明确问了面试官,说unit test没必要)。 其实这一轮对不同programming language很不公平,用java的话code会很多, 而且各种exception check, read file也要考虑很多。 . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
整体而言lyft还是看着很轻松的, 但里面的问题也很多, 设计的时候和小哥讨论了下lyft的structure,感觉很多部分都十分的不scallable,以后data migration/refator会是个长久的问题, 应该当年的工程师们也没能想到发展这么快吧。

最后求个大米

评分

3

查看全部评分

 楼主| 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比较好。我有工作经验。
回复 支持 1 反对 0

使用道具 举报

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.1point3acres缃
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
.... 1point 3acres 璁哄潧
ROLLBACK --> mark end of the block, and reverse operation X, Y, ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
rollback的时候有顺序要求么?也就是说,rollback是用queue还是stack实现?感觉这个功能实现起来好复杂啊

用c++实现代码量也会很大
回复 支持 1 反对 0

使用道具 举报

 楼主| volibear 发表于 2017-12-9 11:48:56 | 显示全部楼层
hot13399 发表于 2017-12-7 02:39. 1point3acres.com/bbs
楼主能讲一下 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 发表于 2017-12-9 11:39:27 | 显示全部楼层
kqxqx 发表于 2017-12-8 00:24
第三轮的coding是李特口德 鹿散妖 还是 鹿散 啊?

陆散耳. 鍥磋鎴戜滑@1point 3 acres
紫薯紫薯紫薯
回复 支持 反对

使用道具 举报

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):. 1point3acres.com/bbs
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
回复 支持 反对

使用道具 举报

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

使用道具 举报

tree666 发表于 2017-12-10 11:39:52 | 显示全部楼层
请问楼主面的是lyft的什么职位?
回复 支持 反对

使用道具 举报

lxzmaple 发表于 2017-12-10 13:16:24 | 显示全部楼层
看不到第一道coding原题,谁能帮忙贴一下吗,多谢。
回复 支持 反对

使用道具 举报

sterlanUSA 发表于 2017-12-12 14:51:24 | 显示全部楼层
lxzmaple 发表于 2017-12-10 13:16
看不到第一道coding原题,谁能帮忙贴一下吗,多谢。
.鐣欏璁哄潧-涓浜-涓夊垎鍦
1)Programming test,写一个in memory database,其实就是封装一个hashmap,支持get,set,unset,也要支持一个叫numwithvalue的API,就是统计某个value有几个key
回复 支持 反对

使用道具 举报

kqxqx 发表于 2017-12-13 01:04:34 | 显示全部楼层
Wingszero 发表于 2017-12-10 11:23. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
LZ拿到onsite已经很不错了,我过了两轮店面结果HR说interview performance很好,但是不够match position。 ...

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

使用道具 举报

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

nested list的数据结构你是当场写的么?这也有不少代码吧
. visit 1point3acres.com for more.
再问一个外nested block的问题,比如:
BLOCK
X
BLOCK
Y. from: 1point3acres.com/bbs
COMMIT. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
Z
ROLLBACK

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

使用道具 举报

 楼主| volibear 发表于 2017-12-13 04:52:47 | 显示全部楼层
sterlanUSA 发表于 2017-12-10 10:45
能说一下block 和rollback 是不是以API形式出现的?也就是block(...) 可以看做是一个transaction执行一系 ...
.鏈枃鍘熷垱鑷1point3acres璁哄潧
input是这样的, 不支持parallelism, commit和rollback是主动的
回复 支持 反对

使用道具 举报

 楼主| volibear 发表于 2017-12-13 04:55:24 | 显示全部楼层
kqxqx 发表于 2017-12-13 03:54
nested list的数据结构你是当场写的么?这也有不少代码吧. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

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

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

使用道具 举报

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

使用道具 举报

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

not new grad.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2018-2-25 00:05

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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