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

Google电面, 求人品

全局:

2017(1-3月) 码农类General 博士 全职@google - 内推 - 技术电面  | | Other | 应届毕业生

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

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

x
前几天的Google电面, 一位印度口音的小哥, 一上来就问我有什么问题, 我说没问题, 他说那好我们直接上题. 题目如下:

写一个class, 有以下两个函数:
addFilter(String filter), 作用是在一个词库里加入一些单词(filter),
boolean isWordBlacklisted(String word), 作用是判断word跟词库里面的单词有没有match的, match的规则为:

filter可以包含*, *可以match任何0个或多个字符, 例如在词库里面加入以下两个filter:
h*o
fo*d

然后以下word的match结果为:
food -> true
hello ->
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
我看手机上没有未接来电啊, 后来又试了下, 手机可以正常接电话, 不知道是不是他打的时候信号不好, 后来他直接发邮件叫我下一轮继续电面, 被加面了. 然后约了二月初的电面. 先来报个面经, 求人品. 不知道加面一般会不会问很难的题.



评分

参与人数 3大米 +46 收起 理由
guaibao135 + 3 很有用的信息!
wwtpcsuper + 40
kamibear + 3 回答的很好!

查看全部评分


上一篇:请问各位大神,为什么我收到Amazon面试流程不太一样?
下一篇:骨骼家新鲜出炉面经,攒人品

本帖被以下淘专辑推荐:

  • · Google|主题: 458, 订阅: 133
全局:
bigbearlake 发表于 2017-1-18 02:04
可以说一下大概思路吗?

就是建个trie暴力搜的;如果这个词的当前字母不匹配,就检查‘*’在不在:不在返回错,否则用'*'依次替代1~len(rest of word)长度的字母继续搜
回复

使用道具 举报

推荐
spiritrhy 2017-2-7 06:45:47 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
  1. class TrieNode(object):
  2.     def __init__(self):
  3.         self.kids = {}
  4.         self.end = False


  5. def insert(root, word):
  6.     if root is None:
  7.         root = TrieNode()
  8.     cur = root
  9.     for ch in word:
  10.         if ch not in cur.kids:
  11.             cur.kids[ch] = TrieNode()
  12.         cur = cur.kids[ch]
  13.     cur.end = True
  14.     return root


  15. def isWordBlacklisted(root, word):
  16.     if not word:
  17.         return root.end
  18.     if word[0] not in root.kids:
  19.         if '*' not in root.kids:
  20.             return False
  21.         return any(
  22.             isWordBlacklisted(root.kids['*'], word[idx:])
  23.             for idx in range(len(word)+1)
  24.         )
  25.     return isWordBlacklisted(root.kids[word[0]], word[1:])


  26. if __name__ == '__main__':
  27.     root = TrieNode()
  28.     root = insert(root, 'fo*de')
  29.     assert(isWordBlacklisted(root, 'foaide'))
  30.     root = insert(root, 'h*o')
  31.     root = insert(root, 'fo*d')
  32.     assert(isWordBlacklisted(root, 'food'))
  33.     assert(isWordBlacklisted(root, 'hello'))
  34.     assert(not isWordBlacklisted(root, 'foo'))
  35.     assert(isWordBlacklisted(root, 'fod'))
  36.     assert(isWordBlacklisted(root, 'foood'))
  37.     assert(isWordBlacklisted(root, 'focfd'))
复制代码
回复

使用道具 举报

🔗
zhangle2015 2017-1-13 09:02:23 | 只看该作者
全局:
这题应该是tire tree做吧
回复

使用道具 举报

🔗
bbmbill 2017-1-13 09:14:30 | 只看该作者
全局:
这道题能不能把每个trie node的子节点加一个‘*’的情况,指向node自己,然后dfs?这样follow up的问题应该也可以解决:比如fliter是fo*de, word是fodede,先按fode的顺序匹配,然后匹配不成功返回到‘o’对应的那个node,走‘*’那条路指向自己,走两次,再匹配“de”和“de”,匹配成功这样?不知道我说没说清楚。
回复

使用道具 举报

🔗
yuanxiehuang 2017-1-13 09:19:27 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
yuanxiehuang 2017-1-13 09:21:32 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
小乙 2017-1-17 07:21:20 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
yuanxiehuang 2017-1-17 07:40:24 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
小乙 2017-1-17 08:05:35 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
yuanxiehuang 2017-1-17 08:27:11 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

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

本版积分规则

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