`
mayuqi827
  • 浏览: 48818 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

面试题集

    博客分类:
  • JAVA
阅读更多
面试题集~

注:按题目难易程度划分为三部分;各题目后括号内均标明了其所属知识点范围。
一、基础:(共25题)~1
1.数据库,比如100用户同时来访,要采取什么技术解决;(JDBC))f&|2<
答:可采用连接池。
2.String,  StringBuffer  StringBuilder的区别。(Core Java)0ro*3<
答:String的长度是不可变的;P
StringBuffer的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法;线程安全;E^t
StringBuilder是从 JDK 5 开始,为StringBuffer该类补充了一个单个线程使用的等价类;通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。"=
3.写一个函数要求输入一个字符串和一个字符长度,对该字符串进行分隔;(Core Java)YN
答:函数代码如下:nq0
public String[] split(String str, int chars){!N|
int n = (str.length()+ chars - 1)/chars;q:(Z6
String ret[] = new String[n];8U
for(int i=0; i<n; i++){UCRoP
if(i < n-1){|3)
ret[i] = str.substring(i*chars , (i+1)*chars);b
}else{?%{
ret[i] = str.substring(i*chars);N^]-
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  UdFzh
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ~r1B!H
return ret;Bl%f@=
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  z
©达内IT技术
4.java和javasciprt的区别;(Core Java)9S
答:javascript与Java是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是Live Script;而Java的前身是Oak语言。下面对两种语言间的异同作如下比较:ro}^
1)基于对象和面向对象:dHkRKe
Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。 w/ORxs
javascript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。 >^=
2)解释和编译:W,@SX
Java的源代码在执行之前,必须经过编译;.wA\
javascript是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行。 p
3)强类型变量和类型弱变量:Kx`k%n
Java采用强类型变量检查,即所有变量在编译之前必须作声明; )v
javascript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。gb#i}
4)代码格式不一样。]h9g
5.语句float f=1.3;编译能否通过?(Core Java)Vo$
答:不能;应该用强制类型转换,如下所示:float f=(float)1.3;..
6.以下二条语句返回值为true的有:(Core Java)$p^'Em
答:A B   JY[\,
A:“beijing”==“beijing”;HA
B:“beijing”.equalsIgnoreCase(new String(“beijing”));gh
7.类Example A继承 Exception,类 ExampleB继承Example A;{*a
有如下代码片断:(Core Java)+?<s
try{©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  w~^
throw new ExampleB(“b”);dLRH,9
}catch(ExampleA  e){TOz
System.out.printfln(“ExampleA”);[zL(05
}catch(Exception  e){P
System.out.printfln(“Exception”);)
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  }t
输出的内容应该是:ADT
A:ExampleA   B:Exception    C:b    D:无$
8.java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么;(Core Java) N0ohO
答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口;z,t#
同步的实现方面有两种,分别是synchronized,wait与notifyl jh
9.Arraylist与Vector区别;(Core Java)^oR
答:就ArrayList与Vector主要从二方面来说:-j*v
1. 同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的ipHh_A
2. 数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半cM
10.HashMap Hashtable 区别;(Core Java)8"ov'
答:都属于Map接口的类,实现了将惟一键映射到特定的值上,区别主要有:yO
1. 历史原因:Hashtable是继承于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现;w6f*
2. 同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的;M
3. 值:只有HashMap可以让你将空值作为一个表的条目的key或value;v
4. HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey;因为contains方法容易让人引起误解。>
11.Collction和Collections的区别;(Core Java)k%''
答:Collections是个java.util下的类,它包含有各种有关集合操作的静态方法;1YMhbT
Collection是个java.util下的接口,它是各种集合结构的父接口。Fvj
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  m)
12.面向对象的特征有哪些方面;(Core Java)n"'
答:封装、继承、多态:$W{R:
1)封装:指把一个类的内部实现隐藏起来,对外提供公开一致的接口,从而具有更好的可维护性;M&jM
2)继承:使一个类自动获得另一个类的方法和属性;'je
3)多态:指子类可以当作父类用。U
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ,6J}#q
13.Overload和Override的区别;Overloaded的方法是否可改变返回值类型;(Core Java)6
答:方法的覆盖Overriding和重载Overloading是Java多态性的不同表现。覆盖Overriding是父类与子类之间多态性的一种表现(又称为运行时多态),重载Overloading是一个类中多态性的一种表现(也称为编译时多态)。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖(Overriding),子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。6:J
Overloaded的方法是可以改变返回值的类型。b
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  u
14.定义类A和类B如下:(Core Java)H}.\
class  A {9E
int  a=1;<n'3@D
  double  d=2.0;'oa~
   void  show(){Bn-
       System.out.println("Class A: a="+a +"\td="+d);f
   }8o7
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  '\h
class B extends A{diV3z,
   float  a=3.0f;                Q!LIVM
   String  d="Java program.";   O
   void  show(){  |l6g@|
       super.show( );       #
       System.out.println("Class B:  a="+a +"\td="+d);GX6"9v
   }'RO _
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛   /4
(1) 若在应用程序的main方法中有以下语句: i1(
A  a=new A(); <m
a.show();>,s@V?
则输出的结果如何?k
答:输出结果为:Class A: a=1d=2.0  r${S
(2) 若在应用程序的main方法中定义类B的对象b: P
A  b=new B(); L/X
b.show();h#X:2
则输出的结果如何? T
答:输出结果为:Class A: a=1d=2.0,Y=`
Class B:  a=3.0d=Java program.|@iNl
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  }3x
15.接口和抽象类的区别;(Core Java)XL
答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。成员方法中包含抽象方法的类被叫做抽象类(abstract class);不能创建abstract 类的实例,然而可以创建一个引用变量,其类型是一个抽象类,并让它指向具体子类的一个实例;不能有抽象构造函数或抽象静态方法;Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。^|F
接口(interface)是抽象类的变体,在接口中,所有方法都是抽象的;多继承性可通过实现这样的接口而获得;接口只可以定义static final成员变量;当类实现特殊接口时,它定义所有这种接口的方法;允许使用接口名作为引用变量的类型。n.G
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  y
16.详细描述MVC;(Web) :
答:基于Java的Web应用系统采用MVC架构模式,即model(模型)、view(视图)、control(控制)分离设计。这是目前WEB应用服务系统的主流设计方向。uRO-
Model:即处理业务逻辑的模块,每一种处理一个模块;&#t~
View:负责页面显示,显示MODEL处理结果给用户,主要实现数据到页面转换过程;v(0
Control:负责每个请求的分发,把form数据传递给MODEL处理,把处理结果的数据传递给VIEW显示。*|Mx
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  E$
17.页面中有一个命名为bank No的下拉列表,写脚本获取当前选项的索引值;(Web)z\
答:用java或javascript的处理方式分别如下::_6r
Java: request.getParameter(“bank No”);,QMI*i
javascript: var selectItems = document.getElementsByName(“bank No”);@
          selectItems[0].value;`eY
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  zK0
18.javasct常用的方面;(Web)k
答:常用于数据输入校验和页面特殊效果等。x-()
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  L
19.常用的web容器和开发工具;(Web)d
答:最常用的容器包括:tomcat、weblogic;/yU?{
开发工具有:eclipse,jbuilderU`"
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  >.<
20.请画出Servlet 2.2以上Web Application的基本目录结构(时间2分钟)(Web)L'T>`
答:目录结构如下图所示:ztIH
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  W
     webapps%,;5!
                        |afWhI
                    Applocation TZP
                        |W`://
                __________________;m r
                |                 |h/v
JSP页面           WEB-INF             Y
                                  |qu#Gh
                         ____________________
                         |         |          | 9
                   Class       lib     web.xmlZ8P,t
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  E
21.后序遍历下列二叉树,访问结点的顺序是?(数据结构)j-l)E9
答:DJGEBKNIFCA +
      Am ,
     /   \OEw/
    B    CT)
/  \     \n
  D   E     Fw
      /      / \w[
     G     N  I=X%2A6
     /       \.KIGO
    J         Kxt/
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  i6
22.写一种常见排序;(算法)[
答:C++中冒泡排序:wUC"
void swap( int& a, int& b ){5zS
int c=a; a = b; b = c;<H
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  &(v
void bubble( int* p, int len ){M W"
bool bSwapped;]U}Gx
do {©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  X^oNV
bSwapped = false;_>HFX"
for( int i=1; i<len; i++ ){]
if( p[i-1]>p[i] ){&!
swap( p[i-1], p[i] );BS.!
bSwapped = true;tyE
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  r@
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ?TAe0
}while( bSwapped );0kb>-!
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ~:kj
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  f[D@
23.一个byte几个单位。(计算机基础)s* Rhy
答:8bit。</
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  }q=
24.常用UNIX命令(Linux的常用命令)(至少10个);(Unix)l95);
答:ls pwd mkdir rm cp mv cd ps ftp telnet ping env more echo qTBz_
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  #!q2Je
25.写一个一小段程序检查数字是否为质数; (C++)9*PsX
以上的程序你采用的哪种语言写的.采用该种语言的理由是什么,#L9^=!
答:代码如下:S
#include <math.h> 'N^&
bool prime( int n ){<^c
if(n<=0) exit(0);pdfn
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  #<l
   for( int i=2; i<=n; i++ )w
       for( int j=2; j<=sqrt(i); j++)W
           if((n%j==0) && (j!=n))f
               return false;YAi>
   return true;24
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  P
C++,运行效率高ESpG
二、难度适中:(共37题)*1*
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  6n[<
1.张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC表关联;(SQL)2a
1)写出建表语句;WMVq
答:建表语句如下(mysql数据库):l
create table s(id integer primary key, name varchar(20));)
create table c(id integer primary key, name varchar(20));5Z&yzE
create table sc(u5+BY?
sid integer references s(id),B6
cid integer references c(id),XM6Vi'
primary key(sid,cid)|?
);FZ8
2)写出SQL语句,查询选修了所有选修课程的学生;Ruf?{.
答:SQL语句如下:P9?;~S
select stu.id, stu.name from s stu!s
where (select count(*) from sc where sid=stu.id) = $&oZjy
(select count(*) from c);/9}M
3)写出SQL语句,查询选修了至少5门以上的课程的学生。oT
答:SQL语句如下:}"V;N*
select stu.id, stu.name from s stu N5e
where (select count(*) from sc where sid=stu.id)>=5;"26
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  i\
2.数据库表(Test)结构如下:(SQL)B^l}}
IDNAMEAGEMANAGER(所属主管人ID)9<t=J
106A30104}\Q-
109B191047o)/#
104C20111ik,f1
107D35109.
112E25120SJ:%
119F45NULLs1an
要求:列出所有年龄比所属主管年龄大的人的ID和名字?&
答:SQL语句如下:0`li
select employee.name from test employee where employee.age>XT5c
(select manager.age from test manager where manager.id=employee.manager);i-Z.%7
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  `
3.有3个表(15分钟):(SQL)pU{$
Student 学生表 (学号,姓名,性别,年龄,组织部门)@eb~
Course 课程表 (编号,课程名称)0"-
Sc 选课表 (学号,课程编号,成绩)xq
表结构如下:C$Vli
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  p
1)写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名(3分钟)."
答:SQL语句如下:b-CG
select stu.sno, stu.sname from Student stu n2A
where (select count(*) from sc where sno=stu.sno and cno =4mc
(select cno from Course where cname='计算机原理')) != 0;9
2)写一个SQL语句,查询’周星驰’同学选修了的课程名字(3分钟)H\y.
答:SQL语句如下:&LecY
select cname from Course where cno in (select cno from sc where sno=(select sno from Student where sname='周星驰'));n{8
3)写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)V
答:SQL语句如下: #d
select stu.sno, stu.sname from student stu
where (select count(*) from sc where sno=stu.sno) = 5;Z
4.写四个线程,两个对j加1,两个对j减1;(Core Java)LV0V
答:代码如下:/WD8
package test;qIOwEV
public class TestThread {|
int j;duZ
public TestThread(int j) {yWD
this.j = j;*
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  6;~`XV
private synchronized void inc(){.
j++;n[h+
System.out.println(j + "--Inc--" + Thread.currentThread().getName());/v
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  *TOe
private synchronized void dec(){^rXE5
j--;1%p_tq
System.out.println(j + "--Dec--" + Thread.currentThread().getName());^Yx
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  aARR6
public void run() {Lyw.
(new Dec()).start();>TH
new Thread(new Inc()).start();K ^
(new Dec()).start();KM
new Thread(new Inc()).start();6
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  F}nZSR
class Dec extends Thread {9W/'/
public void run() {4QoR"
for(int i=0; i<100; i++){QTQ.
dec();/V#/{?
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  z"%
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  /dF7`
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  d
class Inc implements Runnable {M[J @R
public void run() {O
for(int i=0; i<100; i++){!`B=x
inc();Pg@*0
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  6B
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  Yr
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  tA.
public static void main(String[] args) {KB
(new TestThread(5)).run();W$BN
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  WIj^v
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  aA
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  Uux0O
5. 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。(Core Java)hfA
答:代码如下:%r-Wh6
public int countWords(String file, String find) throws Exception {</;2
int count = 0;IM!yI
Reader in = new FileReader(file);Z[
int c;\
while ((c = in.read()) != -1) {/DvU|
while (c == find.charAt(0)) {'h4dq
for (int i = 1; i < find.length(); i++) {yg
c = in.read();q1rxR
if (c != find.charAt(i)) break;qqg
if (i == find.length() - 1) count++;)+"_>@
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  {6=vg
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  p%1,%
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  SLW
return count;[T^PK
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  Do7v
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  7T
6.sleep()和wait()的区别;(Core Java)r
答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非:HI
(a)“醒来”的线程具有更高的优先级 ?[5gF]
(b)正在运行的线程因为其它原因而阻塞。 4
wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。Rl;
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  D4e\P
7.GC是什么?为什么要用它;(Core Java)kE :I
答:GC是垃圾收集器;Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用方法: System.gc() 或Runtime.getRuntime().gc()k>?8
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  $W'0{R
8.用程序给出随便大小的10个数,序号为1-10,按从小到大顺序输出,并输出相应的序号。(Core Java)bcW k=
答:代码如下:?M!
package test;o&;mFD
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ?Qa/q
import java.util.ArrayList;,< gf
import java.util.Collections;y
import java.util.Iterator;b"{
import java.util.List;!0mf59
import java.util.Random;JCX7
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  r0{;<
public class RandomSort {YU~X3
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  M>i
public static void printRandomBySort() {=DaA^
Random random = new Random(); // 创建随机数生成器|4
List list = new ArrayList();IE
for (int i = 0; i < 10; i++) { // 生成10个随机数,并放在集合list中Mq
list.add(random.nextInt(1000));F9=y<M
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  i4hNi
Collections.sort(list); // 对集合中的元素进行排序>4q
Iterator it = list.iterator();J7Z%}*
int count = 0;s>.u
while (it.hasNext()) { // 顺序输出排序后集合中的元素0r
System.out.println(++count + ":" + it.next());x\6B
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  sCW
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  z_q
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  |u$I?
public static void main(String[] args) {-(
printRandomBySort();qWic3w
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  '
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  0
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  @
9.写一个函数,2个参数,1个字符串,1个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码:如(“我ABC”,4)应该截为“我AB”,输入(“我ABC汉DEF”,6)应该输出为“我ABC”而不是“我ABC+汉的半个”。(Core Java)v
答:代码如下:ul;H@!
public String subString(String str, int subBytes) {b
int bytes = 0; // 用来存储字符串的总字节数,6wI)2
for (int i = 0; i < str.length(); i++) {Q@UnmR
if (bytes == subBytes) {nU]Y3~
return str.substring(0, i);hNh
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  0p!R
char c = str.charAt(i);fGD@q
if (c < 256) {l4K-
bytes += 1; // 英文字符的字节数看作1D
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  @5l`j<
} else {xQR\6
bytes += 2; // 中文字符的字节数看作21Uv
if(bytes - subBytes == 1){FM
return str.substring(0, i);Q
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  =^eI2
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  4*ra<S
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  K
return str;MeU+/
} ©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  []Fkn
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  zV#'y,
10.连接池的工作原理;(JDBC)=5]/
答:连接池中保存有指定个数的数据库连接,当需要时程序可从池中获取可用连接,并在程序使用过之后不关闭连接,并放回连接池中,以供其他的程序在需要时来取用,这样可以大量的节省销毁和创建连接的资源消耗。>sw{ts
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  }8D
11.JNDI是什么?8-~
答:是java命名和目录接口服务}v9b
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  _m]aH
12.什么是web容器;(Web){tV[-
答:容器是一个软件的概念,提供了一个组件运行的环境。Web容器或ejb容器都是其中的一种。例如tomcat就是一个开源的服务器,是jsp/servlet的容器。-
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  +un
13. forward和redirect区别;(Web)y1Fj
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接,这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接;在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。bIV
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  g C
14.struts的入口类;(Web){2R-
答:ActionServlet是Struts的入口类,所有的struts请求都经由该类转发处理8DkD$
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  H__-i
15.用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作;(JDBC)'J3V;~
答:JDBC示例程序如下:M2Cm&Y
public void testJdbc(){9&?V
   Connection con = null;H.
PreparedStatement ps = null;-{A xy
ResultSet rs = null;967Q}
try{©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  5|+n
//step1:注册驱动;bhxk=<
Class.forName("oracle.jdbc.driver.OracleDriver");o#={a
//step 2:获取数据库连接;Xx(
con=DriverManager.getConnection(.|7
"jdbc:oracle:thin:@192.168.0.39:1521:TARENADB", bl12
"sd0605","sd0605");h|0
           /*******************************查 询******************************/yY
           //step 3:创建Statement;^:[
String sql = "SELECT id, fname, lname, age, FROM Person_Tbl";*\<
ps = con.prepareStatement(sql);at:
           //step 4:执行查询语句,获取结果集;L
rs = ps.executeQuery();(@;]
           //step 5:处理结果集—输出结果集中保存的查询结果;J^K
while (rs.next()){9%
System.out.print("id = " + rs.getLong("id"));6X(
System.out.print(" , fname = " + rs.getString("fname"));uNk
System.out.print(" , lname = " + rs.getString("lname"));`P]le+
System.out.print(" , age = " + rs.getInt("age"));a?e)5e
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  "|
       /*******************************JDBC 修 改*********************/W
       sql = "UPDATE Person_Tbl SET age=23 WHERE id = ?";"+w%'4
ps = con.prepareStatement(sql);}V
ps.setLong(1, 88);6m+l(<
int rows = ps.executeUpdate();GZ>7rX
System.out.println(rows + " rows affected.");V[-cqc
} catch (Exception e){Q-
e.printStackTrace();%i
} finally{g
try{©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  3KOD
con.close(); //关闭数据库连接,以释放资源。#
} catch (Exception e1) {H%Y$^r
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  y
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  r+
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  g<
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  QAH?9
16.servlet的生命周期以及与其相关的类接口和相关方法;(Web)[:3^:m
答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。}iR$
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  9
17.关于hibernate:B<`s3$
1)在hibernate中,在配置文件呈标题一对多,多对多的标签是什么;e;F.
2)Hibernate的二级缓存是什么; 07IG
3)Hibernate是如何处理事务的;G
答:1)一对多的标签为:<one-to-many> ;多对多的标签为:<many-to-many>;WUr
2)sessionFactory的缓存为hibernate的二级缓存;^JXG
3)Hibernate的事务实际上是底层的JDBC Transaction的封装或者是JTA Transaction的封装;默认情况下使用JDBCTransaction。U
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  2M8):J
18.JSP中两种 include方式的区别;(Web)3<UPx"
答:动态include用jsp:include动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;静态include用<%@include %>指令实现,适用于包含静态页面"#9NO
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  NMLNR
19.javascipt的优缺点和内置对象;(Web)L<
答:关于javascipt:<bM"tj
1)优点:简单易用,与Java有类似的语法,可以使用任何文本编辑工具编写,只需要浏览器就可执行程序,并且事先不用编译,逐行执行,无需进行严格的变量声明,而且内置大量现成对象,编写少量程序可以完成目标;Y1
2)缺点:不适合开发大型应用程序&C
3)javascript有11种内置对象:u
Array,String,Date,Math,Boolean,Number,Function,Global,Error,RegExp,Object'^)yT
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  mxE94r
20.get和post的区别?(Web)42
答:form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GETr'<Nn
和POST方法。二者主要区别如下:-0
1)Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;8
2)Get将表单中数据的按照variable=value的形式,添加到action所指向的URL {qVQ
后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL;z$1mA6
3)Get是不安全的,因为在传输过程,数据被放在请求的URL中,3'
Post的所有操作对用户来说都是不可见的;DuA>$
4)Get传输的数据量小,这主要是因为受URL长度限制,而Post可以传输大量FqdWa
的数据,所以在上传文件只能使用Post;5:aND
5)Get限制form表单的数据集必须为ASCII字符,而Post支持整个ISO10646"
字符集;wMw3$
6)Get是form的默认方法。f5]
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ghH
21.JSP的九个内置对象及其作用、JSP的动作;(Web)mby$
答:JSP共有以下9种基本内置组件: S|2{y$
1)request :用户端请求,此请求会包含来自GET/POST请求的参数 5]\v
2)response :网页传回用户端的回应 "l1_T
3)pageContext :网页的属性是在这里管理 w<B[j
4)session :与请求有关的会话期 ,可以存储用户的状态信息IJ* @\
5)application :servlet 正在执行的内容 ,可用于查找有关servlet引擎和环境的信息<
6)out :用来传送回应的输出%
7)config :servlet的构架部件 ,用于存取servlet实例的初始化参数rWr
8)page :JSP网页本身 Hh4
9)exception :针对错误网页,未捕捉的例外;jn
JSP共有以下6种基本动作:l%erB
1)jsp:include:在页面被请求的时候引入一个文件。 F/`0
2)jsp:useBean:寻找或者实例化一个JavaBean。 tJ\Gr
3)jsp:setProperty:设置JavaBean的属性。 Y
4)jsp:getProperty:输出某个JavaBean的属性。 n
5)jsp:forward:把请求转到一个新的页面。 S
6)jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记Ja[
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  X
22.写出你熟悉的开源框架以及各自的作用。gyRUe
答:框价:hibernate,spring,struts.Q
  Hibernate主要用于数据持久化;29jhW8
   Spring 的控制反转能起到解耦合的作用;>_
   Struts 主要用于流程控制;x4
服务器类:Apache Tomcat Jboss等a.[GO%
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  wR<9p;
24.简述你对Struts框架的理解;(Web)$,G1mD
答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架;Struts有如下的主要功能: S
1)包含一个controller servlet,能将用户的请求发送到相应的Action对象。 1
2)JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。 *E
3)提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。=]J
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  Q
25.JSP标签的作用?如何定义;(Web)_1vSw5
答:作用:分离jsp页面的内容和逻辑;qJLv|
业务逻辑开发者可以创建自定义标签;MM
封装业务逻辑;pG
可重用并且易维护;"1jQ|6
易于手工修改、易于工具维护;6?
提供简洁的语法;m'/Zn{
定义:©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  j2
写标签处理器;qh;"6
写tld文件;gO;{
讲标签处理器和tld文件放到同一个包里面;.AvydJ
把jsp页面和标签库配置部署在一起。0m
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  B?Lhi[
26.写一个自定义标签;(Web)$
答:代码如下:<
import javax.servlet.jsp.tagext.*;u^9
import javax.servlet.jsp.*;"fD`xn
import java.io.*;1V~
public class TimeTag extends SimpleTagSupport{.
private boolean isServer = true;4
public void setServer(boolean isServer){d
this.isServer = isServer;rHhF*
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  C}igZK
public void doTag() throws JspException, IOException{CUZ~
JspWriter out = getJspContext().getOut();|I;O`
if(isServer) {'>g`gv
out.println(new java.util.Date());DCC1[
}else{<
out.println("<script language=\"javascript\">");e
out.println("document.write(new Date());");KaGz
out.println("</script>");O$qdf
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  k
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  U
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  *)vHLj
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  9UA
27.写出熟悉的JSTL标签;(Web)P
答:如下:$t3aS
<c:if>`}/HD
<c:forEach>;SB
<c:set>1
<c:import>?
<c:redirect>TBE;$
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  Y{(\}D
28.说出struts中的标签;(Web)V[
答:如下:Pd;o
<bean:message  />           <html:errors />Y&`
<bean:include  />             <html:messages /> a1!~u
<bean:define />               <html:html>QqXJ
<bean:write />                <html:form> L"
<bean:resource />             <html:link>{swc4f
<bean:cokkie />                <html:text>KQ05
<bean:heder />                <logic:present />cpz3|h
<bean:parameter />            <logic:equal />Hq[
<bean:size />\
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  .wJ
29.如何从form表单中得取checkbox的值;(Web)A
答:可在页面把checkbox的name属性取同一个,value属性取每个条目的id,后台用getParamter(“name”)能取到checkbox的一组值。@~!(
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  9M4`F
30.简述HttpSession的作用、使用方法,可以用代码说明。(时间3分钟)(Web)@eCL;Q
答:HttpSession中可以跟踪并储存用户信息,把值设置到属性中,有2个方法:setAttribute(),getAttrribute();P
例如:在一个方法中用session.setAttribute(“student”,student);在session中设置一个属性名为student,值为一个名为student的对象。而后可在同一session范围内用getAttribute(“student”)取出该属性,得到student对象。D2lE
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  V
31.找出程序中的问题,并写出理由(5分钟)(Web)3
import javax.servlet.*;\
import javax.servlet.http.*;n
import javax.sql.*;r6
import javax.naming.*;R
import java.sql.*;Dr*ZwG
import java.io.IOException;q?h
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛   yWx^u
public class TestServlet extends HttpServlet{p[
private Connection conn;1Hd
protected void doGet(HttpServletRequest req,HttpServletResponse res) Q3xhbi
throws IOException,ServletException{W
try{©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  I<u
Class.forName(“COM.ibm.db2.jdbc.app.DB2Driver”);x
conn = DriverManager.getConnection(“jdbc:db2:mydb”,”db2”,”db2”);nJ6dl
PreparedStatement stmt = conn.prepareStatement("delete from mytb where id=?");6!
for (int i=0;i<5;i++) { B'3M
stmt.setInt(1,i);Z:~]1
stmt.executeUpdate();32Dg+/
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  k'
conn.close();xsmM*r
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  e5|d
catch (Exception ex)%
{©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  [u
ex.printStackTrace();Rwi:i
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  r
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ']TtPf
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  5z
答:其中doGet方法的访问限制修饰符应该为public,因为protected修饰的方法只能被/_xO,
同包中的类或其子类才可访问,这将导致web容器无法调用该方法。?f(
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ='
32.写出Singleton模式。写出你熟悉的设计模式;(OOA/D)GADT
答:有两种方式:rV0w
第一种方法:$^
public class Singleton{!Pm
private Singleton(){}!U_Qn
private static Singleton singleton=new Singleton();IbFn
public static Singleton getInstance(){?Y2
return singleton;O
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  tgtLxf
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ^k<?
第二种方法:c~
public class Singleton{Yy,NH
private Singleton(){}x\3.d
private static Singleton singleton=null;"
public static Singleton getInstance(){if
If(singleton==null) singleton=new Singleton();//需要的时候才new,节省空间。@v
return singleton;|8NZ{i
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  =
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  SG
一般采用第一种方式。g}P~Z
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  0e
33.设计模式有哪些?<S
答:包括单类模式,工厂模式,MVC模式,观察者模式,代理模式,试配器模式,门面模式等等共23种之多。Z>S
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  A
34.UML分析设计中常用的几种图;(UML)A
答:用例图,静态图(包括类图、对象图、和包图)、行为图、交互图(顺序图、合作图),实现图。i
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ZKR:
35.你对软件开发中迭代的含义的理解;(UML)=.+
答:软件开发中,各个开发阶段不是顺序执行的,应该是并行执行,也就是跌代的意思。这样对于开发中的需求变化,及人员变动都能得到更好的适应。!#4N/?
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛   de9/
36.统计一篇文章中单词个数(c++);IVCj8
答:代码如下:23>iZ
#include<iostream>3~R(uM
#include<fstream>PVSWfR
using namespace std;TK0I
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  $VyW
int main(){;
ifstream fin("t.txt");<o)
if(!fin){7.D ;
cout<<"can't open file"<<endl;]
return -1;N"!<
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  0
int count = 0;|4
char buf[256];g
memset(buf, 0, 256);l#.?
while(1){8BqB9
fin2>>buf;*U%|
if(fin2.eof())L)R,]W
break;4~Q@
count++;aR
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  !
cout<<"The number of the words is : "<<count<<endl;)>
fin2.close();p,vj
return 0;EA[s|
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  DX&
37.XML的两种解析方式和定义方式;(XML)Q#
答:解析方式有:yD
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问;6T79
SAX:不同于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。yC
定义方式:DTD(文档类型定义)和Schema。Xrkyjm
三、较难:(共9题)c|
1.线程中为什么不推荐使用stop;(Core Java)8Hmtf'
答:此方法已过时。 该方法具有固有的不安全性。用 Thread.stop 来终止线程将释放它已经锁定的所有监视器(作为沿堆栈向上传播的未检查 ThreadDeath 异常的一个自然后果)。如果以前受这些监视器保护的任何对象都处于一种不一致的状态,则损坏的对象将对其他线程可见,这有可能导致任意的行为。stop 的许多使用都应由只修改某些变量以指示目标线程应该停止运行的代码来取代。目标线程应定期检查该变量,并且如果该变量指示它要停止运行,则从其运行方法依次返回。如果目标线程等待很长时间(例如基于一个条件变量),则应使用 interrupt 方法来中断该等待。>TB
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  4'
2.编程题:设有n个人依围成一圈,从第1个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个人又出列,…,如此反复到所有的人全部出列为止。设n个人的编号分别为1,2,…,n,打印出出列的顺序;要求用java实现。(Core Java)=e04z
答:代码如下:vq$V
package test;{$8c@
public class CountGame {[a
private static boolean same(int[] p,int l,int n){*q0-<f
for(int i=0;i<l;i++){H+$8#
if(p[i]==n){l3F?
return true;nj
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  bu
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  i
return false;oAV
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛   =A
public static void play(int playerNum, int step){=
int[] p=new int[playerNum];:^
int counter = 1;CR7g
while(true){*
if(counter > playerNum*step){?+d9
break;9s
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  !o6YZ
for(int i=1;i<playerNum+1;i++){6/
while(true){$vn{
if(same(p,playerNum,i)==false) break;.!
else i=i+1;D9uQ
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  wL2
if(i > playerNum)break;JfmD
if(counter%step==0){<2%Yc
System.out.print(i + " ");B
p[counter/step-1]=i;)7
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  $F*
counter+=1;*Vp_
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  Eamcu*
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  f:n
System.out.println();B8:Fz
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  L("Oj
public static void main(String[] args) {{Tq%c
play(10, 7);sK.DT\
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  y"[e
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  %WF\j
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  9p*`
3.抽象方法可以是native?可以是同步的吗?(Core Java)?H
答:都不能。e;M
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  x
4.JDBC,Hibernate分页怎样实现?(JDBC)&"
答:方法分别为:jR
1) Hibernate的分页:sKTnK7
Query query = session.createQuery("from Student");P)*
query.setFirstResult(firstResult);//设置每页开始的记录号UIgRn(
query.setMaxResults(resultNumber);//设置每页显示的记录数*{@
Collection students = query.list();F]0ZEa
2) JDBC的分页:根据不同的数据库采用不同的sql分页语句p7wV
例如: Oracle中的sql语句为: "SELECT * FROM (SELECT a.*, rownum r FROM TB_STUDENT) WHERE r between 2 and 10" 查询从记录号2到记录号10之间的所有记录}
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  r4h
5.JDO是什么?"/;|8
答:JDO是java data object的简称,是Java对象持久化的新的规范,JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS),JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。Fg
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  2
6.请写出spring中I0C的三种实现机制。(Spring)abo
答:三种机制为:通过setter方法注入、通过构造方法注入和接口注入。55
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  O
7.EJB的事务是如何实现的?何时进行回滚;(EJB)Q#Iou
答:是通过使用容器或Bean自身管理事务的;5pm
当产生一个系统异常时容器就自动回滚事务。F*1
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  U
8.写一个方法1000的阶乘。(C++)JRV5A
答:C++的代码实现如下:a
#include <iostream>Y
#include <iomanip>c
#include <vector>;+`Z'/
using namespace std;+
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  Fs[$
class longint {[n}q
private:dX| R
vector<int> iv;5
public:niXe#
longint(void) { iv.push_back(1); }:s]D9"
longint& multiply(const int &);U70;76
friend ostream& operator<<(ostream &, const longint &);c4Blp5
};qN
ostream& operator<<(ostream &os, const longint &v) {J1
vector<int>::const_reverse_iterator iv_iter = v.iv.rbegin();nv
os << *iv_iter++;u7d
for ( ; iv_iter < v.iv.rend(); ++iv_iter) {:EcdV
os << setfill('0') << setw(4) << *iv_iter;b C
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  mp,*1|
return os;h
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  HKo
longint& longint::multiply(const int &rv) {6(:
vector<int>::iterator iv_iter = iv.begin();j#XJ
int overflow = 0, product = 0;}|)
for ( ; iv_iter < iv.end(); ++iv_iter) {I-;
product = (*iv_iter) * rv;Na,;z;
product += overflow;G<Re.
overflow = 0;W_
if (product > 10000) {pUhEW
overflow = product / 10000;6z5xA
product -= overflow * 10000;'uE/7
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  =.Wi(
*iv_iter = product;Zi`_NL
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  A4
if (0 != overflow) {d4)]
iv.push_back(overflow);Tx]CaI
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  U
return *this;Wc
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  {~<h
int main(int argc, char **argv) {[
longint result;e
int l = 0;sT-orG
if(argc==1){--!
cout << "like: multiply 1000" << endl;OVL
exit(0);}
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  F^B7~d
sscanf(argv[1], "%d", &l);l$,W
for (int i = 2; i <= l; ++i) {0
result.multiply(i);%]
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  !
cout << result << endl;;:C
return 0;{
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  N]C
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  u1dw
9.怎么处理XML的中文问题;(XML)*t,*
答:示例代码如下:Iqc
package xml;74B
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ~CKc?0
import javax.xml.parsers.DocumentBuilder;@ uZ
import javax.xml.parsers.DocumentBuilderFactory;cv (
import javax.xml.transform.OutputKeys;,:>O?:
import javax.xml.transform.Transformer;T"q\nx
import javax.xml.transform.TransformerFactory;+S
import javax.xml.transform.dom.DOMSource;]KyM'a
import javax.xml.transform.stream.StreamResult;~
import org.w3c.dom.Document;&wsb}i
import org.w3c.dom.Element;,f
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  )
public class DOMTest {>3YZG]
private String outFile = "c:\\test.xml";=]
©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  vDK
public static void main(String args[]) {o;JZ5N
DOMTest test = new DOMTest();3$Kd
try {©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  K
DocumentBuilder builder = DocumentBuilderFactory.newInstance()47
.newDocumentBuilder();!+
Document doc = builder.newDocument();L^xCH)
Element root = doc.createElement("Tarena");m
Element zhang = doc.createElement("张");0S
zhang.appendChild(doc.createTextNode("我是张丽芳"));1^
root.appendChild(zhang);*nY
doc.appendChild(root);b
Transformer transformer = TransformerFactory.newInstance()u_
.newTransformer();H^TwiP
//设置xml的编码E7@
transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");X{?
//设置缩近格式nI*TI
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); j4anR
transformer.transform(new DOMSource(doc), I
new StreamResult(test.outFile));ndmlX
} catch (Exception e) {_*]|
System.out.println(e.getMessage());B
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  ,i_r
}©达内IT技术论坛—中国人学Java、学C++、学C#/.Net、学软件、学IT的地方 -- 达内科技论坛  [

[size=small][/size]
分享到:
评论

相关推荐

    Android 面试题集

    Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android ...

    2022最新Android中高级面试题合集.pdf

    这篇2022年更新的Android中高级面试题合集涵盖了Java基础、JVM、Android常见面试问答以及Kotlin相关内容。这里我们将详细探讨Java基础中的静态内部类与非静态内部类、多态的理解与应用。 首先,静态内部类和非静态...

    java常见面试题合集

    以下是一些基于“java常见面试题合集”的相关知识点: 1. **基础语法**: - 类与对象:理解类的定义、对象的创建与访问权限。 - 继承与多态:掌握单一继承和接口的多实现,以及方法的重写和重载。 - 封装与抽象...

    春招必备Java面试题合集2023更新

    春招必备Java面试题合集2023更新春招必备Java面试题合集2023更新春招必备Java面试题合集2023更新春招必备Java面试题合集2023更新春招必备Java面试题合集2023更新春招必备Java面试题合集2023更新春招必备Java面试题...

    2023最新JAVA面试题集

    2023年最新版--Java+最常见的+200++面试题汇总+答案总结汇总 阿里百度美团面试题合集 大数据面试题 100道 多线程面试59题(含答案) 最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 ...

    各大IT公司面试题集

    "各大IT公司面试题集"包含了多家知名企业的历年面试题目,这些题目覆盖了C、C++、JAVA、网络等多个核心领域,旨在帮助求职者充分准备,提升自己的竞争力。以下是针对这些知识点的详细解析: 1. **C语言**:C语言是...

    骆昊JAVA面试题全集2018博客文章整理

    【Java面试题全集2018博客文章整理】是由知名技术专家骆昊在CSDN上发表的一系列Java面试题的集成,旨在为学习者和面试者提供高质量的参考资料。该系列文章针对网络上流传的《Java面试题大全》中存在的问题进行了修订...

    java面试题集,微软面试题集,IBM面试题集,MBA面试题集

    Java面试题集: Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高生产力、可移植性、安全性和性能。在Java面试中,常见的知识点包括但不限于:基础语法(如类、对象、接口、继承、多态)、异常处理、...

    [Android实例] 面试题集

    android[Android实例] 面试题集[Android实例] 面试题集[Android实例] 面试题集[Android实例] 面试题集[Android实例] 面试题集[Android实例] 面试题集[Android实例] 面试题集[Android实例] 面试题集[Android实例] ...

    世上最全的Java面试题合集

    Java作为世界上最受欢迎的编程语言之一,其面试题的广度和深度都反映了开发者们需要掌握的知识范围。这个“世上最全的Java面试题合集”无疑是准备Java面试者的宝典,它涵盖了各种常见问题和一些深入的技术细节。下面...

    【笔试面试题】华为校园招聘笔试面试题合集

    【笔试面试题】华为校园招聘笔试面试题合集 说明:华为校园招聘合集,各个岗位的的笔试题,非常有用 (goodbookisgoodbook) 文件列表: 华为校园招聘笔试面试题合集(0,-03-13) 华为校园招聘笔试面试题合集\2012年最全的...

    java面试题集,看你能回答出几个

    java面试题集,看你能回答出几个 java面试题集,看你能回答出几个

    Java 面试题全集

    在面试准备中,掌握这些基础知识是至关重要的,它们能帮助面试者展示自己的编程能力和对Java语言的熟练应用。而Java技术面试题集的复习,有助于加深对这些知识点的理解和记忆,从而在面试中表现出色。

    硬件工程师面试题集(含答案)

    "硬件工程师面试题集(DSP,嵌入式系统,电子线路,通讯,微电子,半导体)" 通过对给定的文件信息,我们可以生成以下知识点: 1. 硬件工程师面试题集 * Setup 和 Hold 时间:Setup Time 用于测试芯片对输入信号...

    C#经典面试题合集(1-6部)

    C#经典面试题合集,包括了从基础到高级的各类问题,是检验和提升C#技能的重要资源。 在C#面试中,常见的话题涵盖了以下几个主要方面: 1. **基本语法**:面试通常会从语言基础开始,如变量声明、数据类型、运算符...

    面试题集关于java和。net的面试题集

    【标题】:“面试题集关于java和。net的面试题集” 这是一份涵盖了Java和.NET平台核心概念和技术的面试题集,旨在帮助求职者在准备技术面试时,全面掌握这两个领域的关键知识点。 【描述】:“自己看看吧,很好用...

    Java面试题全集(上)(中)(下)合集

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,包括基础语法、面向对象、集合框架、多线程、网络编程、IO流、异常处理、JVM内存模型、设计模式、数据库操作、Spring框架、JavaEE技术以及算法与...

    Java面试题集(最全版).pdf

    《Java面试题集(最全版).pdf》是一份全面涵盖Java相关技术及面试知识点的综合资料,旨在帮助Java开发者和求职者准备面试,提升专业技能。这份文档分为多个章节,涉及不同领域的知识,包括技巧篇、智力篇、Java基础、...

    面试题全集(周瑜).pdf

    Java基础知识点总结 Java基础知识点总结 以下是Java基础知识点的总结,涵盖了Java语言的基本概念、Java虚拟机(JVM)、Java集合框架、Java多线程编程、Java异常处理、Java反射机制、Java IO流、Java网络编程、Java...

    大公司的Java面试题集

    大公司的Java面试题集 大公司的Java面试题集  第一,谈谈final, finally, finalize的区别。  final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一...

Global site tag (gtag.js) - Google Analytics