一亩三分地论坛

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

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

google面试

[复制链接] |试试Instant~ |关注本帖
sumingche 发表于 2014-1-25 14:00:04 | 显示全部楼层 |阅读模式

2014(1-3月) 码农类 硕士 全职@Google - 猎头 - Onsite |Other

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

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

x
早上错过了班车,迟到了半个小时。妈蛋,果然跟google没缘分。
到了之后逛了一圈,不错,啥都有:coffee shop, laundry, kitchen at every floor, breakfast, launch, dinner, game room, music room, library. 应该来个Google Hilton.就齐活了。
一面问了个找字符串查重的问题。然后问了一下如何实现iterator的peek。挺有意思!
二面是一个哥们问如何对一个用户进行好友推荐,这个推荐的人应该和用户有最多的共同好友。是图问题。
三面是写一个meeting schedule, 求最少的房间。
四面问一个word grid.给一个词,返回有多少个path可以组成所给定的词。

面完了滚出,给了一个瓶子,还有五块钱的google store卡。。。
午饭挺好吃的。下次有机会去,一定得好好吃一顿

评分

2

查看全部评分

本帖被以下淘专辑推荐:

iamchrisa 发表于 2014-2-19 06:26:34 | 显示全部楼层
齐活...楼主哪里人?我以前经常用"齐活"这个词,哈哈
回复 支持 反对

使用道具 举报

猫咪老师 发表于 2014-3-2 07:14:18 | 显示全部楼层
多谢楼主分享~~去一次onsite这辈子job hunting就值了~
回复 支持 反对

使用道具 举报

johnnywsd 发表于 2014-4-7 07:25:44 | 显示全部楼层
  1. class Grid(object):

  2.     def __init__(self, grid):. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  3.         self._grid = grid
  4.         self._m = len(grid)
  5.         self._n = len(grid[0]).1point3acres缃
  6. . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  7.     def _get_children(self, i, j): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  8.         res = {}
  9.         for p in [-1, 0, 1]:
  10.             for q in [-1, 0, 1]:
  11.                 if p == q == 0:
  12.                     continue
  13.                 ii = i + p
  14.                 jj = j + q
  15.                 if 0 <= ii < self._m and 0 <= jj < self._n:. more info on 1point3acres.com
  16.                     res[(ii, jj)] = self._grid[ii][jj]
  17.         return res

  18.     def find_path(self, word):
  19.         self._visited = set()
  20.         res = []. Waral 鍗氬鏈夋洿澶氭枃绔,
  21.         for i in range(self._m):. From 1point 3acres bbs
  22.             for j in range(self._n):. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  23.                 self._results = []
  24.                 self._find_path_aux(0, word, [], i, j)
  25.                 res.extend(self._results[:])
  26.         return res

  27.     def _find_path_aux(self, idx, word, one_result, i, j):
  28.         if idx == len(word) - 1:
  29.             target = word[idx]
  30.             if target == self._grid[i][j] and ((i, j) not in self._visited):
  31.                 self._results.append(one_result + [(i, j)])
  32.         else:
  33.             # 0 <= idx < len(word) - 1
  34.             target = word[idx]
  35.             if target == self._grid[i][j] and ((i, j) not in self._visited):
  36.                 self._visited.add((i, j))
  37.                 children = self._get_children(i, j). 1point 3acres 璁哄潧
  38.                 for key in children:
  39.                     ii = key[0]. more info on 1point3acres.com
  40.                     jj = key[1]
  41.                     self._find_path_aux(idx + 1, word, one_result + [(i, j)],
  42.                                         ii, jj)
  43.                 self._visited.remove((i, j))
  44.             else:
  45.                 return
复制代码
  1. # -*- coding: utf-8 -*-
  2. import unittest
  3. from solution import Grid


  4. class Test(unittest.TestCase):

  5.     def test1(self):
  6.         word = 'dog'
  7.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  8.         grid = ['dogo', 'xxxx', 'xxxx', 'xxxx']
  9.         grid = [[y for y in x] for x in grid]
  10.         s = Grid(grid)
  11.         res = s.find_path(word)
  12.         print res
    . from: 1point3acres.com/bbs

  13.     def test2(self):
  14.         word = 'dog'
  15.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  16.         grid = [[y for y in x] for x in grid]
  17.         s = Grid(grid)
  18.         res = s.find_path(word)
  19.         print res
  20. if __name__ == '__main__':
  21.     unittest.main(verbosity=2)
复制代码
回复 支持 反对

使用道具 举报

johnnywsd 发表于 2014-4-7 07:27:03 | 显示全部楼层
  1. class Grid(object):

  2.     def __init__(self, grid):
  3.         self._grid = grid
  4.         self._m = len(grid)
  5.         self._n = len(grid[0])

  6.     def _get_children(self, i, j):
  7.         res = {}
  8.         for p in [-1, 0, 1]:
  9.             for q in [-1, 0, 1]:
  10.                 if p == q == 0:
  11.                     continue. 1point3acres.com/bbs
  12.                 ii = i + p
  13.                 jj = j + q
  14.                 if 0 <= ii < self._m and 0 <= jj < self._n:.鏈枃鍘熷垱鑷1point3acres璁哄潧
  15.                     res[(ii, jj)] = self._grid[ii][jj]
  16.         return res

  17.     def find_path(self, word):
  18.         self._visited = set()
  19.         res = []
  20.         for i in range(self._m):
  21.             for j in range(self._n):
  22.                 self._results = []
  23.                 self._find_path_aux(0, word, [], i, j)
  24.                 res.extend(self._results[:])
  25.         return res 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

  26.     def _find_path_aux(self, idx, word, one_result, i, j):
  27.         if idx == len(word) - 1:
  28.             target = word[idx]
  29.             if target == self._grid[i][j] and ((i, j) not in self._visited):
  30.                 self._results.append(one_result + [(i, j)])
  31.         else:. visit 1point3acres.com for more.
  32.             # 0 <= idx < len(word) - 1
  33.             target = word[idx]. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  34.             if target == self._grid[i][j] and ((i, j) not in self._visited):
  35.                 self._visited.add((i, j))
  36.                 children = self._get_children(i, j)
  37.                 for key in children:
  38.                     ii = key[0]
  39.                     jj = key[1]
  40.                     self._find_path_aux(idx + 1, word, one_result + [(i, j)],
  41.                                         ii, jj)
  42.                 self._visited.remove((i, j))
  43.             else:
  44.                 return
复制代码
.鏈枃鍘熷垱鑷1point3acres璁哄潧
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  1. # -*- coding: utf-8 -*-
  2. import unittest
  3. from solution import Grid


  4. class Test(unittest.TestCase):

  5.     def test1(self):. 鍥磋鎴戜滑@1point 3 acres
  6.         word = 'dog'
  7.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  8.         grid = ['dogo', 'xxxx', 'xxxx', 'xxxx']. From 1point 3acres bbs
  9.         grid = [[y for y in x] for x in grid] 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  10.         s = Grid(grid)
  11.         res = s.find_path(word)
  12.         print res. 鍥磋鎴戜滑@1point 3 acres

  13.     def test2(self):-google 1point3acres
  14.         word = 'dog'
  15.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  16.         grid = [[y for y in x] for x in grid]
  17.         s = Grid(grid)
  18.         res = s.find_path(word). 1point3acres.com/bbs
  19.         print res
  20. if __name__ == '__main__':
  21.     unittest.main(verbosity=2)
复制代码


回复 支持 反对

使用道具 举报

shire1989 发表于 2014-5-9 05:58:27 | 显示全部楼层
找字符串查重的问题
什么意思?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-1-19 18:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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