创业团队诚招 Python 主程序员,坐标上海张江,此为初步面试题,待遇 20~40K,附期权

2016-08-11 15:56:39 +08:00
 Harveyguo

使用过两门以上编程语言;至少精通一门编程语言

2 年以上 Python 经验;或 5 年以上开发经验

如下面试题,如感兴趣可以将题目答案及简历发送至 register@vwms.cn 邮箱,期待与你的相遇!

有 20 种不同的树形 dict ,需要映射为结构更简单的扁平化 dict 。 为了不进行硬编码,需要写一个 python 库,定义一套规则,完成从树形字典的映射为扁平化字典。 注意两个字典的对应字段的名称可能是不同的。 说明库的设计思路,实现思路。


范例数据输入

in_data= { u'deliveryOrder': { u'warehouseCode': u'OTHER', u'deliveryOrderCode': u'3600120100000', u'receiverInfo': { u'detailAddress': u'\u5927\u5382\u680818\u53f7101', u'city': u'\u4e94\u8fde', u'province': u'\u5c71\u4e1c', u'area': u'\u5927\u5382' }, u'senderInfo': { u'detailAddress': u'\u6587\u4e09\u8def172\u53f7', u'city': u'\u676d\u5dde', },
}, u'orderLines': { u'orderLine': { u'itemId': u'0192010101', u'planQty': u'20', } }
}

#以下为库主程序运行后的范例数据输出 out_data : { 'warehouse_code': u'OTHER',
'express_code': u'3600120100000',

'receiver_area': u'\u5927\u5382',    
'receiver_province': u'\u5c71\u4e1c',    
'receiver_address': u'\u5927\u5382\u680818\u53f7101',
'receiver_city': u'\u4e94\u8fde',    

'sender_city': u'\u676d\u5dde',    
'sender_address': u'\u6587\u4e09\u8def172\u53f7',

'lines': [
    {
        'item_id': u'0192010101',
        'product_qty': u'20'
    }
],

}

6302 次点击
所在节点    Python
34 条回复
WinterWu
2016-08-11 21:35:59 +08:00
题目中写了字段名可能不同,因此总要用某种表。 1 ,直接将源 dict 字段和目标字段构建一个 dict , 2 ,抽象出规则,将无法用规则表达的用额外 dict 实现。具体到怎么扫描整个 dict 这个最简单就是迭代轮询,也可以用各种算法。
但是,这个题目没说清楚最重要的问题:场景,数据量,表规模。场景:像这样的诉求我猜很可能在数据库中转换数据存储方式,那就应该直接使用数据库自身功能实现,比如 mongo agg 处理。数据量:少量数据情况下根本不值得写什么库,极大数据量情况下用 python 可能也麻烦。当然实际中还要考虑很多其它因素。
抛开上面的问题,只说题目,那直接写个 mapping 轮询就好了
newghost
2016-08-11 22:35:17 +08:00
所以没事还是别发面试题了 这么多人 challenge
owt5008137
2016-08-11 22:43:37 +08:00
https://github.com/xresloader/xresloader/blob/master/README.md
是不是和我这个相反?结构化转非结构化不要太简单。
扁平化的数据转树形结构才麻烦
likuku
2016-08-11 22:46:22 +08:00
技术都可以学习培养,由解题所无法获知的另一些非技术面的信息反而在工作中更重要吧
IMRES
2016-08-11 23:21:45 +08:00
喜欢这样的招聘帖,直接
garytqq
2016-08-12 08:08:02 +08:00
感觉很像这个东西完成的功能: from flask_restful import marshal

数据是变化的, key/field 不变的话,建立源 key/field 到目标 key/field 的映射关系,使用上面的方法
Harveyguo
2016-08-12 12:04:42 +08:00
@mymike 有兴趣交流下吗? register@vwms.cn
Harveyguo
2016-08-12 16:58:10 +08:00
各位大牛,有愿意找工作的吗?我该怎么联系你们呢?真急死我了。。。。
补充一下我们的情况吧,项目是去年底启动的, 3 月份发布测试版, 5 月份上线第一个用户。因为是面向企业后端的 SaaS 应用,所以业务上的细节还是比较多,主要针对电商企业的仓库管理效率,算是企业效率工具类的软件。技术是 Python+AngularJS ,做了自动化测试看板,目前每周迭代,节奏还是比较快。计划在 Q4 下轮融资,期待与大家共同实现梦想!
yutian2211
2016-08-12 17:11:51 +08:00
。。。。。招聘网站
daocloud
2016-08-13 11:16:36 +08:00
DaoCloud 发来贺电!
lr9569
2016-08-13 11:52:39 +08:00
套路
ntop
2016-08-13 20:35:13 +08:00
任何发明新算法的都是耍流氓,这个很简单其实抽象出来就是一个爬虫的应用。输入的数据结构类似于一个网页,输出扁平化的结构类似于爬虫的结果,所以借鉴 XMLPath 的做法,定义映射规则,再写一个遍历数据结构的引擎就是就解决了。原来的结构是 json 的,可以利用 jsonpath ,在结合业务自己优化优化
xiaobeitzb
2016-08-13 20:49:12 +08:00
大胆推测是为了把操作系统的树形结构路径,存到数据库(邻接表)里么?
asuraa
2016-08-15 13:18:35 +08:00
尼玛能不能用 python3

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298680

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX