《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

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

Pure Storage 面经

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

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

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

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

x
总共有三轮。

第一轮:Online Test
Two coding and ten multiple-choice questions.. 1point3acres.com/bbs


第二轮:First Onsite. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
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?. 鍥磋鎴戜滑@1point 3 acres

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

====================

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

大家加油!

评分

1

查看全部评分

本帖被以下淘专辑推荐:

daniel_hl 发表于 2016-11-11 05:28:26 | 显示全部楼层
LZ跟我面的题完全一样,顺序都一样
回复 支持 反对

使用道具 举报

lela900900 发表于 2016-11-11 07:20:10 | 显示全部楼层
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
你是有电面吗 还是直接onsite

我在湾区这,跟你一样,第一轮也是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
LZ跟我面的题完全一样,顺序都一样
.鏈枃鍘熷垱鑷1point3acres璁哄潧
这么巧 :-) 我这星期二面的,你什么时候呢?
回复 支持 反对

使用道具 举报

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
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再被调用不就没有死锁了?
回复 支持 反对

使用道具 举报

clould365 发表于 2017-8-13 01:06:27 | 显示全部楼层
event cb那个题,给了这个里边最后一个答案,https://github.com/xieqilu/Qilu-leetcode/blob/master/PureStorage/TriggerSystem.cs
但是面试官说还可以继续优化,减少lock 和unlock
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-19 11:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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