uber 新鲜热乎的面经 求offer

原帖地址:一亩三分地

之前也看了好多uber的面经, 本以为会考算法 leetcode, 结果却考了一个ood的题目

直接上原题
Develop an API Rate-limit Throttling Client
要求写一个api, 请求第三方api, 如果一秒内的请求太多, 自己的api就直接忽略掉。
面试小哥给了个框架
import time
import datetime

class GoogleMapsClient(object):
“””3rd party maps client; we CANT EDIT THIS.”””

def __init__(self):
self.requests_made = 0

def make_request(self):
self.requests_made += 1
now = datetime.datetime.now().time()
return “%d – %s – San Francisco” % (self.requests_made, now)

刚开始对python time的单位不熟悉,有个bug。后来改了
class MyRequest(object):

def __init__(self):
self.client = GoogleMapsClient()
self.time = time.time()
self.request_times = 0

def make_request(self):

if (time.time()-self.time)>1:
self.time = time.time()
self.request_times = 0
else:
self.request_times += 1
if self.request_times>=10:
time.sleep(1)
return self.client.make_request()

Follow up 是如何让myclient 继续接受request。 可能我也没听明白题意, 小哥直接说time.sleep(1).

面试题目就这一个, 开始还有介绍自己和简历。求水果啊。。

补充内容 (2015-7-24 06:08):
感觉最近Uber家面试OOD的频率比较高

补充内容 (2015-7-25 06:47):
今天收到邮件 说是跪了 也不知道哪里跪了, 估计申请人很多吧。