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

 找回密码
 立即注册
  • “两弹一星”元勋:中国10年内能实现载人登月
  • 最没隐私的鱼!器官血液鱼骨全部清晰可见
  • 中国科学家:美国登月千真万确 我们有证据
  • 险!长蛇飞跳袭击摩托车手:像弹簧一样
  • 中国计划建世界最大国家公园:包含整个青藏高原
  • 12岁男孩独自驾车横穿澳洲:开了1300公里后被截停
  • 官方曝中国空间站:2022年前后建成
  • 卡西尼号太空船的最后杰作!土星光环间的地球
  • 初露小蛮腰!江疏影清新活力运动感爆棚
  • 郑爽开口谈胡彦斌:《花少》时期衣服都是他选的
  • 在自动驾驶汽车技术的推动下,苹果更加强大
  • 标普500低于50日平均移动线,接下来将是横向盘整时期
  • 阿里巴巴增长超越市场预期,阿里云会进一步扩大
  • 今年5大股票支撑着市场
  • IBM:它会从小的事情重新开始
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3127|回复: 9

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

[复制链接]

11

主题

213

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
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++里涉及到系统时间的函数是啥。
--

新浪微博官方账号】美国华人网FunInUSA : 每日滚动更新美国商业投资就业招聘留学移民资讯。
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

27

主题

100

帖子

158

积分

注册会员

Rank: 2

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


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

26

主题

93

帖子

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

主题

112

帖子

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

主题

104

帖子

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

主题

107

帖子

170

积分

注册会员

Rank: 2

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


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

26

主题

115

帖子

161

积分

注册会员

Rank: 2

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


跟定时器差不多吧

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



--

22

主题

101

帖子

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

主题

100

帖子

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

主题

1205

帖子

2393

积分

金牌会员

Rank: 6Rank: 6

积分
2393
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|唐人社区

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

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