一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 1940|回复: 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卡。。。
午饭挺好吃的。下次有机会去,一定得好好吃一顿
. 1point3acres.com/bbs

评分

2

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

猫咪老师 发表于 2014-3-2 07:14:18 | 显示全部楼层
关注一亩三分地微博:
Warald
多谢楼主分享~~去一次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). 鍥磋鎴戜滑@1point 3 acres
  5.         self._n = len(grid[0]).鏈枃鍘熷垱鑷1point3acres璁哄潧

  6.     def _get_children(self, i, j):. From 1point 3acres bbs
  7.         res = {}
  8.         for p in [-1, 0, 1]:
  9.             for q in [-1, 0, 1]:. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  10.                 if p == q == 0:
  11.                     continue
  12.                 ii = i + p
  13.                 jj = j + q. visit 1point3acres.com for more.
  14.                 if 0 <= ii < self._m and 0 <= jj < self._n:
  15.                     res[(ii, jj)] = self._grid[ii][jj]. 1point 3acres 璁哄潧
  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):. From 1point 3acres bbs
  27.         if idx == len(word) - 1:
  28.             target = word[idx]. From 1point 3acres bbs
  29.             if target == self._grid[i][j] and ((i, j) not in self._visited):
  30.                 self._results.append(one_result + [(i, j)])
  31.         else:
  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)).1point3acres缃
  43.             else:
  44.                 return
复制代码
  1. # -*- coding: utf-8 -*-
  2. import unittest-google 1point3acres
  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'].鐣欏璁哄潧-涓浜-涓夊垎鍦
  9.         grid = [[y for y in x] for x in grid]
  10.         s = Grid(grid)
  11.         res = s.find_path(word)
  12.         print res. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

  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]:. 1point 3acres 璁哄潧
  9.             for q in [-1, 0, 1]:
  10.                 if p == q == 0:
  11.                     continue
  12.                 ii = i + p
  13.                 jj = j + q
  14.                 if 0 <= ii < self._m and 0 <= jj < self._n:. 鍥磋鎴戜滑@1point 3 acres
  15.                     res[(ii, jj)] = self._grid[ii][jj]
  16.         return res

  17.     def find_path(self, word):.鏈枃鍘熷垱鑷1point3acres璁哄潧
  18.         self._visited = set()
  19.         res = []. 1point 3acres 璁哄潧
  20.         for i in range(self._m):
  21.             for j in range(self._n):
  22.                 self._results = []
    . 1point 3acres 璁哄潧
  23.                 self._find_path_aux(0, word, [], i, j)
  24.                 res.extend(self._results[:])
  25.         return res. from: 1point3acres.com/bbs

  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):. Waral 鍗氬鏈夋洿澶氭枃绔,
  30.                 self._results.append(one_result + [(i, j)])
  31.         else:
  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:. 鍥磋鎴戜滑@1point 3 acres
  38.                     ii = key[0]. From 1point 3acres bbs
  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)).1point3acres缃
  43.             else:. 鍥磋鎴戜滑@1point 3 acres
  44.                 return.鏈枃鍘熷垱鑷1point3acres璁哄潧
复制代码

. Waral 鍗氬鏈夋洿澶氭枃绔,
  1. # -*- coding: utf-8 -*-
  2. import unittest.1point3acres缃
  3. from solution import Grid


  4. class Test(unittest.TestCase):

  5.     def test1(self):.鐣欏璁哄潧-涓浜-涓夊垎鍦
  6.         word = 'dog'. from: 1point3acres.com/bbs
  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

  13.     def test2(self):
  14.         word = 'dog'
  15.         grid = ['dogo', 'oodo', 'gogo', 'oooo']. 1point3acres.com/bbs
  16.         grid = [[y for y in x] for x in grid]
  17.         s = Grid(grid)
  18.         res = s.find_path(word)
  19.         print res. more info on 1point3acres.com
  20. if __name__ == '__main__':.鏈枃鍘熷垱鑷1point3acres璁哄潧
  21.     unittest.main(verbosity=2)
复制代码


求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

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

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-2-19 21:26

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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