Palantir 现场面挂经

题目不是很难其实,面试官非常注重细节和communication,有一点lacking那一轮基本上是soft no了

因为看了feedback,是说coding还行但是comm不ok,其实心情会比较复杂,因为有好几句feedback面试官都是在用一种condescending的语气写的,回想起来面试的时候面试官人表现的还挺nice,但其实已经在secretly judging you了,有点怪异感。

1. Debug, 一个Java程序和一堆CSV 文件,每个CSV是公司名称以及它的owner和每个owner所含有的share,owner可以是真的人,也可以是其他公司,程序是给定一个公司名称,找出它背后的所有真人owner以及每个人所占的share比例,这题一共有3个bug,分散在不同公司的testcase下,面试官会一个case一个case的问你,一次找出一个bug就行,仔细看code不难的

2. 系统设计, 给了一些场景,但其实就是设计一个mornitoring server, 就是给定一堆host node,每个host有个getMetrics的API可以调用,再给你一个DB,类似有一个putData的API,这个server的作用就是每隔一定的时间K,比如30s,读取所有host里面的metrics放到DB里去,要求是保证尽可能多的host data被放进去。面试官会要求写出具体code

3. 纸牌游戏, 52张扑克牌随机给N个player,每个player有一堆牌,但每次只允许从最上面开始拿,首先每个player拿出一张,牌最大的player获胜且把所有的牌加到自己的牌最后,如果有人没牌就输掉这句比赛,如果出现tie的情况,那么平手的K个玩家每个人从自己的牌最上面先拿出3张牌后,再拿出(第4张)比较大小,胜的人将赢得所有牌(包括那些3张牌),如果还有平局,则持续直到有人没牌。

给定选手数,面试官先问怎么随机分配52牌,然后就要求模拟游戏过程,写出class

4. 午饭 + 看视频Demo