一亩三分地论坛

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

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

pure storage 两次onsite 面经

[复制链接] |试试Instant~ |关注本帖
tc350981 发表于 2016-10-22 12:16:46 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@pure storage - 网上海投 - Onsite |Pass在职跳槽

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

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

x
网上投的,
12版本OA, 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
第一次onsite:
1. buddy system,要求操作非常效率,主要考虑读取连续的内存进入memory,这样会使cache的命中率增加。
2. register and fire task,mutex + condition variable
都是老题,但是follow up 超级的多,记不住了。

第二次onsite:
1. 用户会随机call int get_call_id(), 已经有 get_ids(int num_of_id, int *buf),get ids from disk or database,consume 1s per call。实现get_call_id(),我是一步一步来的,先实现一个单线程的,满足average小于要求的,然后多线程,然后improve,用了mutex和condition variable。最后还用到了tcp congestion control(1. slow start 2. congestion avoid 3. congestion recovery, 有兴趣的可以网上查一下) 的机制来处理动态分配buf的要求。. 1point 3acres 璁哄潧

2. lc sort color 要求swap次数最少。那个经典的法国国旗算法不work,不能保证swap最少,最优解是on时间o1space,我没给出最优解,给出了on时间onspace的。

3.1 给了一段简单的代码,实际就是memcpy的实现。讨论下什么情况不work(两个buf有overlap的时候不work),怎么改进,用memmove改进,然后实现memmove
3.2  给了另外一段代码,五个线程,对一个global变量x做5次++,问这个代码有什么问题。thread concurrence问题,具体是++翻译成汇编是三个指令:1. load x 2. increment x 3. store x back to memory。然后问最大可能的数是多少(25),可能的最小值是多少(2)为什么最小值是2. 我层层提示下想到了为什么是2。。

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

要是面他家的话强烈建议要看看多线程的知识,如果是multithread编程的话一般semaphore,mutex,condition variable都能解决了。还有就是他家大部分职位都是low level的东西,不熟的话很难过。。。
. from: 1point3acres.com/bbs

评分

1

查看全部评分

gc1993114 发表于 2016-10-23 02:35:37 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
谢谢楼主分享,请问多线程的那些知识,有什么好的书或网站资源推荐嘛?
回复 支持 反对

使用道具 举报

 楼主| tc350981 发表于 2016-10-23 03:26:25 | 显示全部楼层
关注一亩三分地微博:
Warald
gc1993114 发表于 2016-10-23 02:35
谢谢楼主分享,请问多线程的那些知识,有什么好的书或网站资源推荐嘛?

就是基本知识,我就看我上学时候的课件了
回复 支持 反对

使用道具 举报

gc1993114 发表于 2016-10-23 03:27:45 | 显示全部楼层
tc350981 发表于 2016-10-23 03:26
就是基本知识,我就看我上学时候的课件了

哭…羡慕之前学过~
回复 支持 反对

使用道具 举报

 楼主| tc350981 发表于 2016-10-23 04:01:09 | 显示全部楼层
gc1993114 发表于 2016-10-23 03:27
哭…羡慕之前学过~

os吗,你网上找个os的免费的课程上就行了。
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

gc1993114 发表于 2016-10-23 04:05:06 | 显示全部楼层
tc350981 发表于 2016-10-23 04:01
os吗,你网上找个os的免费的课程上就行了。
. more info on 1point3acres.com
好的!谢谢!是不是也不会考太难,semaphore mutex condition variable简单的会写就好啦?
回复 支持 反对

使用道具 举报

 楼主| tc350981 发表于 2016-10-23 05:39:08 | 显示全部楼层
gc1993114 发表于 2016-10-23 04:05
好的!谢谢!是不是也不会考太难,semaphore mutex condition variable简单的会写就好啦?

对,mutex+condition variable是万能的,我还没见过面试level的题目解决不了的。semaphore可以用mutex+condtion variable实现
回复 支持 反对

使用道具 举报

gc1993114 发表于 2016-10-23 05:39:56 | 显示全部楼层
tc350981 发表于 2016-10-23 05:39
对,mutex+condition variable是万能的,我还没见过面试level的题目解决不了的。semaphore可以用mutex+co ...
. 1point 3acres 璁哄潧
好!那我赶紧去get这项技能…虽然现在还不明觉厉…
回复 支持 反对

使用道具 举报

辉哥哥 发表于 2017-2-2 15:22:16 | 显示全部楼层
请问楼主get_call_id那道题,怎么保证average小于要求啊?
还有一个问题,多线程的话有哪些需要注意的呢,是从列表(或者其他数据结构)中读取id时候确保唯一性吗?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-2-22 16:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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