您当前的位置:首页 > 电脑百科 > 程序开发 > 程序员

阿里云技术面试真题公开-编程实现 DAG(有向无环图)的 DeepCopy

时间:2020-08-06 11:30:37  来源:  作者:

这是一道编程题目,结合了数据结构和简单算法(如递归等)。

考察点:

1. 候选人应该明确什么是 DeepCopy 并主动沟通

2. 候选人应该清楚的定义数据结构 这个问题里面,需要定义节点,节点只要有 {value, Collection neighbors} 就可以 了,增加别的成员一般是不合理的。

候选人应该意识到需要定义数据结构,如果不清楚定义(是个扣分项)需要提醒候 选人。

图的话可以不定义单独的数据结构,有 Collection 所有节点集合就可以了。当然专门 定义也可以。

有的候选人会有 Collection 和 Collection 定义(Node 里面没有 edge),或者有的候 选人用二维链接矩阵,这也 OK。

数据结构定义合理性检查: 例如包含一些算法需要的 mutable variable 在数据结构里面,破坏结构定义封装以 及 immutability 和 thread safety 的话,对于有经验的候选人是个比较大的减分项, 对于学生一般是 OK 的。

3. 编程实现 一般来说比较方便的是用递归 /DFS 实现,候选人也可以选择其他算法(如 BFS) 以 JAVA 为例:

阿里云技术面试真题公开-编程实现 DAG(有向无环图)的 DeepCopy

 

4. 其他

这个编程的过程,经常出现的是递归的方法和 wrApper 方法之间划分不清,出现大 量的重复代码,候选人这里花多少时间解决也是一个能力的表现。

还有经常有候选人意识不到 DeepCopy 里面需要保持图的结构因此想不到用 Map, 这个也是不行的。

当然如果要求不高,可以直接把题目编程 DeepCopy 一个树,这 样就没有去重的需求了。

能够正确完成的,可以 follow up:如线程安全,问一下候选人方法是否是线程安全 的(如果在 Node 节点里面存一些临时变量,或者把 Map 作为全局变量等就不是 了),可以问如何改造成线程安全之类的问题。

另外 Follow up Big(O):时间复杂度(O(V) + O(E))



Tags:阿里云 面试   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
这是一道编程题目,结合了数据结构和简单算法(如递归等)。考察点:1. 候选人应该明确什么是 DeepCopy 并主动沟通2. 候选人应该清楚的定义数据结构 这个问题里面,需要定义节点,节点...【详细内容】
2020-08-06  Tags: 阿里云 面试  点击:(196)  评论:(0)  加入收藏
▌简易百科推荐
有人说程序员单调乏味?看过他们的工位黑马君第一个不答应!在程序员的工位上,不仅显示屏多,玩具也特别多,特别是可爱的小黄鸭,(谁能给科普一下程序员为什么那么喜欢小黄鸭吗?△图来源...【详细内容】
2022-07-15  黑马程序员    Tags:程序员   点击:(3)  评论:(0)  加入收藏
因试用期遭劝退,一男子为发泄情绪删光自己在职期间所写系统代码被判刑十个月,如何看待这一审判结果?通过删库来发泄情绪的程序员是最蠢的。聪明的程序员会写一堆只有自己看得...【详细内容】
2022-07-10  多才小胖墩    Tags:代码   点击:(8)  评论:(0)  加入收藏
在当代职场流传着这么一句话,90后:终于进大厂了!00后:我要去国企! 不知何时,对于在职的年轻人而言,国企和大厂成为了最优选择,一个高薪,一个压力小,而两者之间的对比也日益激烈,针对哪...【详细内容】
2022-07-07  学掌门    Tags:程序员   点击:(10)  评论:(0)  加入收藏
让我们面对现实吧,软件工程师的薪水相当高。根据你的薪水,你可以轻松过上非常舒适的生活。然而,一些程序员喜欢探索副收入的想法来补充他们的全职工资。也许你想提前退休?也许您...【详细内容】
2022-07-04  独一无二的小魏同学    Tags:程序员   点击:(6)  评论:(0)  加入收藏
转自:https://www.jdon.com/61280 本文分析了来自 5,508 个软件工程职位列表的数据,以帮助您找出哪些编程语言的薪水最高。 我们分析了RemoteOK(世界上最大的工作委员会)上 5k...【详细内容】
2022-06-30  9i分享客栈    Tags:编程语言   点击:(27)  评论:(0)  加入收藏
【CSDN 编者按】丛纹弨是智能交通和物流领域的连续创业者,二十年的产业技术和创业管理经验,让他成为行业资深专家。本文从智慧物流平台的真正价值为何、如何通过算法解决行业...【详细内容】
2022-06-29    CSDN  Tags:CEO   点击:(22)  评论:(0)  加入收藏
相信很多朋友都想开发一款属于自己的应用,不管是学习还是工作中用,但是对于如何学习并开发完成这过程还存在迷茫点,活到老学到老!我也通过学习别人总结的,再总结一条适合自己的学...【详细内容】
2022-06-23  希里安    Tags:web开发   点击:(25)  评论:(0)  加入收藏
2022年的互联网行业变化挺大,接单可以作为开发者朋友能力变现的一条备选路,今天说说应该怎么判断一个项目是否靠谱以及市面上最常用的一些接单平台。接单需知接触接单的开发...【详细内容】
2022-06-22  程序员客栈    Tags:接单平台   点击:(37)  评论:(0)  加入收藏
一个普普通通的25+女程序员枯燥且忙(bai)碌(mang)的一天✅7:40 闹钟不响绝对不起床[偷笑R],穿衣、刷牙、洗脸(平时上班不化妆)✅8:00 出门(骑电驴+地铁+班车+5分钟步行)✅8:40...【详细内容】
2022-06-22  香菜真好吃ii    Tags:女程序员   点击:(18)  评论:(0)  加入收藏
自由职业者:程序员是当今最不受约束的自由职业者,可以帮助人们了解他们的网站和应用程序。 博客:程序员可以轻松地拥有一个专注于人们面临的技术问题和困难的博客。 主题和模...【详细内容】
2022-06-22  独一无二的小魏同学    Tags:程序员   点击:(33)  评论:(0)  加入收藏
站内最新
站内热门
站内头条