一亩三分地论坛

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

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

Zenefits skype电面

[复制链接] |试试Instant~ |关注本帖
windsfantasy6 发表于 2015-12-3 07:11:55 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 实习@Zenefits - 网上海投 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
Zenefits, 预约了一个小时的interview,先问了问我的项目,然后做了一道老板和员工打关系的dfs题,一开始写成bfs了。。。傻逼傻逼,之后问了两个问题,过了35分钟了,然后就感觉没有问题可以问了。。求问这种coding做的过快导致没有问题可以问的情况该怎么办?

题目:给你一堆老板和员工的关系,让你打出树形的顺序
// *INPUT*-google 1point3acres
// x = [
//         ('parker', 'parker'),
//         ('laks', 'parker'),
//         ('avinash', 'laks'),
//         ('jonathan', 'avinash'),
//         ('jason', 'laks'),
//         ('david', 'parker'),
//         ('arisa', 'david'),
// ]

// *FUNCTION*.鏈枃鍘熷垱鑷1point3acres璁哄潧
// print_structure(name, ...)

// *OUTPUT* 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
// parker. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
//   david
//       arisa
//   laks
//       jason
//       avinash
//          jonathan
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

评分

1

查看全部评分

Augustus 发表于 2015-12-24 11:09:05 | 显示全部楼层
楼主,你这个怎么用的是dfs呢?应该是bfs的吧,树形结构应该是把一个老板的下属全打印在下一行吧?
回复 支持 0 反对 1

使用道具 举报

心澈非文 发表于 2015-12-9 07:30:15 | 显示全部楼层
我也是一样的题,明天onsite
回复 支持 反对

使用道具 举报

 楼主| windsfantasy6 发表于 2015-12-10 16:50:58 | 显示全部楼层
心澈非文 发表于 2015-12-9 07:30
我也是一样的题,明天onsite

到我这儿变成了电面二轮。。
回复 支持 反对

使用道具 举报

hison7463 发表于 2016-1-8 06:50:29 | 显示全部楼层
请问input是以什么形式输入的,二维数组还是database table?
回复 支持 反对

使用道具 举报

elvisxyu 发表于 2016-1-16 02:23:13 | 显示全部楼层
new个class来写会清楚点, inputProcess 后循环下就能打出来

public class employer {
        String name;
        employer manager;
        List<employer> subordinate;
}
回复 支持 反对

使用道具 举报

hzyslddm 发表于 2016-1-22 03:28:33 | 显示全部楼层
Augustus 发表于 2015-12-24 11:09
楼主,你这个怎么用的是dfs呢?应该是bfs的吧,树形结构应该是把一个老板的下属全打印在下一行吧?

dfs,看打印的格式,根的一个下属的所有下属打印完了才打印根的另一个下属
回复 支持 反对

使用道具 举报

池大侠 发表于 2016-2-20 10:15:54 | 显示全部楼层
  1. x = [('parker', 'parker'), ('laks', 'parker'), ('avinash', 'laks'), ('jonathan', 'avinash'), ('jason', 'laks'), ('david', 'parker'), ('arisa', 'david') ]
  2. #def buildGraph(inputs):
  3. #for element in x:
  4. #        print element[1]
  5. def buildGraph(x):
  6.         graph = {}. visit 1point3acres.com for more.
  7.         for element in x:
  8.                 if element[0] == element[1]:
  9.                         graph['boss'] = [element[0]]
  10.                 elif graph.get(element[1], []):
  11.                         graph[element[1]].append(element[0])
  12.                 else:
  13.                         graph[element[1]] = [element[0]]
  14.         return graph. 1point 3acres 璁哄潧
  15. .1point3acres缃
  16. graph = buildGraph(x)

  17. def dfs(graph):
  18.         stack = []
  19.         visited = set(). 1point 3acres 璁哄潧
  20.         for boss in graph['boss']:
  21.                 stack.append([0, boss]). more info on 1point3acres.com
  22.                 #visited.add(boss)
  23.         while stack:
  24.                 count, boss = stack.pop(). 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  25.                 if boss not in visited:
  26.                         visited.add(boss)
  27.                         print ' '*count, boss. visit 1point3acres.com for more.
  28.                         if graph.get(boss, None):
  29.                                 for employee in graph[boss]:
  30.                                         if employee not in visited:
  31.                                                 stack.append([count+1, employee])
  32.         #print visited
  33. dfs(graph)
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 16:27

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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