推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 1555|回复: 7
收起左侧

Zenefits skype电面

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

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

题目:给你一堆老板和员工的关系,让你打出树形的顺序
// *INPUT*
// x = [
//         ('parker', 'parker'),
//         ('laks', 'parker'),
//         ('avinash', 'laks'),. 鍥磋鎴戜滑@1point 3 acres
//         ('jonathan', 'avinash'),
//         ('jason', 'laks'),
//         ('david', 'parker'),-google 1point3acres
//         ('arisa', 'david'),. 1point 3acres 璁哄潧
// ]

// *FUNCTION*
// print_structure(name, ...). from: 1point3acres.com/bbs

// *OUTPUT*
// parker. From 1point 3acres bbs
//   david
//       arisa
//   laks
//       jason. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
//       avinash
//          jonathan
. 鍥磋鎴戜滑@1point 3 acres

评分

1

查看全部评分

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

使用道具 举报

心澈非文 发表于 2015-12-9 07:30:15 | 显示全部楼层
关注一亩三分地微博:
Warald
我也是一样的题,明天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.1point3acres缃
楼主,你这个怎么用的是dfs呢?应该是bfs的吧,树形结构应该是把一个老板的下属全打印在下一行吧?

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

使用道具 举报

池大侠 发表于 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 = {}
  7.         for element in x:
  8.                 if element[0] == element[1]:. 1point 3acres 璁哄潧
  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

  15. graph = buildGraph(x)

  16. def dfs(graph):
  17.         stack = []
  18.         visited = set()
  19.         for boss in graph['boss']:
  20.                 stack.append([0, boss])
  21.                 #visited.add(boss)
  22.         while stack:
  23.                 count, boss = stack.pop()
  24.                 if boss not in visited:
  25.                         visited.add(boss)
  26.                         print ' '*count, boss
  27.                         if graph.get(boss, None):
  28.                                 for employee in graph[boss]:
  29.                                         if employee not in visited:
  30.                                                 stack.append([count+1, employee])
  31.         #print visited
  32. dfs(graph)
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-7-23 17:10

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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