Monday, November 30, 2015

http://www.mitbbs.com/article_t/JobHunting/33101715.html

前几天电面一大公司,题目是bounded blocking queue,因为我准备过r/w lock的实现
,所以大概知道是mutex+CV,也就是传说中的monitor,但是我是用c++,所以不会java。
问题来了,写完了,貌似没什么问题,然后有一个问题,是要实现writemultiple(),
就是一次写入多个,如果没有空间写,需要等reader,而且wrtemultiple过程中不能被
其它writer打断,我因为本来对这个不熟,所以一下没反应过来。
但是印度面试官提醒我可以引入其它lock,所以我真的就上钩了,在这里卡壳了一会,
到最后也没写完整。
今天仔细复习了一下,现在想想,其实引入一个变量表明现在正在multiplewrite,不
就可以block writer了吗?而且丝毫不影响已有的reader逻辑。貌似不用引入新的CV。
幸好国人大哥似乎帮忙了,还可以继续二面。

No comments:

Post a Comment