一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 856|回复: 5
收起左侧

Yelp intern 电面跪经

[复制链接] |试试Instant~ |关注本帖
asdfg0042 发表于 2016-10-15 06:42:15 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 本科 实习@Yelp - 校园招聘会 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
今天下午刚面完Yelp实习,感觉已跪妥,发个面经为接下来的面试攒RP
面试官是个Engineering manager, 上来自我介绍了一下,why Yelp
然后问简历最challenging的project
然后做题,跟Yelp有关的题目,感觉像merge intervals变体
马上有思路很快写完,但太紧张了看到有bug的时候脑子一片空白静不下来找bug
其实就一个简单的logic bug找了半天最后提示才找到
分析了下runtime,讲了下要是在实际工作环境里怎么让code更易懂
问了几个问题就结束了

求RP, 希望下次技术面不要又紧张得发挥失常


qiu_cqupt 发表于 2016-10-18 08:32:05 | 显示全部楼层
  1. class Solution(object):
  2.     def merge(self, intervals):
  3.         """
  4.         :type intervals: List[Interval]
  5.         :rtype: List[Interval]
  6.         """

  7.         times = []. 1point 3acres 璁哄潧
  8.         for s,e in intervals:
  9.             times.append((s,0))
  10.             times.append((e,1)). more info on 1point3acres.com

  11.         times.sort()
  12.         s = []
  13.         res = []
  14.         for t in times:
  15.             if t[1]==0:
  16.                 s.append(t)
  17.             else:
  18.                 tmp = s.pop()
  19.                 if not s:
  20.                     res.append([tmp[0], t[0]])
  21.         return res. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  22.             

  23. #[1,6],[8,10],[15,18]. From 1point 3acres bbs
  24. intervals = [[1,3],[2,6],[8,10],[15,18]]
  25. so = Solution()
  26. a = so.merge(intervals).鐣欏璁哄潧-涓浜-涓夊垎鍦
  27. print(a)
复制代码
回复 支持 反对

使用道具 举报

jimmyshie123 发表于 2016-11-2 21:34:16 | 显示全部楼层
楼主后来多久收到消息
回复 支持 反对

使用道具 举报

 楼主| asdfg0042 发表于 2016-11-3 01:55:57 | 显示全部楼层
jimmyshie123 发表于 2016-11-2 21:34
楼主后来多久收到消息

一星期后收到的,跪了
回复 支持 反对

使用道具 举报

zzgzzm 发表于 2016-11-3 02:07:53 | 显示全部楼层
若就是merge intervals本身的话,sort再检查overlap: time complexity O(N)
  1. vector<pair<int, int>> mergeIntervals(vector<pair<int, int>>& intervals) {
    .鐣欏璁哄潧-涓浜-涓夊垎鍦
  2.   // sort given intervals by starting point
  3.   sort(intervals.begin(), intervals.end(), [](pair<int, int> a, pair<int, int> b) {
  4.     return a.first < b.first;. From 1point 3acres bbs
  5.   });

  6.   vector<pair<int, int>> res;
  7.   for (auto& i : intervals) {
  8.     // current interval has no overlap with previous ones
  9.     if (res.empty() || res.back().second < i.first) res.push_back(i);
  10.     // have overlap, but not completely covered by previous ones
  11.     else if (res.back().second < i.second) res.back().second = i.second;
  12.   }
  13.   return res;
  14. }
复制代码
回复 支持 反对

使用道具 举报

jimmyshie123 发表于 2016-11-3 04:07:38 | 显示全部楼层
asdfg0042 发表于 2016-11-3 01:55
一星期后收到的,跪了

噢,好 #####
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-10 03:34

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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