一亩三分地论坛

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

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

[找工就业] Google Zenefits Nvidia

[复制链接] |试试Instant~ |关注本帖
begg930 发表于 2015-11-18 10:58:45 | 显示全部楼层 |阅读模式

2015(10-12月)-[15]CS硕士+fresh grad 无实习/全职 - 内推| 码农类实习@Googlefresh grad应届毕业生

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

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

x
. more info on 1point3acres.com
Google
一面:Longest Consecutive Path in a Tree
二面:有一大坨candidate,每个人有一个ID integer,从中随机选择500个人参加Google的party,保证公平

Nvidia
一面:Search in rotated array,问了data mining的两个水问题,问了overfitting是什么,用线性的cost函数和quadratic的cost函数有什么trade off,一个收敛快,但容易有overfitting
二面:Seralize and Deseralize Binary Tree,问了奇葩的安卓问题,有一个安卓平板,你一直在往上面烧一个程序,这个程序让这个平板reboot,烧了一夜,第二天早上起来黑屏了,你怎么debug,除了看log你还怎么debug
三面:thread和process区别,不保护线程的后果是啥(deadlock),如何预防deadlock,java的多线程有哪些方式,写一个code把string abc变成abbccc,给了两段C代码改错,分别是防止buffer溢出和数组溢出

Zenefits
一面:有个vector<Iterator>,里面装了m个iterator,每个iterator是一个vector<int>的iterator,假设有next和hasNext接口,让你实现一个Zigzag traversal iterator
[
  [1,2,3]
  [5,4]
  [6,7,8,9]
一直调用next会返回1,5,6,2,4,7,3,8,9,先用了O(mn)的方法,m是最长的iterator的数组的长度,又改成queue或者cycle linkedlist,复杂度是O(k), k是总元素个数
Follow Up是,如果iterator有prev和hasPrev接口,实现Zigzag iterator的prev和hasPrev,用C++的deque和stack
二面:打印公司manager结构,要indent,follow up按字母序排序,聊了data mining project

. 1point 3acres 璁哄潧

评分

2

查看全部评分

LawranceH 发表于 2015-11-25 14:20:39 | 显示全部楼层
bitware 发表于 2015-11-25 14:11
google二面那题怎么解,重复产生500个随机数,并且keep一个set么?
. From 1point 3acres bbs
应该是用Reservoir sampling 这个做。
回复 支持 1 反对 0

使用道具 举报

头像被屏蔽
bitware 发表于 2015-11-25 14:11:07 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

crisc3 发表于 2015-11-25 15:58:15 | 显示全部楼层
bitware 发表于 2015-11-25 14:11. 鍥磋鎴戜滑@1point 3 acres
google二面那题怎么解,重复产生500个随机数,并且keep一个set么?

楼主说的一大坨应该是指无法预先知道 N,所以不能直接用rand(1,N)的意思。那么我们只能慢慢从data stream读取S, 同时维护一个vector<int> R为最终产生的sample。也就是一楼说的reservoir sampling :
/*
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴  S has items to sample, R will contain the result
*/
ReservoirSample(S[1..n], R[1..k])
  // fill the reservoir array
. visit 1point3acres.com for more.  for i = 1 to k
      R := S

  // replace elements with gradually decreasing probability
  for i = k+1 to n
    j := random(1, i)   // important: inclusive range. Waral 鍗氬鏈夋洿澶氭枃绔,
    if j <= k
        R[j] := S
具体可以用数学归纳法证明在iterator i到k的时候(k>500) 对于每个数1,2,...k被选中的概率都是500/k。所以k到 N 的时候,每个数字被选中的概率都相等 为500/N
回复 支持 反对

使用道具 举报

 楼主| begg930 发表于 2015-11-26 00:23:15 | 显示全部楼层
crisc3 发表于 2015-11-25 15:58
楼主说的一大坨应该是指无法预先知道 N,所以不能直接用rand(1,N)的意思。那么我们只能慢慢从data stream ...

基本上就是这样的 赞赞赞 涨姿势

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 14:22

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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