搜来的,嘿嘿
亚信科技笔试题
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