一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
Airbnb 数据科学职位
in analytics and inference
游戏初创公司
招聘工程师、Designer和游戏策划
游戏初创公司DreamCraft招聘工程师、UIUX Designer和游戏策划
电商初创公司Good Days
招聘SDE/UI/TPM实习生
把贵司招聘信息放这里
查看: 5594|回复: 13
收起左侧

Indeed 9月电面

[复制链接] |试试Instant~ |关注本帖
liu452 发表于 2016-9-26 11:41:57 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Indeed - 网上海投 - 技术电面 |Failfresh grad应届毕业生

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

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

x
大家好,新人第一次发帖有点紧张:
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.

本人第一次发帖,希望大家点赞。 也希望正在找工作的小伙伴们一切顺利啦。。。。。。。

评分

8

查看全部评分

shiroh880527 发表于 2016-12-25 02:12:35 | 显示全部楼层
@laonong15 思路是正确的,只需要继续想下去。 思路的大体方向应该是和LRU Cache差不多,
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.

代码我就不写了。祝楼主好运。
回复 支持 3 反对 0

使用道具 举报

myqdkl 发表于 2016-9-28 01:34:57 | 显示全部楼层
加油 祝好运!
回复 支持 反对

使用道具 举报

忆梦前尘 发表于 2016-9-28 02:25:09 | 显示全部楼层
indeed的new grad职位已经开了?
回复 支持 反对

使用道具 举报

laonong15 发表于 2016-9-30 00:08:08 | 显示全部楼层
MY two cents :
The ides is use two maps  to  store the    key value pair and  key  lifecycle.   
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
import java.util.HashMap;
import java.util.Map;
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.

回复 支持 反对

使用道具 举报

格格笑 发表于 2016-11-19 07:38:15 | 显示全部楼层
laonong15 发表于 2016-9-30 00:08. 1point3acres.com/bbs
MY two cents :
The ides is use two maps  to  store the    key value pair and  key  lifecycle.   
...

感谢这位兄台分享代码,亮点是吧isExpire 写到了class里面,很OOD,但是我感觉你的代码也没有处理up主说的定时删掉无效data的操作,甚至,你在get到无效key的时候 都没有把相应的 你new出来放在两个map 里的key - value pair 和key- lifecycle pair给删掉呀。。。是吗?
回复 支持 反对

使用道具 举报

格格笑 发表于 2016-11-19 07:41:15 | 显示全部楼层
感谢up主分享,我有一个想法,你可以用多线程  再写一个线程,每常数时间来遍历删除一下无效data  ,但是我觉得这个应该超出了tech interview  coding的范围吧,图论已经很少考了,这多线程是神马鬼,所以我觉得up主的代码应该够了,或者非得删除无效代码你可以在每次get 或者put的时候就遍历map 删掉无效data 但是会严重降低put 和 get的效率
回复 支持 反对

使用道具 举报

lyyy7537721825 发表于 2016-12-9 06:28:18 | 显示全部楼层
LZ,我发现你的code可能有点小问题,这里,
                if (data.startTime + data.duration <= System.currentTimeMills()) {
                        return data.value; . Waral 鍗氬鏈夋洿澶氭枃绔,
是不是应该大于等于?
或者是我二了?

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

忆梦前尘 发表于 2016-12-9 06:41:39 | 显示全部楼层
lyyy7537721825 发表于 2016-12-8 14:28
LZ,我发现你的code可能有点小问题,这里,
                if (data.startTime + data.duration

确实有问题。。我认为改成小于等于是对的。
. 鍥磋鎴戜滑@1point 3 acres
说明这个持续时间不够持久,当前的时间一检查,发现过期了。
回复 支持 反对

使用道具 举报

sophie729 发表于 2017-1-12 12:27:46 | 显示全部楼层
楼主拿到 onsite了喵?
回复 支持 反对

使用道具 举报

wocaole 发表于 2017-10-23 09:05:45 | 显示全部楼层
shiroh880527 发表于 2016-12-25 02:12
@laonong15 思路是正确的,只需要继续想下去。 思路的大体方向应该是和LRU Cache差不多,如果读过Java Guav ...

大神,希望你还在用一亩三分地,我有点不太清楚你的这个想法。希望你能够解答下。

按照你的思路,我们要建两个HashMap吧,一个存放key value pair;另外一个就放key, 和对应的Linked List Node(包含存入时间和生命长度). 还有,这个TTL是什么呢?
回复 支持 反对

使用道具 举报

jackielyx 发表于 2017-10-25 00:33:45 | 显示全部楼层
感觉这个就是design hit counter啊
回复 支持 反对

使用道具 举报

shiroh880527 发表于 前天 12:52 | 显示全部楼层
wocaole 发表于 2017-10-23 09:05
大神,希望你还在用一亩三分地,我有点不太清楚你的这个想法。希望你能够解答下。

按照你的思路,我们 ...

一个map放key和对应的linked list node其中包含key, value, ts, ttl还有next node 和 pre node.这样你就可以直接通过map get到linked list中对应节点的位置. 这个实现和LRU是一样的.

另外一个ttl的map其实是给不同ttl时间这个需求准备的,如果整个实现,对所有的key/value都只用同样一个ttl那就不需要,如果这个ttl不是固定的而是一个可调的参数,那就需要一个map来指向各个ttl的linkedlist.
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
其实简单做就参照LRU,然后cleanup的策略改成检查ttl就行了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-1-21 09:12

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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