搜来的,嘿嘿

亚信科技笔试题

1. interface 和 abstract 的区别?

abstract 可不可以继承 interface, interface 可不可以继承 interface

2. HashMap 和 Hashtable 的区别?

3. 线程常用的方法是什末?

4. GC是什末?常用的两种方法是什末?

5. Sleep()和wait()的区别?

6. Servlet中forward()和redirct()的区别?

7. EJB和JavaBean都是什末?

8. EJB都有哪些构成?

9. Servlet的生命周期,比CGI有什末优点?

10. Override 和 Overload的区别?

11. JSP的组成部分?

12. 写一个JDBC的程序,

13. MVC架构的构成和各部分的作用?

14. 存储过程和函数的区别?

今天去这个公司参加面试,其中就有第二题。另外两题跟第二题差不多,都用了数组, 由于记不清题目,只能把别人记录的题目再拷贝过来。

1. 问题:

果给定的字符串从左到右和从右到左的序列完全一致,那么这样的字符串被称为 palindrome。例如,下面的字符串都是 palindromes。

“kayak” “codilitytilidoc” “neveroddoreven”

如果字符串A和字符串B含有相同的字母,但是顺序可能不一样,那么A被称为是B的anagram。例如,下面的字符串互为anagrams:

A=“mary” B=“army” A=“rocketboys” B=“octobersky” A=“codility” B=“codility” 实现一个函数 int isAnagramOfPalindrome(String S);

如果s的某种anagram是palindrome,则返回1,否则返回0。

2. 给定一个数组 A ,其中包含 N 个整数,它们的取值范围为 0…10000 (可以假定 N>0)。请给出函数,实现如下功能

int mostOften(int[] A); 返回数组 A 中出现次数最多的元素。

例如:给定 N=6 以及 A[0]=20 A[1]=10 A[2]=30 A[3]=30 A[4]=40 A[5]=10 此函数应返回 10 或者 30。 数组 A 中可能包含数百兆字节的数据。

3. 编写一个函数

int listLength(int[] A);

从给出的非空整数数组 A(下标从 0 开始算)中,找到那个藏在其中的列表的长度,将长度值返回。列表是这样“藏”在数组中的:

列表的开头位于数组的开头,也就是数组中下标为 0 的元素。

对于数组中下标为 k 的元素,A[k] 包含了列表中下一个节点的下标,或者是 -1 ——表示列表到此结束,没有下一个节点了。

你可以假定,列表的长度是有限的。

例如,给出这样一个数组

A[0]=1, A[1]=4, A[2]=-1, A[3]=3, A[4]=2