美国买被子or国内带被子?

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 2088|回复: 5
收起左侧

迟来的indeed电面面经

[复制链接] |试试Instant~ |关注本帖
我的人缘0
HorikawaRaiko 发表于 2017-9-14 13:11:38 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (32)
 
 
0% (0)  踩

2017(7-9月) 码农类General 硕士 全职@Indeed - 内推 - 技术电面  | Pass | fresh grad应届毕业生

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

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

x
这家是一个星期之前面的了,其实就是个面经题,不过今天学校招聘会结束了想想还是发出来给下面的找工攒攒人品,求多来点面试。.留学论坛-一亩-三分地
题目是expiring map,老题了,地里搜一下就有,大意是设计一个map,put的时候除了key value同时还有一个timeout,get的时候如果这个value的timeout过了就得返回null。
总体思路就是用一个hashmap来存了。我先把naive的方法写了,get时发现超时就delete,这种方法只要一个expire的key value没有被访问到就会一直吃内存空间。改进的方法当时我也没想到太好的,我想的是多线程的方法,把存进hashmap的entry也同时用另外一个heap来装,然后用一个后台线程不断的peek element判断是否expire然后决定是否remove掉。这种涉及锁,不仅难写,而且性能有问题。最好的办法还是用linkedlist,大家可以参考这个帖子里亮贴的分析。之后来了onsite。

求各种面试……求google OA

评分

参与人数 2大米 +42 收起 理由
dz3264 + 2 很有用的信息!
candy_shmily + 40

查看全部评分


上一篇:巨硬 onsite
下一篇:亚马逊谜之OA
我的人缘0
夜皇雪 发表于 2017-9-16 01:01:36 | 显示全部楼层
本楼: 【顶】   100% (2)
 
 
0% (0)   【踩】
全局: 顶  97% (617)
 
 
2% (14)  踩
  1. public class ExpiringMap<K, V> extends TimerTask {
  2.     // fields
  3.     class Node<K, V> {
  4.         // fields
  5.         private K key;
  6.         private V value;
  7.         private long duration;
  8.         private long startTime;

  9.         // methods
  10.         public Node (V value, long duration, long startTime) {
  11.             this.value = value;
  12.             this.duration = duration;
  13.             this.startTime = startTime;
  14.         }
  15.     }
  16. -google 1point3acres
  17.     private LinkedList<Node> list;.留学论坛-一亩-三分地
  18.     HashMap<K, Node> map;. visit 1point3acres for more.
  19. . from: 1point3acres
  20.     public ExpiringMap(){. 牛人云集,一亩三分地
  21.         map = new HashMap<>();-google 1point3acres
  22.         list = new LinkedList<>();
  23.     }. more info on 1point3acres


  24. -google 1point3acres
  25.     public void put(K key, V value, long duration) {
  26.         long startTime = System.currentTimeMillis();
  27.         Node node = new Node(value, duration, startTime);
  28.         map.put(key, node);
  29.         checkTime();
  30.         addToHead(value, duration, startTime);
  31.     }

  32.     public V get(K key) {
  33.         checkTime();
  34.         if (map.containsKey(key)) {.1point3acres网
  35.             Node node = map.get(key);
  36.             return (V) node.value;
  37.         } else {. Waral 博客有更多文章,
  38.             return null;
  39.         }
  40.     }

  41.     public void checkTime() {
  42.         long curTime = System.currentTimeMillis();
  43.         while (!list.isEmpty()) {. From 1point 3acres bbs
  44.             Node node = list.getLast();
  45.             if (node.duration + node.startTime > curTime) { 来源一亩.三分地论坛.
  46.                 list.removeLast();
  47.                 map.remove(node.key);
  48.             } else {
  49.                 break;
  50.             }
  51.         }
  52.     }. 围观我们@1point 3 acres
  53.     public void addToHead(V value, long duration, long startTime) { 来源一亩.三分地论坛.
  54.         Node node = new Node(value, duration, startTime);
  55.         list.addFirst(node);
  56.     }

  57.     @Override
  58.     public void run() {
  59.         checkTime();. 1point3acres
  60.     }

  61.     public static void main(String[] args) {
  62.         Timer timer = new Timer(true);
  63.         ExpiringMap expiringMap = new ExpiringMap();
  64.         timer.schedule(expiringMap,0,1000);//1000毫秒检查一次
  65.     }
  66. }
复制代码
. 1point 3acres 论坛
自己写了一下,我也不确定是否对,所以贴一下大家找找错。
问一下多线程那个楼主当时写了吗,应该是只说思路吧??写感觉太复杂了。。。
回复

使用道具 举报

我的人缘0
say543 发表于 2017-9-14 13:33:09 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  84% (32)
 
 
15% (6)  踩
Shì xiàng hashMap<Key,  class>  ránhòu class lǐmiàn cún value gēn expiration time?  是向hashMap<Key, class> 然后class里面存value 跟expiration time?

补充内容 (2017-9-14 13:33):
是向hashMap<Key, class> 然后class里面存value 跟expiration time?
回复

使用道具 举报

我的人缘0
candudu 发表于 2017-9-14 15:47:56 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  0% (0)
 
 
0% (0)  踩
请问楼主哪个学校呢?招聘会这么早吗?
回复

使用道具 举报

我的人缘0
 楼主| HorikawaRaiko 发表于 2017-9-14 21:53:08 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (32)
 
 
0% (0)  踩
say543 发表于 2017-9-14 13:33
Shì xiàng hashMap  ránhòu class lǐmiàn cún value gēn expiration time?  是向hashMap 然后clas ...
来源一亩.三分地论坛.
对的。字数字数
回复

使用道具 举报

我的人缘0
 楼主| HorikawaRaiko 发表于 2017-9-14 21:53:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (32)
 
 
0% (0)  踩
candudu 发表于 2017-9-14 15:47
请问楼主哪个学校呢?招聘会这么早吗?

我是CMU的,招聘会开的确实早
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

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

custom counter

GMT+8, 2018-7-21 12:14

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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