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

 找回密码
 立即注册

点击进入授权页面

只需一步,快速开始

  • 王健林谈接班:王思聪不愿过我这样的生活
  • 《猩球崛起3》首发预告片:人猿大战全面爆发
  • 范冰冰李晨隔空秀恩爱 “惨遭”网友催婚
  • 王菲女儿画风突变!带兔子耳朵卖萌一副冷漠脸
  • 潘玮柏“矮胖五五身” 问摄影师:你怎么拍照的
  • Selina看Hebe演唱会泪崩 哭喊:你是我的宝贝
  • 献唱打气!范冰冰章子怡力挺同志婚姻平权
  • 张一山杨紫挽手亮相,却不小心暴露了身高
  • 全球最老海鸟66岁再度当妈
  • 全球年龄最大的宇航员辞世
  • 在纽约购置学区房不但能让子女获得优质教育,而且能获取学区房增值的红利-美国投资指 ...
  • 战略家:现在是金融类股的反弹消退的时候了
  • 苹果可能在2017年看到一个“惊喜”的反弹
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3054|回复: 9

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

[复制链接]
TA在交友中心
0 0 21
  @ME:   

9

主题

204

帖子

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

【返利网站】返利额度最高的海外购物返利网站Topcashback:平均返利7~10%,注册就送$10点我注册
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

TA在交友中心
0 0 57
  @ME:   

26

主题

93

帖子

146

积分

注册会员

Rank: 2

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


马上删除? 那感觉必须用另一个执行绪帮忙monitor 了?
--
TA在交友中心
0 0 60
  @ME:   

25

主题

91

帖子

141

积分

注册会员

Rank: 2

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



--
TA在交友中心
0 0 77
  @ME:   

34

主题

107

帖子

175

积分

注册会员

Rank: 2

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


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

16

主题

94

帖子

125

积分

注册会员

Rank: 2

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


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



--
TA在交友中心
0 0 64
  @ME:   

29

主题

90

帖子

151

积分

注册会员

Rank: 2

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


感觉楼主方向没问题啊
--
TA在交友中心
0 0 47
  @ME:   

23

主题

100

帖子

142

积分

注册会员

Rank: 2

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


跟定时器差不多吧

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



--
TA在交友中心
0 0 45
  @ME:   

21

主题

91

帖子

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++里涉及到系统时间的函数是啥。
--
TA在交友中心
0 0 46
  @ME:   

21

主题

93

帖子

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
--
TA在交友中心
0 0 1079
  @ME:   

35

主题

1095

帖子

2174

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

玩美生活FunInUSA.net 华人娱乐论坛发布的内推面经 -面试题:设计一个expired map class- 唐人社区|北美华人论坛帖子由网友提供或转载于网络,若发布的内推面经 -面试题:设计一个expired map class- 唐人社区|北美华人论坛侵犯了您的权益,请联系我们.
1&1 Hosting

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

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

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

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