一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 2645|回复: 5
收起左侧

google面试

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

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

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

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

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):
    . visit 1point3acres.com for more.

  2.     def __init__(self, grid):
  3.         self._grid = grid. from: 1point3acres.com/bbs
  4.         self._m = len(grid)
  5.         self._n = len(grid[0])

  6.     def _get_children(self, i, j):
  7.         res = {}.1point3acres缃
  8.         for p in [-1, 0, 1]:
  9.             for q in [-1, 0, 1]:
  10.                 if p == q == 0:. Waral 鍗氬鏈夋洿澶氭枃绔,
  11.                     continue
  12.                 ii = i + p
  13.                 jj = j + q
  14.                 if 0 <= ii < self._m and 0 <= jj < self._n:
  15.                     res[(ii, jj)] = self._grid[ii][jj]
  16.         return res
  17. . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  18.     def find_path(self, word):
  19.         self._visited = set()
  20.         res = []
  21.         for i in range(self._m):
  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)
  38.                 for key in children:
  39.                     ii = key[0]
  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. . visit 1point3acres.com for more.
  6.     def test1(self):
    . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  7.         word = 'dog'.1point3acres缃
  8.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  9.         grid = ['dogo', 'xxxx', 'xxxx', 'xxxx']
  10.         grid = [[y for y in x] for x in grid]
  11.         s = Grid(grid)
  12.         res = s.find_path(word). Waral 鍗氬鏈夋洿澶氭枃绔,
  13.         print res
    . 1point3acres.com/bbs

  14.     def test2(self):
  15.         word = 'dog'. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  16.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  17.         grid = [[y for y in x] for x in grid]
  18.         s = Grid(grid)
  19.         res = s.find_path(word)
  20.         print res
  21. if __name__ == '__main__':
  22.     unittest.main(verbosity=2)
复制代码
回复 支持 反对

使用道具 举报

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

  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
  12.                 ii = i + p
  13.                 jj = j + q
  14.                 if 0 <= ii < self._m and 0 <= jj < self._n:
  15.                     res[(ii, jj)] = self._grid[ii][jj]. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  16.         return res
  17. . from: 1point3acres.com/bbs
  18.     def find_path(self, word):
  19.         self._visited = set()
  20.         res = []
  21.         for i in range(self._m):
  22.             for j in range(self._n):. more info on 1point3acres.com
  23.                 self._results = []. more info on 1point3acres.com
  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]. visit 1point3acres.com for more.
  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)
  38.                 for key in children:. From 1point 3acres bbs
  39.                     ii = key[0]
    . 鍥磋鎴戜滑@1point 3 acres
  40.                     jj = key[1].鐣欏璁哄潧-涓浜-涓夊垎鍦
  41.                     self._find_path_aux(idx + 1, word, one_result + [(i, j)],
  42.                                         ii, jj). from: 1point3acres.com/bbs
  43.                 self._visited.remove((i, j))
  44.             else:. more info on 1point3acres.com
  45.                 return. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
复制代码


  1. # -*- coding: utf-8 -*-
  2. import unittest
  3. from solution import Grid


  4. class Test(unittest.TestCase):
  5. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  6.     def test1(self):. From 1point 3acres bbs
  7.         word = 'dog'. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  8.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  9.         grid = ['dogo', 'xxxx', 'xxxx', 'xxxx']
  10.         grid = [[y for y in x] for x in grid]
  11.         s = Grid(grid)
  12.         res = s.find_path(word)
  13.         print res

  14.     def test2(self):
  15.         word = 'dog'
  16.         grid = ['dogo', 'oodo', 'gogo', 'oooo']
  17.         grid = [[y for y in x] for x in grid]
    . Waral 鍗氬鏈夋洿澶氭枃绔,
  18.         s = Grid(grid). from: 1point3acres.com/bbs
  19.         res = s.find_path(word)
  20.         print res
  21. if __name__ == '__main__':
  22.     unittest.main(verbosity=2) 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
复制代码
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

回复 支持 反对

使用道具 举报

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

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-12-12 16:39

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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