回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

6Sense Onsite

🔗
匿名用户-MENEV  2016-9-30 12:05:29 |倒序浏览

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
今天一大早坐Caltrain去SF进行onsite,吃了一个不错的早餐三明治然后公司超级低调的大门,进去以后还被大狗欢迎了一下。
Onsite一共四轮,和G家差不多。
第一轮
华裔Co-Founder,出了一个XML Parser:就是比如<xml><nodeA>AA</nodeA><nodeB>BB</nodeB></xml>
然后要生成一个树状结构,root是xml,两个子节点nodeA和nodeB,nodeA子节点AA,nodeB子节点BB。第一反应就是stack,但是早上太困了,stack里面的什么时候push什么时候pop的条件都想不到,隐约觉得和验证括号,模拟计算器什么的差不多。然后想了一会脑抽突然想先写recursion版本的,后来发现recursion更难得想
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

感觉这家工程狮是很多伯克利的,然后HR说喜欢招华大的学生但是华大的不愿意来哈哈哈,应该bar还是挺高的。估计要挂了,move on。。。


补充内容 (2016-9-29 20:06):
晚上G家说HC挂了,人艰不拆啊。。。满怀希望,又失业了

补充内容 (2016-9-29 20:06):
晚上G家说HC挂了,人艰不拆啊。。。满怀希望,又失业了

补充内容 (2016-10-7 18:35):
补充一下新情况:给了offer还没谈option

评分

参与人数 1大米 +1 收起 理由
xyfzcody + 1 给力!

查看全部评分


上一篇:Coursera OA 09/26
下一篇:Amazon9.29OA1面经
🔗
CiDut 2016-9-30 12:40:21 | 只看该作者
全局:
他家好高大上,都是级别比较硬的人来面试
回复

使用道具 举报

🔗
citynart 2016-9-30 12:41:09 | 只看该作者
全局:
youto 发表于 2016-9-29 20:40
他家好高大上,都是级别比较硬的人来面试

这一打听我的背景太渣了,感觉要挂
回复

使用道具 举报

🔗
sum0mer 2016-10-22 09:07:54 | 只看该作者
全局:
gaocan1992 发表于 2016-9-30 12:41
这一打听我的背景太渣了,感觉要挂

请问楼主onsite多久拿到的offer?
回复

使用道具 举报

🔗
citynart 2016-10-22 09:08:59 | 只看该作者
全局:
sum0mer 发表于 2016-10-21 17:07
请问楼主onsite多久拿到的offer?

一周多?
回复

使用道具 举报

🔗
sum0mer 2016-10-22 09:22:51 | 只看该作者
全局:

好的谢谢
回复

使用道具 举报

🔗
noname01 2016-10-25 07:48:50 | 只看该作者
全局:
楼主也是uw的吗!
能不能麻烦解释一下第四轮题目 trie为啥不可以啊 以及你解法hashmap里character是key存的是什么啊
回复

使用道具 举报

🔗
johnnywsd 2017-11-15 13:29:20 | 只看该作者
全局:
  1. # -*- coding: utf-8 -*-

  2. """
  3. http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=204137&highlight=6sense
  4. 华裔Co-Founder,出了一个XML Parser:就是比如<xml><nodeA>AA</nodeA><nodeB>BB</nodeB></xml>
  5. 然后要生成一个树状结构,root是xml,两个子节点nodeA和nodeB,nodeA子节点AA,nodeB子节点BB。第一反应就是stack,但是早上太困了,stack里面的什么时候push什么时候pop的条件都想不到,隐约觉得和验证括号,模拟计算器什么的差不多。然后想了一会脑抽突然想先写recursion版本的,后来发现recursion更难得想。就被引导先做stack,然后脑子好了想出来了,但是各种漏小条件然后在各种帮助下写出来了。(证明早上第一场以后还是要多加练习怎么快速进入状态)
  6. """

  7. import re
  8. from collections import deque


  9. class Element(object):
  10.     def __init__(self, val):
  11.         self.val = val
  12.         self.children = []
  13.         self.is_matched = False

  14.     def __repr__(self):
  15.         ret = self.val
  16.         if self.val[0] == '<' and self.val[-1] == '>':
  17.             for child in self.children:
  18.                 ret += repr(child)
  19.             ret += self.val[:1] + '/' + self.val[1:]
  20.         return ret


  21. class Solution(object):
  22.     OPEN_TAG = 'open_tag'
  23.     CLOSE_TAG = 'close_tag'
  24.     TEXT = 'text'

  25.     def parse(self, xml):
  26.         # root = Element()
  27.         stack = []
  28.         self.stack = deque()
  29.         val = ''
  30.         state = self.TEXT
  31.         val = ''
  32.         for s in xml:
  33.             if s == '<':
  34.                 # do something
  35.                 val, state = self._process_token(val, state)
  36.                 state = self.OPEN_TAG
  37.                 val += '<'
  38.             elif s == '/' and state == self.OPEN_TAG:
  39.                 state = self.CLOSE_TAG
  40.                 val += '/'
  41.             elif s == '>':
  42.                 val += '>'
  43.                 val, state = self._process_token(val, state)
  44.             else:
  45.                 val += s
  46.         root = self.stack.pop()
  47.         return root

  48.     def _get_open_tag(self, close_tag):
  49.         return close_tag[:1] + close_tag[2:]

  50.     def _process_token(self, val, state):
  51.         if state == self.TEXT and not val:
  52.             return val, state
  53.         if state == self.OPEN_TAG or state == self.TEXT:
  54.             elm = Element(val)
  55.             if state == self.TEXT:
  56.                 elm.is_matched = True
  57.             self.stack.append(elm)
  58.         elif state == self.CLOSE_TAG:
  59.             open_tag = self._get_open_tag(val)
  60.             tag = None
  61.             children = []
  62.             elm = None
  63.             while self.stack:
  64.                 elm = self.stack.pop()
  65.                 if elm.val == open_tag and elm.is_matched is False:
  66.                     break
  67.                 else:
  68.                     children.append(elm)
  69.             if elm:
  70.                 elm.children = children[::-1]
  71.                 elm.is_matched = True
  72.                 self.stack.append(elm)

  73.         state = self.TEXT
  74.         val = ''
  75.         return val, state


复制代码

  1. import unittest
  2. from solution import Solution


  3. class Test(unittest.TestCase):
  4.     def test_1(self):
  5.         sol = Solution()
  6.         xml = "<xml><nodeA>AA</nodeA><nodeB>BB</nodeB></xml>"
  7.         actual = sol.parse(xml)
  8.         self.assertEqual(xml, repr(actual))

  9.     def test_2(self):
  10.         sol = Solution()
  11.         xml = "<xml><nodeA>AA</nodeA><nodeC><nodeB>BB</nodeB></nodeC></xml>"
  12.         actual = sol.parse(xml)
  13.         self.assertEqual(xml, repr(actual))

  14. if __name__ == '__main__':
  15.     unittest.main(verbosity=2)
复制代码

回复

使用道具 举报

🔗
johnnywsd 2017-11-15 13:52:25 | 只看该作者
全局:
  1. # -*- coding: utf-8 -*-
  2. """
  3. 烙印Engineer不记得什么岗位了,问题是一个雇员和经理的列表
  4. emp mag
  5. 1     -. 1point 3acres 璁哄潧
  6. 2     1
  7. 3     1
  8. 4     2
  9. 5     4
  10. 那么1就是ceo,因为没有manager
  11. 然后打印结果
  12. 1
  13. -2
  14. --4
  15. ---5
  16. -3
  17. """


  18. from collections import defaultdict
  19. class OrgChart(object):
  20.     def __init__(self, relations):
  21.         self.graph = defaultdict(list)
  22.         self.ceo = None
  23.         for ee, manager in relations:
  24.             self.graph[manager].append(ee)
  25.             if manager is None:
  26.                 self.ceo = ee

  27.     def get_org_chart(self):
  28.         self._ret = []
  29.         self._pre_order(self.ceo, 0)
  30.         return self._ret

  31.     def print_org_chart(self):
  32.         chart = self.get_org_chart()
  33.         lines = []
  34.         for level, ee in chart:
  35.             lines.append('-' * level + str(ee))
  36.         st = '\n'.join(lines)
  37.         print st

  38.     def _pre_order(self, node, level):
  39.         if node:
  40.             self._ret.append((level, node))
  41.         for child in self.graph[node]:
  42.             self._pre_order(child, level + 1)


复制代码

  1. import unittest
  2. from solution import OrgChart


  3. class Test(unittest.TestCase):
  4.     def test_1(self):
  5.         relations = [
  6.             (1, None),
  7.             (2, 1),
  8.             (3, 1),
  9.             (4, 2),
  10.             (5, 4),
  11.         ]
  12.         org_chart = OrgChart(relations)
  13.         actual = org_chart.get_org_chart()
  14.         print
  15.         org_chart.print_org_chart()
  16.         print actual

  17. if __name__ == '__main__':
  18.     unittest.main(verbosity=2)
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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