各种面试题

来源:互联网 发布:矢量图软件coreldraw 编辑:程序博客网 时间:2024/05/16 15:24
1 String和StringBuffer有什么区别?int和Integer有什么不同,float f= 3.14是否正确

2 异常(Exception)分几种类型?有什么区别?写出几个常见异常

3 写出几种常见的java数据结构和特点(List,set,map等)

4 下列两个方法有什么区别

Public synchronized void method1(){}

Public void method2(){

Synchronized (obj){}

}

5 public class Test{

public static void so(String[] name){

String temp = name[0]

Name[0]=name[1];

Name[1] =temp;

}

Public static void so(string name(),String name1){

String temp=name0

Name0=name1;

Name1=temp;

}

Public static void main(String[] arg){

String[] name = new String[]{“mike”,”lily”};

String name0=”mike”;

String name1 = “lily”;

So(name);

System.out.println(name[0]+”,”+name[1]);

So(name0,name1);

System.out.println(name0+”,”+name1);

}

写出结果

6以下数据库操作的程序片段如何改进会更好?

Try{

Class.forNmae(“com.mysql.jdbc.Driver”);

Connection conn=DriverManager.getConnection(“jdbc:mySql://localhost/test”,”root”,

Statement stmt = conn.createStatement();

String sql=”select* from t_User where username=”””+name

+””and password =’’’+password+””;

ResultSet rs = stmt.executeQuery(sql);

If(rs.next()){

System.out.println(“User Name and password is correct”);

}else{

System.out.prinln(“User Name and password pair is invalidate”)

}

}catch(Exception e){

e.printStactTrace():

}

6 请问下列程序运行输出结果是多少?

Public static void main(String[] afsaf){

List list1;

List list2;

List1 = new List();

List2 = list1;

List1.add(new Object());

System.out.println(list2.size());

}

数据库orcacle

1从product表中取出price大于9.99的前100行数据
SELECT * FROM product WHERE rownum <=100 and price> 9.99
2. 接上题,要求取出满足条件的第100行至200行数据
SELECT *
  FROM ( SELECT ROWNUM RN, A.* FROM PRODUCT A)
 WHERE RN >= 100
   AND RN <= 200
   AND PRICE > 9.99
3 获取数据库当前时间,并以yyyy-mm-dd HH:mm:ss的格式输出
select to_char( sysdate , 'yyyy-mm-dd hh24:mi:ss' ) from dual;

SQL> select to_char(sysdate, 'yyyy-mm-dd amhh:mi:ss') from dual;
 
TO_CHAR(SYSDATE,'YYYY-MM-DDAMH
------------------------------
2012-12-18 下午02:37:23

数据中的索引和外键是什么意思?有什么用途?

4 下列Sql条件语句中的列都建有恰当的索引,但执行速度非常慢,说出原因并改写

SELECT * FROM XXX WHERE substr(value,1,4)=’5378’
SELECT * FROM xxx WHERE nummber LIKE '5378%'
SELECT * FROM xxx WHERE value/30<1000
SELECT * FROM xxx WHERE nummber < 1000* 30

SELECT * FROM xxx WHERE convert(char(10).date,112) = ‘1999201’
SELECT * FROM xxx WHERE datevalue=to_date ('19990201' ,'yyyymmdd' )

Web 表现层

1 javascript 如何效验一个字符串是否为数字?举例说明

2 如何动态改变DIV对象的显示内容?

3 如下

<script type = “text/javascript”>

Runction lop(){

For(int i=0;i<new Date().getMonth();i++)

{<%System.out.println(“@_@”)%>}

}

Lop();

</script>

请问此代码是否有问题,@_@输出几次

4如何判断页面中的一个checkbox是否被选中?如何禁用它?如何判断一个input的值是否为空

5 下面一个css 样式文件的片段,写出每种定义方式的含义:

Td{width:100%;}

Td{width:100%;}

#td{width:100%}

Td input{font-size:20pt}

6 rward和redirect的区别

7 jsp中动态 INCLUDE与静态INCLUDE的区别

8 jsp页面中 <%%> <%! %>, <%=%> <%--  --%>有什么区别

9 Form变淡的那个属性是表单数据的传送方式(GET/POST)?并简要说明get/post方式有何区别

10 指出/images/123.jpg与images/123.jpg两种写法有什么区别

11 列出你所用的HTml元素

二 进阶(Optional):

-------此部分面试题可选

应用部署与优化

1 写出设置java进程占用内存的出示值和最大值的方法,如 java-Xss512k

2 写出几个Linux/unix系统的常用命令

三其他 必做题

1请写出几种你知道的设计模式

2 列举几个你常去的网站,类型不限,写中文名亦可

3列举最近一年来你读过的技术类图书、文章

 
1写出HttpServletRequest和HttpSession的几个主要方法,并且说明用法

2用代码或者文字描述模板方法模式,代理模式,门面模式

3解释下面几个原则

开闭原则,里氏替换原则,依赖倒转原则,迪米特法则

4描述Spring的IOC原理,并用代码与xml文件描述

5 Hibernate的几个常用的类及其作用(可以用代码或者文字说明)

6说明公司,部门,职位,员工三者及其自身之间的关系,并用UML类图来表示出他们之间的关系

7取出一个字符串中连续有相同字母的最大个数及该字母

例:字符串:aaaddxxxxxxxdddxxx返回值x,7

如果最大位数有多个,则返回第一个,列:字符串:aaabbb  返回值a,3

字符中取值范围(a-z)和(Az)之间,且最大字符位数为40

要求:请考虑代码执行效率并注意编码的风格

8请对一下场用的名词进行解释,并简要说明其用途

1) 数据库连接池

2) JTA与事物

3) 容器

4) JNDI  命名和目录接口 

5) SessionBean

9谈谈你的对springMVC或Struts的理解:使用方法,数据流程,调用关系等

要列出主要使用java类型

10写出一些你常用的eclipse快捷键并说明用法

11写出一些java web系统中,你唱用的xml配置文件及其用途

12员工星表Tablex有。。。。。。

12.1请写出SQL,找出所有姓张的员工,并按年龄从小到大排列

12.2取出BB岗位考评不合格的员工

12.3通过等值联接,取出Name.position,score请写出sql即输出结果

12.4通过外联,取出每个员工的Name,position,score请写出Sql即输出结果

12.5李四的年龄纪录错了,应该是21,请写SQL,更具主键进行更新

12.6请写SQL,zhaochu Tablex中没有考评的记录

12.7写出,查询税务事业部,的本下级部门以及所有下级的下级不蒙,使用start with

12.88解释下面几个oracle函数的意义和用法或写出一个实例SQL

Decode,nvl,case,with,intersect,minus,substr,having

 

笔试试卷(Java 语言部分)

姓名:                

联系方式:                                

1. which won’t cause a compiler warning or error?(多选)

a) float f = 1.3;

b) char c = ‘a’;

c) byte b = 257;

d) boolean b = null;

e) int i = 10;

2请选择下面这段代码的输出结果?

int i = 0;

switch (i) {

case 0:

System.out.println("zero");

case 1:

System.out.println("one");

case 2:

System.out.println("two");

break;

case 3:

    System.out.println("three");

}

1) zero

2) zero,one

3) zero,one,two

4) zero,one,two,three

3.  public class Test{ 

   private static int j=0; 

   public static boolean methodB(int k){ 

     j+=k; 

    return true; 

   } 

   public static void methodA(int i){ 

    boolean b; 

    b=i>10&methodB(1); 

    b=i>10&&methodB(2); 

     } 

    public static void main(String args){ 

     methodA(0); 

17) 

     } 

     } 

   what is the value of j at line 17

1)

2)

3)2

4)3

4. If we execute the code below with “java Test Red Green Blue”, what is the result? 

public class Test{ 

public static void main(String[] args){ 

    String  foo=args[1]; 

    String  bar=args[2]; 

    String  baz=args[3]; 

    } 

what is the value of baz? 

A. baz has value of "" 

B. baz has value of null 

C. baz has value of "Red" 

D. baz has value of "Blue" 

E. baz has value of "Green" 

F. the code does not compile 

G. the program throw an exception

5. 请选择下面这段代码的输出结果?

1)public class Test{ 

2)public static void main(String[] args){ 

3) class Foo{ 

4) public int i=3; 

5) } 

6)Object o=(Object)new Foo(); 

7) Foo foo=(Foo)o; 

8)System.out.println(foo.i); 

9) } 

10) } 

A.compile error at line 6 

B.compile error at line 7 

C.compile error at line 8 

D.print out 3

6. 

int index=1; 

  String[] test=new String[3]; 

  String foo=test[index]; 

  what is the result of foo? 

   A. ""   B.null    C.throw a Exception   D.not compile

7. 下面的五个选择中哪两个描述是正确的?(多选)

  A. static inner class requires a static initializer 

  B. A static inner class requires an instance of the enclosing class 

  C. A static inner class has no reference to an instance of the enclosing class 

  D. A static inner class has accesss to the non-static member of the other class 

  E. static members of a static inner class can be referenced using the class 

     name of the static inner class

8. 请选择下面这段代码的输出结果? 

class A{ 

   public int getNumber(int a){ 

    return a+1; 

    } 

    } 

   class B extends A{ 

     public int getNumber(int a, char c){ 

     return a+2; 

    } 

    public static void main(String[] args){ 

     B b=new B(); 

     System.out.println(b.getNumber(0)); 

    } 

   }       

   

  A. compilation succeeds and 1 is printed 

  B. compilation succeeds and 2 is printed 

  C. An error at line 8 cause compilation to fail 

  D. An error at line 14 cause compilation to fail

9. class ExceptionTest{ 

  public static void main(String args[]){ 

   try{ 

methodA(); 

   catch(IOException e){ 

System.out.println("caught IOException"); 

   

   catch(Exception e){ 

   System.out.println("caught Exception"); 

    

  } 

}

If methodA() throws a IOException, what is the result?

If we change the sequence of catch,whats the result?

10. 请写出下面这段代码的输出结果?

public class Test{ 

public static void main(String[] args){ 

   StringBuffer a=new StringBuffer("A"); 

   StringBuffer b=new StringBuffer("B"); 

   operate(a,b); 

   System.out.pintln(a+","+b); 

public static void operate(StringBuffer x, StringBuffer y){ 

    x.append(y); 

    y=x; 

11. 请写出下面这段代码的输出结果?

class Shape{

  Shape(int i){

    System.out.println("This is Shape" + i);

  }

}

public class Circle extends Shape{

  static Shape s1 = new Shape(1);

  Shape s2 = new Shape(3);

  Circle(int i){

    super(i);

    System.out.println("This is Circle" + i);

  }

  public static void main(String args[]){

    Circle c1 = new Circle(2);

  }

}

12. 数组有没有length()这个方法? String有没有length()这个方法?

JAVA软件开发笔试题目 

答题人姓名:            答题时间:2011年  月  日

一、 JAVA部分

1、 QUESTION NO: 1

public class Test {

public static void changeStr(String str){

str="welcome";

}

public static void main(String[] args) {

String str="1234";

changeStr(str);

System.out.println(str);

}

}

Please write the output result :[    ]

2、 QUESTION NO:2

public class Test {

static boolean foo(char c) {

System.out.print(c);

return true;

}

public static void main( String[] argv ) {

int i =0;

for ( foo('A'); foo('B')&&(i<2); foo('C')){

i++ ;

foo('D');

  }  

  }  

}  

What is the result?    [       ]

A. ABDCBDCB

B. ABCDABCD

C. Compilation fails.

D. An exception is thrown at runtime.

3、 QUESTION NO: 3

public class Outer{

public void someOuterMethod() {

// Line 3

}

public class Inner{}

public static void main( String[]argv ) {

Outer o = new Outer();

// Line 8

}

}

Which instantiates an instance of Inner?   [    ]

A. new Inner(); // At line 3

B. new Inner(); // At line 8

C. new o.Inner(); // At line 8

D. new Outer.Inner(); // At line 8//new Outer().new Inner()

4、 QUESTION NO: 4

Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?       ]

A. The encodeURL method of the HttpServletRequest interface.

B. The encodeURL method of the HttpServletResponse interface.

C. The rewriteURL method of the HttpServletRequest interface.

D. The rewriteURL method of the HttpServletResponse interface.

5、 QUESTION NO: 5   

Which two are equivalent? (Choose two)  [    ]

A. <%= YoshiBean.size%>

B. <%= YoshiBean.getSize()%>

C. <%= YoshiBean.getProperty("size")%>

D. <jsp:getProperty id="YoshiBean" param="size"/>

E. <jsp:getProperty name="YoshiBean" param="size"/>

F. <jsp:getProperty id="YoshiBean" property="size"/>

G. <jsp:getProperty name="YoshiBean" property="size"/>

6、 并发中,设置当前线程后台运行的方法是  )

A.setBackground(Object)

B.setDaemon(true)

C.isBackground(Object)

D.isDaemon(true)

 

7、 假定变量x=8的类型是int(它可以存放着负值),则哪些方式能正确地使x的值翻倍,请选出4个正确的答案。(     )

A.x<<1;

B.x=x*2;

C.x*=2;

D.x+=x;

E.x<<=1;

8、 下面的包装类中,有两个不是由Number派生的,而直接扩展了Object类,请选出。(     )

A.Boolean

B.Byte 

C.Character

D.Short

F.Integer

G.Double

9、 以下哪个不是CSS的选择符?  

A.对象选择符

B.类选择符

C.ID选择符

D.包含选择符

10、 下列哪些集合实现是线程安全的?请选出2个正确的答案。(    )

A.ArrayList

B.HashTable

C.Vector

D.HashMap

E.LinkedList

11、 OverloadOverride的区别Overloaded的方法是否可以改变返回值的类型?     (答案写在背面标明题号)

12、 abstract class和interface有什么区别?   (答案写在背面标明题号)

13、 请列举几个你熟悉的设计模式,并简单描述你的理解。     

(答案写在背面标明题号)

14、 面向对象编程语言有哪几个主要特性?并简单说明你对每个特性的理解

      (答案写在背面标明题号)

15、 请用冒泡排序实现一个对一列数字的排序:

  {2,10,3,50,78,22,34,30,65}数字是动态输入的.请以类的形式实现.

      (答案写在背面标明题号)

二、 数据库部分

1. 在数据库中有一名为my_addr的表,其中包含一名为addr_name的列,其列属性为varchar(40),

请问如何统计此表addr_name列中以'CQ'开头的记录数:

答案:select count(*) from my_addr where addr_name like 'CQ%'

2. 在数据库中名为my_salary的表,执行select * from my_salary之后输入内容如下:

NAME         SAL       

----------      ----------

a                6.23

b                6.23

c                6.23

-                6.23

-                6.23

-                6.23

请问执行select count(name) from my_salary之后输出的结果为多少:

A. 

B. 

C. 输出结果为空

D. 以上答案都不对

答案:

3. 通过数据库客户端查询程序向数据库系统正确提交了一个将执行很长时间的查询语句之后,客户端查询程序异常关闭,则在数据库系统中正在执行的这个语句将

A. 被数据库管理系统强行中止执行。

B. 继续执行、直到结束。

C. 执行一段时间后,自行退出。

D. 以上答案都不对

答案:

4. 以下选项中全部属于事务控制的语句是:

A. Select、update、create indexBegin Tran

B. Begin、Continue、delete

C. Rollback、commit

D. 以上答案都不对

答案:

5. 数据库索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它的主要目的是:

A. 增加数据插入速度

B. 增加数据删除速度

C. 提高数据查询速度

D. 保证数据唯一性

E. 增加数据安全性

答案:

6. 若数据库事务T对数据对象A加上X锁,则以下描述哪个正确? 

A. 只允许T修改A,其它任何事务都不能再对A加任何类型的锁。

B. 只允许T读取A,其它任何事务都不能再对A加任何类型的锁。 

C. 只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁。

D只允许T修改A,其它任何事务都不能再对AX锁。

答案:

7. 在DB2 UDB数据库中,为了加快完成表对表大批量数据插入操作,可以采用的方法:

A. 先删除被插入表上的优化查询索引再批量插入数据.

B. 在特定情况下,可以关闭被插入表的日志再进行批量插入操作.

C. 在特定情况下,可以将被插入表的锁定粒度指定为表级锁再批量插入数据.

D. 以上答案均不正确.

答案:

8. 在DB2 UDB分区数据库中分区表DW_CUST_MM的列serv_id 为主键,其属性为decimal(9,0),另一张分区表DW_SERV_MM的serv_id为唯一索引,两张表的记录数均接近1亿条,针对以下SQL语句,请从SQL优化的角度选择DW_SERV_MM表比较合理的建表语句.

   Select count(*),a.MKT_COMM_AREA_ID from DW_SERV_MM a left join DW_CUST_MM b on a.serv_id=b.serv_id group by a.mkt_comm_area_id

A. 

CREATE TABLE DW_SERV_MM  

  (

     SERV_ID DECIMAL(9,0) , 

     MKT_COMM_AREA_ID DECIMAL(9,0) , 

     EXCHANGE_ID DECIMAL(9,0) 

  )   

PARTITIONING KEY (MKT_COMM_AREA_ID)  USING HASHING  

IN TBS_ODS_01

B.

CREATE TABLE DW_SERV_MM  

  (

     SERV_ID DECIMAL(9,0) , 

     MKT_COMM_AREA_ID DECIMAL(9,0) , 

     EXCHANGE_ID DECIMAL(9,0) 

  )   

PARTITIONING KEY (SERV_ID)  USING HASHING  

IN TBS_ODS_01

C.

CREATE TABLE DW_SERV_MM  

  (

     MKT_COMM_AREA_ID DECIMAL(9,0) , 

     SERV_ID DECIMAL(9,0) , 

     EXCHANGE_ID DECIMAL(9,0) 

  )   

IN TBS_ODS_01

D.以上答案都正确

答案:

9. 在关系数据库中出于性能考虑一般都是避免使用IN子名的,请写出使用EXISTS对以下SQL语句进行适当优化后的语句:

  SELECT * 

  FROM EMP 

  WHERE EMPNO > 0

  AND DEPTNO IN (SELECT DEPTNO 

  FROM DEPT 

  WHERE LOC = ‘MELB’)

  答案:

10. 请简单说明ORACLE绑定变量是什么?绑定变量有什么优缺点?

答案: 

11. 什么是事务 (transaction) ?

答案: 

 
 
1、你认为jsp servlet 开发与框架开发有什么不同 ?
2、写几个 request session 中得常用方法,简单说明功能。
3、写几个常用得jstl的核心标签,并简单说明功能。
4、写几个常用得javascript方法,并简单说明功能。
5、用你的理解描述一下hibernate   它解决了什么问题? 它有什么优点缺点?
6、描述一下mvc,结合一个实际的 mvc框架是如何实现的(struts 1 2 springmvc  webwork
7spring hibernate整合后带来哪些好处?
8、简述一下openSessionInView得原理,以及优缺点。
9、写几个 你用过得 annotation @ ),并简单描述一下他们的作用。
10、平时用什么IDE (比如 eclipse netbeans),使用哪些快捷键?
11、平时开发中使用哪些辅助工具?
12、你平时都去哪些技术论坛,方便的话留下 用户名(id ,登录名称)。
13、软件业最近发生了那些事?请根据你心目中的大小排序列出。

机试部分

使用框架编写一个简单功能要求必须使用spring和hibernate,配置方式使用annotation或xml,应用annotation配置附加10分。

mvc框架可选择:

Struts1

Struts2

SpringMVC3(有高附加分)

功能要求:

1. 用户登录

 

2. 用户注册

 

3. 用户修改密码

 

4. 用户查询

 

5. 用户删除

界面效果可参照图示(以功能作为主要评分标准),要求如下:

1. 用户输入用户名及密码登录,登录后跳转至用户列表页面。 

2. 未注册用户需要进行注册,注册后直接跳转至用户列表页面。

3. 用户列表页面中包含修改密码、用户查询及用户删除功能。