一亩三分地论坛

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

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

Percolate oa面经

[复制链接] |试试Instant~ |关注本帖
jxyfwrj 发表于 2015-10-15 08:07:21 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Percolate - 校园招聘会 - 在线笔试 |Otherfresh grad应届毕业生

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

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

x
我这个oa是在career fair上从hr那拿的,排队就给,简直不要太好。。。 只是这公司确实没什么名气,都没有看见任何面经,之前在地里也好谷歌也好都没找到,所以就只有自己硬着头皮上了。。。刚做完就来发帖了,希望能帮到需要的人。。。

percolate的oa题不难,就一道题,4小时,要求如下:
从标准输入输出中读入一若干行信息,包括一个人的name, color, zipcode, phone number,要你把这些信息处理好输出到一个json object中,如果格式不对则把当前行数返回到erros中。
有三种符合条件的格式:
1.lastname, firstname, phone number, color, zipcode
2. firstname lastname, color, zipcode, phonenumber
3. firstname, lastname, zipcode, phone number, color
举个栗子:
输入: ['Booker T., Washington, 87360, 373 781 7380, yellow',
              'Chandler, Kerri, (623)-668-9293, pink, 123123121',
              'James Murphy, yellow, 83880, 018 154 6474',
              'asdfawefawea']
输出:. 1point 3acres 璁哄潧
{. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  "entries": [. 1point3acres.com/bbs
    {. visit 1point3acres.com for more.
      "color": "yellow",
      "firstname": "James",
      "lastname": "Murphy", 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
      "phonenumber": "018-154-6474",
      "zipcode": "83880"
    },
    {
      "color": "yellow",
      "firstname": "Booker T.",
      "lastname": "Washington",
. from: 1point3acres.com/bbs       "phonenumber": "373-781-7380",
      "zipcode": "87360"
    }
  ], -google 1point3acres
  "errors": [
    1,
    3
  ]. 1point3acres.com/bbs
}

要求是所有输出json数据都必须按key的字典序排列,entires中的每个条目之间必须按人lastname的字典序排序,且json数据缩进为两个空格。. Waral 鍗氬鏈夋洿澶氭枃绔,

方法的话没啥说的,其实是正则表达式对字符串的处理,可是我正则表达式真的不熟悉不会用,只有硬着头皮分格式一个一个处理,写的我要吐血了。。。 还有就是一些细节上的比如排序,空格要自己多留意。因为我用的是python,这种地方python的各种自带json.dumps和lambda排序简直不要太爽

别的就没了。。 如果有问题可以随时问我,我看见就会回复。。。 另外,希望好心人施舍点大米。。。 要饿死了。。。。
. more info on 1point3acres.com

补充内容 (2015-10-18 10:51):
感谢热心的danielame1264 补充答案和onsite经验,在21楼-24楼,觉得有用的人还望给他点大米!!

评分

2

查看全部评分

thh要申master 发表于 2015-10-16 05:28:43 | 显示全部楼层
我看到有别的帖子写说他们家oa一定要用Python是这样吗?还是有别的选项?
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-16 14:14:36 | 显示全部楼层
thh要申master 发表于 2015-10-16 05:28
我看到有别的帖子写说他们家oa一定要用Python是这样吗?还是有别的选项?

完全没有这种限制。。。 hackerrank上的语言可以随便用的,只不过我发现用python比较快,我同学用java排序全自己敲的,吐血数升。。。
回复 支持 反对

使用道具 举报

thh要申master 发表于 2015-10-16 23:31:33 | 显示全部楼层
jxyfwrj 发表于 2015-10-16 14:14
完全没有这种限制。。。 hackerrank上的语言可以随便用的,只不过我发现用python比较快,我同学用java排 ...

谢谢!他家给你回复了吗?下一步了么?
回复 支持 反对

使用道具 举报

ybxsnail 发表于 2015-10-17 00:11:33 | 显示全部楼层
楼主的oa有4个小时,我怎么只有一个小时
回复 支持 反对

使用道具 举报

lukeken 发表于 2015-10-17 00:53:06 | 显示全部楼层
用java写是定义JSONObject对象存入数据然后直接返回JSON对象么? 还是最后toString()输出字符串?
回复 支持 反对

使用道具 举报

lukeken 发表于 2015-10-17 03:56:15 | 显示全部楼层
输入: ['Booker T., Washington, 87360, 373 781 7380, yellow',
              'Chandler, Kerri, (623)-668-9293, pink, 123123121',
              'James Murphy, yellow, 83880, 018 154 6474',. From 1point 3acres bbs
              'asdfawefawea']
格式每行之间有回车么? 是一次性读还是一行行读,这部分也是自己写么
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-17 06:33:36 | 显示全部楼层
ybxsnail 发表于 2015-10-17 00:11
楼主的oa有4个小时,我怎么只有一个小时

很奇怪 我上周刚拿到点进去看的时候记得好像就一小时,然后前几天做的时候才惊奇发现居然有四小时。。。
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-17 06:34:33 | 显示全部楼层
lukeken 发表于 2015-10-17 03:56
输入: ['Booker T., Washington, 87360, 373 781 7380, yellow',
              'Chandler, Kerri, (62 ...

输入是从标准输入输出中读入若干行字符串,然后会存储到一个字符串数组中,你只要对数组处理即可
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-17 06:35:20 | 显示全部楼层
lukeken 发表于 2015-10-17 00:53
用java写是定义JSONObject对象存入数据然后直接返回JSON对象么? 还是最后toString()输出字符串?

我是返回一个jsonstr, 我有同学拿java写的,他好像返回的是字符串。。。
回复 支持 反对

使用道具 举报

lukeken 发表于 2015-10-17 09:19:49 | 显示全部楼层
楼主是怎么实现json数据缩进输出的。在java里要引进新的库,运行的时候不知道hackerrank能不能识别。你同学用java写是怎么排序的,同用java,不知怎么实现排序。。。
回复 支持 反对

使用道具 举报

ybxsnail 发表于 2015-10-17 10:22:36 | 显示全部楼层
jxyfwrj 发表于 2015-10-17 06:33 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
很奇怪 我上周刚拿到点进去看的时候记得好像就一小时,然后前几天做的时候才惊奇发现居然有四小时。。。

我就是上周做的,这还能改时间呢。。。
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-17 11:21:56 | 显示全部楼层
ybxsnail 发表于 2015-10-17 10:22.1point3acres缃
我就是上周做的,这还能改时间呢。。。

这我就不知道了。。。 不过你要能一小时就做完不是更好。。。
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-17 11:24:09 | 显示全部楼层
lukeken 发表于 2015-10-17 09:19
楼主是怎么实现json数据缩进输出的。在java里要引进新的库,运行的时候不知道hackerrank能不能识别。你同学 ...

我用python的json库,有个dumps函数可以直接将字典生成json string,并且函数中有个参数为indent,将其设置为2即可。。。 我同学是自己一行一行算,自己数每行应该缩进的字符。。。 他熟练正则表达式,识别写了不到一小时,但是字符串处理足足写了两个多小时。。
回复 支持 反对

使用道具 举报

ybxsnail 发表于 2015-10-17 11:41:41 | 显示全部楼层
jxyfwrj 发表于 2015-10-17 11:21
这我就不知道了。。。 不过你要能一小时就做完不是更好。。。

没做完。。。以前没用过java的json,都不熟悉。。。
回复 支持 反对

使用道具 举报

lukeken 发表于 2015-10-17 12:06:24 | 显示全部楼层
jxyfwrj 发表于 2015-10-17 11:24
我用python的json库,有个dumps函数可以直接将字典生成json string,并且函数中有个参数为indent,将其设 ...

我也在字符串处理纠结了很久,不知道怎么排序和indent
回复 支持 反对

使用道具 举报

wen587 发表于 2015-10-17 20:59:59 | 显示全部楼层
lz有代码可以发我看看吗,非cs出身,不精通python,用java也不知道该怎么写。
或者 提供一下 网上相关的资源也是可以的,网上搜了一下,都是给的json API之类的,不知道怎么写。
多谢,
wen610807@gmail.com
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-18 09:57:43 | 显示全部楼层
ybxsnail 发表于 2015-10-17 11:41
没做完。。。以前没用过java的json,都不熟悉。。。

居然改了时间。。。 好吧 不会是那天下午bug吧。。。 按理来说应该用正则表达式加python库的话一小时也不是不可能 只不过熟练度要求很高 哎 都求人品吧
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-18 09:58:48 | 显示全部楼层
lukeken 发表于 2015-10-17 12:06
我也在字符串处理纠结了很久,不知道怎么排序和indent

这个如果不用库只能自己手写函数算相应行的indent  和字符串组合之后一行一行输出了。。。
回复 支持 反对

使用道具 举报

 楼主| jxyfwrj 发表于 2015-10-18 10:03:50 | 显示全部楼层
wen587 发表于 2015-10-17 20:59
lz有代码可以发我看看吗,非cs出身,不精通python,用java也不知道该怎么写。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
或者 提供一下 网上相关的资 ...

hackerrank的oa平台不支持对外复制粘贴 我写完之后没法保存代码。。。 我倒是可以给你说个大概思路, 就是先把每行字符串由", "拆分成字符串数组,然后根据三种固定格式逐个比较元素判断每个数组中是不是符合某一种格式,若有效则输入一个字典中存储,无效则把行号输入到array数组中。其实python的这些库我自己一样不熟悉,都是现查现用的。。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-5 13:00

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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