一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 3557|回复: 13
收起左侧

pocket gem 一面

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

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

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

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

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

{
   "GB": {
      "birmington": {"apple": "20", "google": "50", ….},
      "london": {"apple": "110", "google": "70", ….},. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
      ….
   },
   "US": {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
      "new york": {"apple": "100", "google": "200", ….},-google 1point3acres
      "san francisco": {"apple": "150", "google": "50", ….},. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
      ….
   },
   ….
}.1point3acres缃
. more info on 1point3acres.com
columns: ['country', 'city', 'store', 'rev']

output:
[{"city": "london", "country": "GB", "rev": "70", "store": "google"},
{"city": "london", "country": "GB", "rev": "110", "store": "apple"},
{"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"}, ….]
. more info on 1point3acres.com
m cols n row

input: JSON apiData, String[] columns. Waral 鍗氬鏈夋洿澶氭枃绔,
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
}. from: 1point3acres.com/bbs

class JSONMapping extend JSON {
  public JSON get(String key); // return value corresponding to the key
  public String[] keys(); // return all the keys-google 1point3acres
  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?
回复 支持 反对

使用道具 举报

zli82015 发表于 2017-2-20 08:56:29 | 显示全部楼层
请问楼主,最后的OUTPUT看不太懂。
output: List<Hashtable<String, String>>
. Waral 鍗氬鏈夋洿澶氭枃绔,
给出的OUTPUT例子:
[{"city": "london", "country": "GB", "rev": "70", "store": "google"},. 1point3acres.com/bbs
{"city": "london", "country": "GB", "rev": "110", "store": "apple"},
{"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"}, ….]

output的每个元素 是个JSON, 不是HashTable 啊。
{"city": "london", "country": "GB", "rev": "70", "store": "google"}
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-12-11 12:10

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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