Dropbox 电面

题目是什么背景有点记不是太清楚了,大概就是有一个row*col的矩阵(row,col的值可以up to 1000),然后每一个点上有一张image(size up to 1M),让实现两个函数,一个是update(int row, int col, Image image),另一个是fetch(int row, int col),楼主一开始没有完全理解要求,说直接用一个二维矩阵去存,后来面试官提示说你仔细想想,这个是memory存不下的,让换个方法。后来我提出说用一个key value storage(some nosql solution)来存,但是限于电面是在coderpad,我就说用一个hashmap来代替这个key value storage吧,面试官说可以。主要就是要用row,col生成一个unique key作为键值,value当然就是这个图片了。

follow up问题是要求返回一个stalest的image,就是说最长没有被update的image的row和col,如果某个(row,col)从来没有被update过,那个它应该就是最stalest的。

接口大概如下:

class Solution {
  public Solution(numRows, numCols) [
  }
  public void update(int row, int col, Image image) {
  }
  public Image fetch(int row, int col) {
  }
  public int[] getStalest(){
  }
}