一亩三分地论坛

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

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

T店面

[复制链接] |试试Instant~ |关注本帖
wzs9988 发表于 2016-8-17 03:26:33 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Twitter - 内推 - 技术电面 |Pass在职跳槽

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

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

x
上周五店面的推特。一个阿三,但是人巨好。. 1point 3acres 璁哄潧
上来问了一下project大概10多分钟。


实现一个generic LRU Cache。


Follow up:
怎么test,多线程怎么办。
-google 1point3acres
面完还有10来分钟瞎扯。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

评分

1

查看全部评分

小逻辑 发表于 2016-8-17 06:17:56 | 显示全部楼层
楼主是自己投还是内推滴?
回复 支持 反对

使用道具 举报

 楼主| wzs9988 发表于 2016-8-17 09:11:37 | 显示全部楼层
小逻辑 发表于 2016-8-16 17:17
楼主是自己投还是内推滴?
-google 1point3acres
内推滴,字数字数字数
回复 支持 反对

使用道具 举报

edyyy 发表于 2016-8-17 11:40:52 | 显示全部楼层
LRU 是leetcode那道吗?谢谢楼主分享
回复 支持 反对

使用道具 举报

 楼主| wzs9988 发表于 2016-8-17 22:43:46 | 显示全部楼层
edyyy 发表于 2016-8-16 22:40
LRU 是leetcode那道吗?谢谢楼主分享

是啦。不过参数不是整数,是generic的<K,V>
回复 支持 反对

使用道具 举报

xpli521 发表于 2016-8-17 23:22:31 | 显示全部楼层
楼主能说下多线程怎么办不?是用Mutex lock吗?
回复 支持 反对

使用道具 举报

pawprinter 发表于 2016-8-18 03:44:04 | 显示全部楼层
xpli521 发表于 2016-8-17 23:22
楼主能说下多线程怎么办不?是用Mutex lock吗?

感觉是不是可以直接用hashTable
回复 支持 反对

使用道具 举报

xpli521 发表于 2016-8-18 04:51:27 | 显示全部楼层
pawprinter 发表于 2016-8-17 12:44
感觉是不是可以直接用hashTable

用hashtable是指?不太懂==我理解题目意思是说有多个线程同时修改cache,然后我就lock,一次只让一个改。。还请楼主来说一下
回复 支持 反对

使用道具 举报

lll_2013 发表于 2016-8-18 04:56:58 | 显示全部楼层
multi thread一般会用semaphore(lock 会有busy wait),设置一个ready queue,一个waiting queue,感觉就可以了
回复 支持 反对

使用道具 举报

syjohnson 发表于 2016-10-9 07:37:23 | 显示全部楼层
lll_2013 发表于 2016-8-18 04:56
multi thread一般会用semaphore(lock 会有busy wait),设置一个ready queue,一个waiting queue,感觉就 ...

你好!. from: 1point3acres.com/bbs
请问你的意思是两个线程同时call LRU cahce method,然后把得到的结果放进ready queue和waiting queue吗?能不能麻烦讲下具体实现,对多线程不是很熟,谢谢了!
回复 支持 反对

使用道具 举报

lll_2013 发表于 2016-10-9 13:20:48 | 显示全部楼层
syjohnson 发表于 2016-10-8 18:37
你好!. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
请问你的意思是两个线程同时call LRU cahce method,然后把得到的结果放进ready queue和waiting  ...

参考下producer consumer 模型。
使用semaphore也类似。
multiple thread call 不同cache blocks, no race condition.
multiple thread call 同一个 cache block, 第一个caller获得这个semaphore,the others需要放在waiting queue里,等待第一个release 并且signal 然后move one thread in waiting queue 到 ready queue里面。thread在readyqueue 才会去执行
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 06:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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