Fidessa OA 面经

原帖地址:一亩三分地

发个小公司Fidessa的online 测试面经

我选的是OA JAVA development Test 2.

一共五道,有一道没做出来,有一个题两个test case没过,还是自己太弱了。

第一题,Roman To Integr 变形,基本思路一样的,不过他给了几个对应关系,比如I=1,E=3,V=5啥的,最大的好像是50还是多少,忘了。然后从左到右遍历,题里说的很明白,如果右边数字比左边小,就是减,比如VII是3.相同数字,如果前面是加,后面也是加,前面是减后面也是减,比如II =2, VII=3.大概就这样。

解法:建个map,从左到右遍历加减就行了,我存了pre,如果当前char和之前一样,直接加pre就行了。testcase全过,不难。

第二题,一个选择题,有几个读文件的代码,问哪个是最安全的。

我就选了try catch最多层的那个,这里不太清楚文件close的时候,是直接放在finally里,还是需要对close再套一层try catch, 没怎么用过文件处理,不太了解,我就选了close的时候再执行以下try catch,而不是直接finally里close.

第三题,改错。

一大段代码,先定义了一个class,然后在里面又定义了一个class,主要用来读文件输入,去掉不是Integer的,再输出剩下的,但结果不对,改成对的。(不知道他家为啥那么喜欢文件处理)

解法:下午有点困,脑子不清晰,看了尼玛半天,最后发现,外面的和里面的俩class都有一个变量叫value,每次里面的value=parseInt()之后,另一个函数负责输出,输出的是外面那个value,所以结果永远是0.

觉得这题好SB啊。。。看出来就好改了,一分钟改完,test case全过。。。

第四题,没会做,Java还是理解的不透彻,主要考得应该是面向对象编程。。。

第五题,valid parentheses变形,左括号对应大写字母,右括号对应小写字母,问输入String最多匹配到的index是几,如果没有匹配,输出-1,

解法跟valid parentheses一样,建个stack,有两个test case没过,不知道为啥,也不太想看了,就那样吧。

感觉东部的公司面试题都比较奇葩,之前面别的东部公司的题也非常怪,leetcode完全找不到相似的。。。也可能是我RP差,据说他家只发OA不招人,无所谓了,练练手吧。

求加点分,谢谢了。