一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 998|回复: 12
收起左侧

pocket gem 一面

[复制链接] |试试Instant~ |关注本帖
sophie0815 发表于 2016-10-13 11:40:16 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@PoketGem - 内推 -  |Otherfresh grad应届毕业生

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

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

x
下午六点面的,先是strstr问了下complexity worst case best case  第二题是一道新题 你有json object  json object可能会包含其他json object 或者 json string 然后要求你把他转化成hashtable 给了json的一堆函数啥的 我花了很久才弄懂怎么回事……弄懂就不难写了 基本上recursion 解决。就是大家先去理解一下json object 是咋回事……

评分

4

查看全部评分

本帖被以下淘专辑推荐:

 楼主| sophie0815 发表于 2016-10-14 01:14:57 | 显示全部楼层
是电面呀  我贴个题把

/*
JSON format. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

{. more info on 1point3acres.com
   "GB": {
      "birmington": {"apple": "20", "google": "50", ….},
      "london": {"apple": "110", "google": "70", ….},
      ….
   },. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
   "US": {
      "new york": {"apple": "100", "google": "200", ….},
      "san francisco": {"apple": "150", "google": "50", ….},
      ….. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
   },
   ….
}

columns: ['country', 'city', 'store', 'rev']

output:
[{"city": "london", "country": "GB", "rev": "70", "store": "google"},. 1point 3acres 璁哄潧
{"city": "london", "country": "GB", "rev": "110", "store": "apple"},
. from: 1point3acres.com/bbs {"city": "birmington", "country": "GB", "rev": "50", "store": "google"},
{"city": "birmington", "country": "GB", "rev": "20", "store": "apple"},
{"city": "san francisco", "country": "US", "rev": "50", "store": "google"}, ….]

m cols n row

input: JSON apiData, String[] columns-google 1point3acres
output: List<Hashtable<String, String>>


*/

interface JSON {  // base class for json data type
  public JSON(String json);  // constructor
  public String toString();  // convert json data type to string that can be printed. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  public String type();  // return type
}

class JSONMapping extend JSON {
  public JSON get(String key); // return value corresponding to the key
  public String[] keys(); // return all the keys
  public String type() {return "JSONMapping";}
}

class JSONString extend JSON {
  public String value(); // return the string
  public String type() {return "JSONString";}
}
回复 支持 1 反对 0

使用道具 举报

Derek_Han 发表于 2016-10-14 00:21:53 | 显示全部楼层
感谢楼主分享~求问这个是电面么?还有楼主的第二问~是类似于Nested List那种的么?类似这道题:Flatten Nested List Iterator
回复 支持 反对

使用道具 举报

SiyaoZhu 发表于 2016-10-14 06:46:43 | 显示全部楼层
请问楼主这个hashtable的key是怎么定义的呀?
回复 支持 反对

使用道具 举报

 楼主| sophie0815 发表于 2016-10-14 08:22:01 | 显示全部楼层
SiyaoZhu 发表于 2016-10-14 06:46
请问楼主这个hashtable的key是怎么定义的呀?

key 是String[] columns 的内容
回复 支持 反对

使用道具 举报

小核桃桃 发表于 2016-10-24 04:55:28 | 显示全部楼层
想问一下楼主, 这个题json object格式是固定的么?如果是固定的话感觉用三层for循环是不是就可以了呢?
回复 支持 反对

使用道具 举报

 楼主| sophie0815 发表于 2016-10-25 00:20:40 | 显示全部楼层
小核桃桃 发表于 2016-10-24 04:55
想问一下楼主, 这个题json object格式是固定的么?如果是固定的话感觉用三层for循环是不是就可以了呢?

Json object里面可以有其他的json object呀 格式不是固定的 你不知道有多少层嵌套哪 不能直接for loop
回复 支持 反对

使用道具 举报

小核桃桃 发表于 2016-10-25 02:04:34 | 显示全部楼层
sophie0815 发表于 2016-10-25 00:20
Json object里面可以有其他的json object呀 格式不是固定的 你不知道有多少层嵌套哪 不能直接for loop

要是不知道的话 要怎么样跟column对上呢? 举个例子哈, 我怎么能知道GB是country, apple是store呢?多谢楼主~~
回复 支持 反对

使用道具 举报

 楼主| sophie0815 发表于 2016-10-25 02:21:53 | 显示全部楼层
你写recursion helper function的时候 加上一个int argument来表明自己到了第几层了呀 然后就知道对应到第几个column了
回复 支持 反对

使用道具 举报

chaojiwan 发表于 2016-10-25 04:36:43 | 显示全部楼层
sophie0815 发表于 2016-10-25 02:21
你写recursion helper function的时候 加上一个int argument来表明自己到了第几层了呀 然后就知道对应到第 ...

你的意思是 m 是变化的,也可能不止4个,但是,apiData是按照m中key的顺序依此嵌套的。
回复 支持 反对

使用道具 举报

 楼主| sophie0815 发表于 2016-10-25 08:37:33 | 显示全部楼层
chaojiwan 发表于 2016-10-25 04:36
你的意思是 m 是变化的,也可能不止4个,但是,apiData是按照m中key的顺序依此嵌套的。

是的 凑字数凑字数
回复 支持 反对

使用道具 举报

steveguang 发表于 2016-10-31 13:03:22 | 显示全部楼层
问下楼主这道题recursion的base是什么?还有map和string的api怎么用?怎么知道什么时候对应map还是string?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 18:54

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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