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

pure storage 面经

全局:

2017(1-3月) 码农类General 博士 全职@purestorage - Other - Onsite 在线笔试  | | Other | 在职跳槽

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

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

x
OA 是 12题 版本

第一轮onsite:
1. buddy system
一开始给个brute force解,之后在interviewer引导下improve直至最优解(要求操作非常效率,主要考虑读取连续的内存进入memory,这样会使cache的命中率增加。)

题目:定义buddy system为一棵complete binary tree。一个node可能为0也可能为1
. 它的
value为1,当且仅当它所有的child的value均为1.
1
|
1             2
|             |
1     2       3     4
|     |      |    |
1 2  3 4    5 6  7 8


实现下列的method。
1' clearBit(int offset, int len);<
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
q = new LinkedList<Callback>();
Mutex L = new Mutex();
ConditionalVariable cv = new CV();

void register(Callback cb) {
     L.lock();
     if (!isFired) {
         q.offer();
          L.unlock();
     } else {
          L.unlock();
          cv.wait(another lock);
          cb.execute();
     }
}

void event_fired() {
     L.lock();
     isFired = true;
     L.unlock();
     while (!q.isEmpty()) {
          Callback cb = q.poll();
          cb.execute();
     }
     cv.notify();
}


第二轮onsite:
因为拿到其他offer, withdraw

评分

参与人数 2大米 +5 收起 理由
yimeichihuo2 + 2 很有用的信息!
Lzzzperfect + 3 给你点个赞!

查看全部评分


上一篇:LiveRamp 电面 已挂
下一篇:Paypal Intern 电面

本帖被以下淘专辑推荐:

推荐
hcdtc 2018-3-21 15:23:17 | 只看该作者
全局:
lz你好,我问一下你在检查leftBuddy和rightbuddy的时候应该要check一下数组是否越界吧。按照你贴的代码如果我要求set最后一行的最后一个node(假设最后一个node index 为偶数)为1,那你的leftbuddy 和 right buddy就都越界了。
回复

使用道具 举报

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

使用道具 举报

🔗
muyongjian 2017-2-7 06:05:35 | 只看该作者
全局:
辉哥哥 发表于 2017-2-5 06:40
恭喜楼主拿到offer~

关于第一题有一个问题:下面应该是最优解的重点了吧。有一点没有理解,就是这个和 ...

因为相比brute force的解法,LZ的解法不需要考虑下面一行,这样的话读进mem的只有当前行的数组,所以是连续的。
回复

使用道具 举报

🔗
辉哥哥 2017-2-7 14:10:15 | 只看该作者
全局:
muyongjian 发表于 2017-2-7 06:05
因为相比brute force的解法,LZ的解法不需要考虑下面一行,这样的话读进mem的只有当前行的数组,所以是连 ...

好吧,大概明白一点点
回复

使用道具 举报

🔗
hahaha666 2017-2-16 01:48:09 | 只看该作者
全局:
感谢楼主分享!
回复

使用道具 举报

🔗
wjw779 2017-11-8 13:09:33 | 只看该作者
全局:
请问楼主,这里的bit[][]数组是哪里new出来的呢
回复

使用道具 举报

🔗
cicean 2017-11-30 06:38:34 | 只看该作者
全局:
同问楼主bits[][] 是不是就是matrixs
回复

使用道具 举报

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

使用道具 举报

🔗
godj 2019-9-27 06:31:25 | 只看该作者
全局:
martinggww 发表于 2018-10-28 05:28
楼主能不能再说说多线程这道题
1. 第一个register的函数,为什么不能lock整个函数block,像这样?
[mw_sh ...

在execute的时候拿着lock别的register全都得等他运行完才能跑了。
回复

使用道具 举报

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

本版积分规则

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