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

 找回密码
 立即注册
  • 李英爱新剧《师任堂》接档《蓝海传说》 26日首播
  • 48岁许晴与友人庆生 素颜出镜似18岁少女
  • 林允牙齿大变样 网友惊呼认不出
  • 姚晨三亚度假摘芒果 偶遇儿时同学趣事多
  • 赵丽颖有新恋情?邓超一不小心提到了她男朋友
  • 林心如谈“幸福”的定义:每天都在笑
  • 外媒称中国正在研发百亿亿次超级计算机
  • 邓超狂晒打篮球帅照 孙俪冷回10字笑翻众人
  • 48亿:北京打造全球最亮“慧眼”
  • 中国基建狂魔:11072米世界第一航道桥合龙
  • 市场预期:特朗普上任后的100天
  • 在看涨基本面中AMD的财务数据仍然不理想
  • 税制改革是美国最大的愿望之一
  • 周五的市场看起来准备好了,但……
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3082|回复: 9

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

[复制链接]

9

主题

207

帖子

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

微信公众号】funinusa : 每日微信滚动更新美国市场打折团购折扣Coupon讯息。
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

26

主题

95

帖子

146

积分

注册会员

Rank: 2

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



--

35

主题

108

帖子

187

积分

注册会员

Rank: 2

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


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

17

主题

98

帖子

136

积分

注册会员

Rank: 2

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


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



--

30

主题

93

帖子

158

积分

注册会员

Rank: 2

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


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

24

主题

106

帖子

154

积分

注册会员

Rank: 2

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


跟定时器差不多吧

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



--

21

主题

95

帖子

137

积分

注册会员

Rank: 2

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

21

主题

95

帖子

129

积分

注册会员

Rank: 2

积分
129
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
--

35

主题

1130

帖子

2241

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

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

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

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

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

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