[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 3233|回复: 10
收起左侧

Google 电面一面

[复制链接] |试试Instant~ |关注本帖
manifold 发表于 2015-7-30 06:00:24 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类General 硕士 全职@Google - 网上海投 - 技术电面  | Other | fresh grad应届毕业生

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

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

x
第一个technical initerview就是来自G, 攒RP:
电话有背景噪音, 听的不是很清楚, 很多地方要求对话重复问题, 面试官没有口语

HR联系的时候问我用什么语言, 告诉HR比较Prefer Python, 最近一直在用Java刷题. Waral 博客有更多文章,
面试官告诉我他用Python.. 一亩-三分-地,独家发布

问了一个包含四个小题的大题:
1. 用Python random模块里的random()来模拟randint(a, b). Waral 博客有更多文章,
      random() 返回[0, 1)间的float
      randint(a, b) 返回v, v in [a, b]

2. 实现 random_choice(seq), 返回给定sequence里的任意一个值

3. 实现 weighted_choice(seq), seq是一个list, 里面存有tuples, 比如:
    seq = [(a, 4), (b, 3), ...], 返回一个random value, 返回值的概率和
   tuple里第二个值大小成正比。 如果seq = [(a, 4), (b, 3)], 返回a的概率为4/7,b为3/7

4. 如果weighted_choice被调用多次, 在pass同一seq情况下, 如何提高weighted_chocie速度:
    class random:.本文原创自1point3acres论坛
       def __init__(seq):
            .....
       def weighted_choice():
           ......
    第四个是brainstorm 没有要求coding. 牛人云集,一亩三分地

    当时回答说用binary search tree可以, 面试官告诉我大部分人用直接用binary search, 然后要求
分析 BS vs BST优缺点
. more info on 1point3acres
zhouyoung1124 发表于 2015-8-4 21:30:12 | 显示全部楼层
楼主电面完多久有的消息?
回复 支持 反对

使用道具 举报

 楼主| manifold 发表于 2015-8-5 04:54:14 | 显示全部楼层
zhouyoung1124 发表于 2015-8-4 21:30. 1point3acres
楼主电面完多久有的消息?

上周三面的 还没有收到消息
回复 支持 反对

使用道具 举报

lxia 发表于 2015-8-6 17:41:16 | 显示全部楼层
才知道binary search 和BST区别主要是插入和删除的区别。学习了
回复 支持 反对

使用道具 举报

sevenwonder 发表于 2015-8-7 01:07:07 | 显示全部楼层
lxia 发表于 2015-8-6 17:41
才知道binary search 和BST区别主要是插入和删除的区别。学习了

能否科普下优缺点啊,binary search没有插入和删除吧
回复 支持 反对

使用道具 举报

 楼主| manifold 发表于 2015-8-7 01:13:06 | 显示全部楼层
sevenwonder 发表于 2015-8-7 01:07
能否科普下优缺点啊,binary search没有插入和删除吧

这题用Binary search 或者构造一个Binary search tree时间上都是O(lgn)。 因为构造出的BST是balanced的。我当时说主要差别在binary tree需要更多的memory上的overhead, binary search tree用一个数组就能解决这个问题。 面试官没有表态。
回复 支持 反对

使用道具 举报

woshiee123 发表于 2015-8-11 03:22:42 | 显示全部楼层
第一题是 b*random(a,b)+random(a,b), 然后去掉大于b的那部分么?
回复 支持 反对

使用道具 举报

woshiee123 发表于 2015-8-11 03:23:12 | 显示全部楼层
其他题能不能麻烦楼主说下思路 谢谢啦
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

 楼主| manifold 发表于 2015-8-11 05:35:50 | 显示全部楼层
woshiee123 发表于 2015-8-11 03:22. From 1point 3acres bbs
第一题是 b*random(a,b)+random(a,b), 然后去掉大于b的那部分么?

def randint(a, b):. visit 1point3acres for more.
    return int(a + random()*(b - a  + 1))
回复 支持 反对

使用道具 举报

 楼主| manifold 发表于 2015-8-11 05:42:38 | 显示全部楼层
woshiee123 发表于 2015-8-11 03:23
其他题能不能麻烦楼主说下思路 谢谢啦
.留学论坛-一亩-三分地
2. def random_choice(seq) : # you also need to add some error checking
         n = len(seq)
         ix = randint(0, n-1)
         return seq[ix]
3. def weighted_choice(seq): 来源一亩.三分地论坛.
         total_value = sum([v for _, v in seq])
         rand_num = randint(0, total_value - 1)
         partial_sum = 0
. more info on 1point3acres         for ix in range(len(seq)):
               partial_sum += seq[ix][1]-google 1point3acres
               if partial_sum < rand_num:
                     return seq[ix][0]
         raise Error("Error")

大概是这样子的
回复 支持 反对

使用道具 举报

ChrisGates23 发表于 2015-8-12 04:52:29 | 显示全部楼层
manifold 发表于 2015-8-7 01:13
这题用Binary search 或者构造一个Binary search tree时间上都是O(lgn)。 因为构造出的BST是balanced的 ...

random()*(b-a+1) + a
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

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

custom counter

GMT+8, 2018-5-24 22:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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