一亩三分地论坛

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

扫码关注一亩三分地公众号
查看: 439|回复: 1
收起左侧

bb电面目测gg

[复制链接] |试试Instant~ |关注本帖
stacyl 发表于 2016-3-15 10:11:40 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 博士 全职@Bloomberg - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
bb电面,一面
先是讲自己的project,然后面试官介绍自己的组
然后让我用stack实现queue,这个就写就好了,中途有点小波折没写出最省时间的办法,但是后来经过提醒自己改过来了。. 1point3acres.com/bbs
然后就问我如果在pop的时候queue里面没有元素不直接pop而是等有元素再pop怎么做。我一开始没明白面试官什么意思啊,就说,那个incoming操作序列,遇到pop空queue就把pop操作后移呗。面试官表示不理解,然后我就说你的意思不会是有多个thread一起操作然后等待吧,他说是的,然后让我把这个方法改成一个multithread的,这尼玛什么鬼。。。我就说要有readwrite lock保护类里的stack,然后那个等待pop的话就spinlock就行了,面试官不满意,我又想了下觉得完全没问题啊,最后面试官说用semophore,我说为什么非要用semophore除了它看上去更适合这个,不一定要把thread放去sleep啊,然后说时间不够了,就结束了。后来我又跟同学讨论,结果得出理由是semophore有自带等待序列,而mutex和忙等都是一起等 随机获得锁的。这个可能跟java里的那个blockqueue比较像,但我写c++的完全没用过这个结构。而且semophore自带等待序列这个理由也不是很能说服我,除非一个操作即时生成一个thread并且从thread里面取得时间信息,不然就算拿一个主thread专门处理队列序列问题还不是用的spinlock(linux里面实现semophore用的spinlock),一样还是忙等。因为平常写multithread,semophore没用过,当时面试官让我写multithread code我就在那里想interface,就有点懵逼。我也不知道我都把意思表达清楚没。面试官是个烙印,语速很快,而且感觉不耐烦,我一直在向他确认他明不明白我的意思。
估计跪了,这尼玛什么鬼,gg,move on。
我应数背景的,估计就是project里面写了multithread才被问这种题,而且我的确也写过不少多线程的,但是没用过semophore一直用mutex,spinlock或者call包里的函数手动放去suspend或者sleep。semophore这种东西不是process之间交流用了有什么意义完全想不通。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
.1point3acres缃

补充内容 (2016-3-15 10:13):
说好的面算法题和c++或者multithread概念呢,结果让我上来就写multithread code还不给我时间解释. 鍥磋鎴戜滑@1point 3 acres

补充内容 (2016-3-15 10:30):
逮着我问project model的细节就问了20分钟,害得我后面都没时间跟他解释了。我intern做的是ml的project,面试官做的又不是ml。。。干嘛听model细节有什么意义。。。。

补充内容 (2016-3-16 03:45):
果然gg了 move on

评分

1

查看全部评分

user123456 发表于 2016-3-15 15:40:39 | 显示全部楼层
竟然考这么多多线程。。。醉了
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 06:25

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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