Untitled
unknown
plain_text
a year ago
1.7 kB
14
Indexable
遇到的是在地理有发过的问题。跟recruiter沟通的时候,说可以用AI。在面的时候,面试官有说可以选择用AI或者不用。如果用的话,是另外一个criteria。所以我保险起见就说不用了。因为还没在面的时候用过AI,也不想面试难度增加。面完第二天就给结果了。 以下内容需要积分高于 200 您已经可以浏览 delivery cost system。总共三问: Q1: add_driver(driver_id, usd_hourly_rate) record_delivery(driver_id, start_time, end_time) get_total_cost() 这个total cost算法很简单。主要是看你怎么建设object和float input的计算。 刚开始犯了个premature rounding的错误所以和test case有0.02的相差。fix之后就全pass了 Q2: pay_up_to(pay_time) get_total_cost_unpaid() 这一题的算法也很straightforward。 我之前的 DeliverySystem object已经有了TotalCost field,所以我就加了个TotalPaid 和 LastPaidTime field。跟面试官确认了pay_time is strictly increasing。所以每次call pay_up_to的时候我用LastPaidTime到pay_time这个range更新TotalPaid的amount。这样get_total_cost_unpaid()就是O(1)。 Q3: maxSimultaneousDriverInPast24Hours(time) 这个可以把它想成是算counting max overlapping intervals的变种题 我用的是2 pointers的算法,然后用map来track unique driver和deliveries count。在地里之前没看到有mention,每个driver可以有多个同一个时间段的deliveries的。 建议之前写快点,给Q3留多点时间。LZ粗心在Q1的时候debug花了点时间,所以Q3写的有点赶,有一个小bug。不过还是在时间到之前fix了。最后只有5分钟问面试官问题。 求加米看面经~
Editor is loading...
Leave a Comment