-
Full time | onsite | undergrad | Fail
第一轮 Hiring manager聊experience, 顺便问一些很常规的BQ
上机题 蠡口 autocomplete
系统设计:设计一个event emiter什么的,这一轮有点迷,我确实也没有怎么听明白。
CS fundamental。考了maxStack, minStack + 聊天 -
Full time (level 5) | Phone tech interview | PhD
Lyft无人车电面。Manager问了简历项目和背景知识,coding只有一题,经典面经题小行星。然后让问问题,说会给onsite。 -
Full time (senior, 6yr exp) | Onsite | Master
一共三轮
第一轮
设计一个网上的 donation 系统,好像主要是看如何不多次 收信用卡上的钱
第二轮
设计一个类似网络爬虫的东西,但是给你1000个机器,这些机器可以是任何设备,比如 手机,电脑 等等, 可能一会工作,一会不工作,如何把维基网页给全部下下来
第三轮
coding, 经典的 带transaction 数据库实现,地里面以前有人说过 -
Full time | Phone tech interview | Master | Pass
问题描述:
假设我们把一个象棋中的马放在一个电话键盘上,马按照走日字的规则在键盘上跳动。键盘如下:
1 2 3
4 5 6
7 8 9
0
-
写一个函数,输入为一个键盘上的start position, 找出马从这个位置跳一步可以到达的位置个数。例如 0 ->2, 5->0 (起始位置在5的时候,马哪里也不能跳),4->3
-
如果可以跳n步,那么可以在最终可以跳到几个不同的键?
我面试中的做法:
-
直接hardcode,因为输入是有限的。
-
使用迭代算法,并用Set去掉重复
- Full time | Onsite | PhD
- Design wiki web crawler
- Design music sharing system
- Text justification
- BH
-
Intern | Phone tech interview | PhD | Pass
本人数学phd第四年。lyft真的是无敌效率,上周四下午三点海投, 立刻收到选意向的邮件,然后四点就发了填tech店面的时间表,周五告诉我这周三下午店面。先是问了几个统计的题,基础加条件概率,有一个在T test情况下n越大,confidence interval越小没有答上来;然后是问,怎么样matching乘客和司机,回答假设有一个price information的话可以用Linear Assignment来解,具体就是用auction algorithm; 然后问如果price是linear的怎么求单个利润最大,就是接一个二次方程;接着问price information要怎么样model好,有没有private和general的feature, 这个随便说说;然后是如果有这些feature了,怎么做prediction比较好,回答是SVM或者NaiveBayes, 然后说说优缺点,怎么样处理cts和cat的label;最后如果是用dl来做的话用什么好,回答是lstm,因为用户打开app以后的行为可以当做time series
-
Full time | Phone tech interview | Master
Given an API
vector fetch(int pageId): this function returns the items in given page, page size is fixed (say 5).
Implement a Fetcher class which has a function:
vector fetch(numOfItems): returns number of items.
using above api.sample:
fetch(0): return [0,1,2,3,4]
fetch(1): return [5,6]
Fetcher class:
fetch(2): return [0,1]
fetch(1): return [2]
fetch(4): return [3,4,5,6] -
Full time | Onsite | PhD | Fail
之前朋友内推的Lyft,店面很简单,number of island, 很快就过了。onsite 面的基本都是System design:
直接上机写code, 实现一个有版本的key-value store
-
设计一个donation 系统,要求实现信用卡支付的时候要exactly-once
-
设计一个Lyft 的coupon 系统,对系统的并发要求不高,但要搞明白use case 和合理的数据存储方式。
-
设计一个drivers的实时监控的dashboard, 基本思路也是GeoHashing, 要求设计API给前端数据render 一个heat map.
设计题其实都不难,有些细节部分没有讲到面试官想听
-
Intern | OA | PhD | Pass
面的lyft的研究岗,这是第二轮,24h挑战,选的Optimization方向。给了10000个起始 终点坐标,要求拼车,2-matching,也可以单独乘车,为了让总距离最小 -
Full time | Phone tech Interview + Onsite | Master
电面: LC 239上门:
第一轮 coding + design:
Coding: 3*3的矩阵是True或False的值, 有个api Toggle(row, col)可以把本行本列的所有值 x 变成 !x. 给个input matrix 和一个output matrix, 问最少需要多少次调用Toggle API可以达成转换。 挺tricky的, 不过本质上就是个找符合条件的subset的问题
Design: 设计个系统可以evaluate quality of AV maps第二轮 coding:
-
一个数组, 里面的元素可能是int或者另一个数组, 设计iterator
-
设计个composite iterator使得可以同时iterate两个数组, 数组里面的元素类型如上所诉
系统设计: DL platform, 要支持无人车的模型training, prediction, deployment, 图片视频的存储/搜索/标记等等功能
其他两轮都是聊天了
-
Full time | Onsite | Master
在Palo alto Level 5 AV department算法,偏向实际经验
地理其他面经也有过,给了API calls,分别为注册属于signal ID的callable, 以及调用和移除 callable
void register(int signalId, Callbable cb);
void execute(int signalId);
void remove(int signalID, Callable cd);
基本概念就是用个map存放signal ID and Callable, 不难。后面有很多follow up,包括如果Cb A裡面有Cb B and Cb B又有Cb A的cycle情况,以及concurrency要怎麽处理。Manager 聊天
System Design:
Design Lyft driver and rider matching system算法
Given 2 sorted Arrays, Implement an iterator that will output the elements in 2 arrays in order.