Zenefits OA3 新鲜面经

原帖地址:一亩三分地

6月25号做了Zenefits OA #3, 题库还是那两道题, 写在这里方便大家查阅:

1.
给一个string array, 找到里面最长的chain, 返回chain的长度。这个chain的定义语言描述实在费劲,咱们直接上例子
e.g. {abcde, bcde, bce, bde, de, d},那么最长的chain是: abcde – bcde – bde – de- d,返回5
思路: 从最长的string开始,做BFS。遍历各种可能减去一个char的substring,如果在array里,视为graph中连接两个node的edge

2.
一个nxn的棋盘,求所有的queen中受到thread的最大值。
输入模式限定了每个queen只能在对角线上受到威胁,也就是说最大值也只能是4
思路: 设置了两个方向的flag,分别是对角线方向(从当前位置向左上方)和反对角线方向(从当前位置向右上方)
对每个queen都向这俩方向找有没有之前存在的queen,如果有,两者的thread都要加1
做的时候就只是暴力解的,每次都向上寻找,虽然设置俩flag确保一个方向只找到一个有效的queen,但也就那么回事儿,
不过这个神奇的OA系统好像没有大数据?反正testcase就都通过了。。

一个小时后收到Skype面的邮件。

感想:
难度还是很高的,这还只是第一轮OA啊喂!作为一个非CS的new grad,我真心觉得他家的题不好做,如果不是之前在地里看了面经,
第一次看到这些题能在150min内想清楚就不容易了好么。。接下来还有两轮Skype,然后还有个onsite,楼主面对这样的事情直接就
呵呵了。。呐,就当体验生活了,楼主对于自己的编程水平还是有清醒的认识的。。。很庆幸之前找到了面经, 要么这OA估计也费劲。。

希望我分享的面经能够帮助到接下来参加Zenefits OA的同胞们。团结就是力量啊!
找工作的困难总会过去,大家加油!