May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 2822|回复: 17
收起左侧

Pure Storage 面经

[复制链接] |试试Instant~ |关注本帖
linzhao115 发表于 2016-11-11 04:04:39 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Pure Storage - Other - HR筛选 Onsite 在线笔试 |Other其他

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

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

x
总共有三轮。

第一轮:Online Test
Two coding and ten multiple-choice questions.


第二轮:First Onsite. 鍥磋鎴戜滑@1point 3 acres
1. 老题。set_bits() and clear_bits().
2. 老题。callback() and fire_events().

第三轮:Second Onsite
1. 老题。Write a function to reverse a file in place.
        Answer: Use two pointers, one reads from the beginning, one reads from the end, swap byte by byte.
        Follow up: Each read and write will incur a system call, how do you minimize the amount of system calls?
        Answer: We can read chunk by chunk instead (Need to modify the original function to illustrate this.)
        Follow up: What can be a good chunk size? What are the factors determine a good chunk size?
        Follow up: The reverse process can be interrupted at any time, how do you make sure the file won't be corrupted, and you can resume the reverse process any time?

2. 新题。What data structure would you use to construct a skip list? Implement search() and insert().

3. 新题。Given a number, it will go through the following transition: if it is odd: n * 3 + 1, otherwise n / 2. Write a function that returns how many transitions would a number take to get to 1. For example, given 3, it will go through the following: 3 - 10 - 5 - 16 - 8 - 4 - 2 - 1, thus the answer is 7.
        Follow up: If you need to call this function many many times, how can you optimize it?
        Follow up: Any different data structure/approach?. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        Follow up: If the memory is limited, what would you do?

4. Manager talk. Your background and past projects. Why would you want to work for Pure? Any questions?

====================
. from: 1point3acres.com/bbs
说说感想吧。前两轮感觉都很棒。第三轮有点玄,特别是第一题,虽然不难,但面试官说话很快,没什么表情,蛮intimidating的,我脑子卡了好几下。所以心理建设很重要,碰到tough的面试官我就感觉好弱 :-) 整个过程走下来,感觉他们考的算法题看上去都是不难,但follow up很多,所以discussion很重要。
. visit 1point3acres.com for more.
大家加油!

评分

1

查看全部评分

本帖被以下淘专辑推荐:

daniel_hl 发表于 2016-11-11 05:28:26 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
LZ跟我面的题完全一样,顺序都一样
回复 支持 反对

使用道具 举报

lela900900 发表于 2016-11-11 07:20:10 | 显示全部楼层
关注一亩三分地微博:
Warald
lz 拿到offer了?
回复 支持 反对

使用道具 举报

lela900900 发表于 2016-11-11 07:20:22 | 显示全部楼层
daniel_hl 发表于 2016-11-11 05:28
LZ跟我面的题完全一样,顺序都一样

你是有电面吗 还是直接onsite
回复 支持 反对

使用道具 举报

lela900900 发表于 2016-11-11 07:28:56 | 显示全部楼层
请问lz 第一题 buddy bitmap 输入是一维还是二维矩阵,节点是treenode 还是integer呢 谢谢
回复 支持 反对

使用道具 举报

daniel_hl 发表于 2016-11-11 09:29:11 | 显示全部楼层
lela900900 发表于 2016-11-11 07:20. From 1point 3acres bbs
你是有电面吗 还是直接onsite
. From 1point 3acres bbs
我在湾区这,跟你一样,第一轮也是onsite
回复 支持 反对

使用道具 举报

 楼主| linzhao115 发表于 2016-11-11 13:00:38 | 显示全部楼层
lela900900 发表于 2016-11-11 07:28
请问lz 第一题 buddy bitmap 输入是一维还是二维矩阵,节点是treenode 还是integer呢 谢谢

二维矩阵。不明白你第二个问题?
回复 支持 反对

使用道具 举报

 楼主| linzhao115 发表于 2016-11-11 13:02:18 | 显示全部楼层
daniel_hl 发表于 2016-11-11 05:28. From 1point 3acres bbs
LZ跟我面的题完全一样,顺序都一样
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
这么巧 :-) 我这星期二面的,你什么时候呢?
回复 支持 反对

使用道具 举报

lela900900 发表于 2016-11-11 13:53:23 | 显示全部楼层
linzhao115 发表于 2016-11-11 13:00
二维矩阵。不明白你第二个问题?

喔喔 我知道了,谢谢。
我明天第一次电面,希望是这2个题。。
回复 支持 反对

使用道具 举报

daniel_hl 发表于 2016-11-11 14:58:59 | 显示全部楼层
linzhao115 发表于 2016-11-11 13:02
这么巧 :-) 我这星期二面的,你什么时候呢?

我是前一阵子面的
回复 支持 反对

使用道具 举报

划破天际 发表于 2016-11-11 15:08:46 | 显示全部楼层
很久没写码了
回复 支持 反对

使用道具 举报

winterfly 发表于 2016-11-27 16:51:48 | 显示全部楼层
想问下onsite第一题最后两个follow up怎么答?
回复 支持 反对

使用道具 举报

lela900900 发表于 2016-11-28 00:46:42 | 显示全部楼层
winterfly 发表于 2016-11-27 16:51
想问下onsite第一题最后两个follow up怎么答?

你马上onsite吗?求问电面两轮的面经~~我马上电面第二轮
回复 支持 反对

使用道具 举报

RubyZhu09 发表于 2017-1-2 17:10:29 | 显示全部楼层
楼主泥还在么~~想问下  第三轮的第二题 难道不是直接对 list 进行 next next 操作就口以了嘛。。。。还是我理解错了呢 谢谢谢谢 楼主!
回复 支持 反对

使用道具 举报

RubyZhu09 发表于 2017-1-2 17:30:04 | 显示全部楼层
winterfly 发表于 2016-11-27 16:51. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
想问下onsite第一题最后两个follow up怎么答?

求问 你弄清楚这两个follow up 怎么答啦嘛 谢谢谢谢!
回复 支持 反对

使用道具 举报

rayord 发表于 2017-2-7 14:34:05 | 显示全部楼层
callback那个题, 用单线程实现了下,用了一个queue和flag,event_fired之前的都推入queue,之后的直接被reg_cb调用。但是不明白多线程那部分,请问在哪个地方多线程?实在没明白让用多线程干啥?可否回忆一下呢?谢谢啦
回复 支持 反对

使用道具 举报

辉哥哥 发表于 2017-2-8 07:09:19 | 显示全部楼层
rayord 发表于 2017-2-7 14:34.鏈枃鍘熷垱鑷1point3acres璁哄潧
callback那个题, 用单线程实现了下,用了一个queue和flag,event_fired之前的都推入queue,之后的直接被re ...

在单线程中你用flag来判断是否需要入堆。 现在有这样一种情况:有一个线程1读取了flag并且这个时候这个值是false,所以你需要把event1 push到堆栈。可就在你读取完flag的值,还没有把event1 加入到堆栈的时候,另外一个线程2调用的event_fired,并且清空了堆栈。然后线程1把event1push到堆栈,那么这个event1就永远死在堆栈里里。
回复 支持 反对

使用道具 举报

weiyinghkl 发表于 2017-4-5 13:37:03 | 显示全部楼层
有一点疑问,读完flag的值为什么马上释放锁?把event push到堆栈应该不是耗时操作,做完了再释放锁,event_fire再被调用不就没有死锁了?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-5-25 22:47

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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