Snapdeal 面试经历 |第 12 套(高级软件开发人员)
我接受了高级软件开发人员角色的采访。
第1轮:
很多谜题和算法。面试官不让我写代码,我一说高效算法,他就提出了下一个问题。
Q1。树以数组的形式表示。其中数组的 index(i) 表示节点的值,内部的值 (A[i]) 表示树的父索引。
根对应的值为-1。构造树。
例如:1,-1,1,2,3,1 索引 1 是根,索引 (0、2 和 5) 有三个子索引,索引 3 是 2 的子节点,索引 4 是索引 3 的子节点
最初我做了 O(n*n),后来在额外空间 O(n) 的帮助下,我做了 O(n)
Q2。我们玩了一个游戏,有 n 个硬币,每个玩家必须一个接一个地捡起最小 1 和最大 6 的硬币,捡最后一个硬币的人越松
类似 http://www.quora.com/Given-n-coins-for-two-players-playing-a-game-Each-player-can-pick-at-least-1-and-at-most-一回合 5 枚硬币 - 选择最后一枚硬币的玩家输掉游戏 - 如果他们以最佳方式玩 - 哪个玩家将赢得游戏
我们玩了两盘这样的游戏,两次面试官都赢了,他让我找出背后的逻辑,幸运的是我可以使用我玩过的两个示例游戏来破解它。
Q3。 http://www.braingle.in/brainteasers/teaser。 PHP?op=2&id=9653&comm=0
经过长时间的讨论,我也可以回答这个问题,并提供一些提示。
第 2 轮:
这一轮是核心Java和设计的混合
Q1。图书馆中不同书籍的类别存储在数据库中
类别 => 字符串名称,字符串 ID,字符串 ParentCategory_Id
空->物理->电子->电流
类别是无限的,子类别是无限的
parentCategory_Id 为 null 的所有类别都是第一级类别,在每个此类类别下,我们将有多个子类别。