美国华人网FuninUSA_唐人社区_北美华人论坛:找礼品卡,找折扣,找报价,找工作,找内推,找项目,找股票

 找回密码
 立即注册
  • 公公担心儿媳杨幂成天熬夜:应该检查一下身体
  • 陈凯歌儿子女友疑曝光 网友:口味不轻
  • 陈乔恩偷拿糖果被现场抓包 结果表情亮了
  • IBM今天发布一大堆新东西:看完感觉厉害了
  • 黄立行是个有背景的男同学 学霸富二代身份曝光
  • 范冰冰亚洲电影大奖封后 《潘金莲》成最大赢家
  • 薛之谦跟林志玲谈恋爱?网曝《我们相爱吧3》阵容
  • 张嘉倪一家三口罕见合照 半岁儿子睡得真香
  • 百度:有人雇大批黑客偷我们的自动驾驶技术
  • 史上最特别iPhone 7今晚到来:苹果股价创新高
  • 在上升的利率环境下,债券仍然是一个不错的选择
  • 英特尔对Mobileye的收购价格高吗?不,是值得的
  • 反弹似乎已经结束,市场将下跌
  • 怎么办!通货膨胀可能会激增
  • 市场的下一步会是怎样?看涨还是看跌?
  • 当今能源投资者最大的错误是……
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3111|回复: 9

内推面经 -面试题:设计一个expired map class- 唐人社区|北美华人论坛

[复制链接]

9

主题

208

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
QQ
发表于 2016-10-28 22:14:14 | 显示全部楼层 |阅读模式
分享到:
{$content}

唐人社区-北美华人论坛-内推面经版-面试题:设计一个expired map class


  JobHunting
标 题: 面试题:设计一个expired map class


题目大概是:设计一个类似于普通map的class,主要的不同是添加每个元素的时候,有
一个时间参数long type, 单位是ms。比如50000,如果50000ms passes,这个元素没有
被人为删除的话,它需要被自动删除。base class的定义myMap::add, myMap::erase都
是pure virtual function。

我当时给出的答案是用STL::map存储,然后用STL:unordred_map存储
,系统时间前进的时候,
去第二个map里找到list删除第一个map里的element。答得很笼统,当时要求写具体的
code,不知道C++里涉及到系统时间的函数是啥。
--

回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

27

主题

100

帖子

158

积分

注册会员

Rank: 2

积分
158
QQ
发表于 2016-10-28 23:58:55 | 显示全部楼层
JobHunting
标  题: Re: 面试题:设计一个expired map class


马上删除? 那感觉必须用另一个执行绪帮忙monitor 了?
--

26

主题

92

帖子

154

积分

注册会员

Rank: 2

积分
154
QQ
发表于 2016-10-29 00:47:41 | 显示全部楼层
JobHunting
标  题: Re: 面试题:设计一个expired map class


用priority_queue,  pq的排序按照expiration time排。

【 在 aimengren (追) 的大作中提到: 】
: 题目大概是:设计一个类似于普通map的class,主要的不同是添加每个元素的时候,有
: 一个时间参数long type, 单位是ms。比如50000,如果50000ms passes,这个元素没有
: 被人为删除的话,它需要被自动删除。base class的定义myMap::add, myMap::erase都
: 是pure virtual function。
: 我当时给出的答案是用STL::map存储<key, value>,然后用STL:unordred_map存储<
: current_time+时间参数, a list of elements of 1st map>,系统时间前进的时候,
: 去第二个map里找到list删除第一个map里的element。答得很笼统,当时要求写具体的
: code,不知道C++里涉及到系统时间的函数是啥。



--

37

主题

110

帖子

193

积分

注册会员

Rank: 2

积分
193
QQ
发表于 2016-10-29 01:09:37 | 显示全部楼层
JobHunting
标  题: Re: 面试题:设计一个expired map class


这样能不能满足要求?
hashmap<key, pair<exp_time, value>>
查询的时候如果时间已经过了exp_time直接删除,返回null
--
你再低调也没有用,你那拉风的头像、扎势的ID都深深的出卖了你

19

主题

103

帖子

143

积分

注册会员

Rank: 2

积分
143
QQ
发表于 2016-10-29 01:18:29 | 显示全部楼层
JobHunting
标  题: Re: 面试题:设计一个expired map class


这个不满足,题目要求时间到必须删除。
【 在 ChaoRen (厉害的超人) 的大作中提到: 】
: 这样能不能满足要求?
: hashmap<key, pair<exp_time, value>>
: 查询的时候如果时间已经过了exp_time直接删除,返回null



--

33

主题

100

帖子

170

积分

注册会员

Rank: 2

积分
170
QQ
发表于 2016-10-29 01:21:58 | 显示全部楼层
JobHunting
标  题: Re: 面试题:设计一个expired map class


感觉楼主方向没问题啊
--

26

主题

111

帖子

161

积分

注册会员

Rank: 2

积分
161
QQ
发表于 2016-10-29 02:13:51 | 显示全部楼层
JobHunting
标  题: Re: 面试题:设计一个expired map class


跟定时器差不多吧

【 在 say543 (Morris) 的大作中提到: 】
: 马上删除? 那感觉必须用另一个执行绪帮忙monitor 了?



--

22

主题

98

帖子

148

积分

注册会员

Rank: 2

积分
148
QQ
发表于 2016-10-29 02:57:54 | 显示全部楼层
JobHunting
标  题: 面试题:设计一个expired map class


题目大概是:设计一个类似于普通map的class,主要的不同是添加每个元素的时候,有
一个时间参数long type, 单位是ms。比如50000,如果50000ms passes,这个元素没有
被人为删除的话,它需要被自动删除。base class的定义myMap::add, myMap::erase都
是pure virtual function。

我当时给出的答案是用STL::map存储<key, value>,然后用STL:unordred_map存储<
current_time+时间参数, a list of elements of 1st map>,系统时间前进的时候,
去第二个map里找到list删除第一个map里的element。答得很笼统,当时要求写具体的
code,不知道C++里涉及到系统时间的函数是啥。
--

22

主题

99

帖子

146

积分

注册会员

Rank: 2

积分
146
QQ
发表于 2016-10-29 03:18:55 | 显示全部楼层
JobHunting
标  题: Re: 面试题:设计一个expired map class


感觉你可以用eager mode也可以用lazy mode。eager mode就是到了expiration time也
不删,只是在用到那个entry的时候再顺便删掉,优点是实现简单省计算量,缺点是如
果使用不平凡就占空间了。eager mode就跟你说的差不多,需要另外有个程序定时检查
最小堆。其实如果元素加入频繁,expiration时间长的话,那么多指针放在额外的堆里
也会占不少空间的。具体情况得具体分析。

--
☆ 发自 iPhone 买买提 1.23.01
--

37

主题

1182

帖子

2347

积分

金牌会员

Rank: 6Rank: 6

积分
2347
QQ
发表于 2016-11-28 02:37:09 | 显示全部楼层
看起来不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美国华人网|唐人社区|什么值得买FunInUSA.net发布的内推面经 -面试题:设计一个expired map class- 唐人社区|北美华人论坛帖子由网友提供或转载于网络,若发布的内推面经 -面试题:设计一个expired map class- 唐人社区|北美华人论坛侵犯了您的权益,请联系我们.
Sasa.com

Copyright ©2011 FunInUSA.NET All Right Reserved.  Powered by Discuz! X3.0 小黑屋

本站信息均由会员发表,不代表美国华人网FunInUSA|唐人社区的立场,如侵犯了您的权利请发帖投诉  技术支持: 美国华人网FunInUSA|唐人社区

安全联盟认证 安全联盟认证

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