微信

使用微信服务,更方便

职友集>Java面试题 > JAVA程序员面试题

JAVA程序员面试题

2015-06-24 06:30:01 阅读( 88 )

1939人 收藏本页

标签:Java面试题

1、数据库
表a和表b具有完全相同的结构,主键为indexid。写出一个sql语句把表b中不存在而表a中存在的数据插入到表b中。
2、javascript部分
页面中有一个名称都为unitprice的type=text对象。要求输入的数据不能为空,写一个函数实现该功能,如果为空时给出提示。
3、JSP部分
①session中存储一个String变量,变量名称为studentname,写出在jsp中如何得到这个session变量的值的语句。
②在jsp中引用使用来引用javabean.
Ⅰscope的值有哪些,这些值的区别是什么?
Ⅱ不同的jsp页面中引用javabean时,id能否相同,如果能相同,对scope的值有什么要求?
4、JAVA部分
①输入一个维数,输出以下形式的矩阵和数列,以维数n=4为例:
0000
0111
0122
0123
②写出下面这段程序的运行结果
int   a=2,b=3,c=1
a+=–b+c;
c-=b+a++;
System.out.println(“a=”+a+”,b=”+b+”,c=”+c);
5、有一个Vector对象,其中每一个元素都是一个String对象,请用for循环或while循环输出Vector中的元素,要求格式为:”第i个元素为:aaa”
6、有一个HashMap其中key为String对象,value为Integer对象,写一个方法打印出此Map中的所有键值   对形如   key–value
7、有一个String   str=”001,A001;002,A002;003,A003″的串,写一个方法,把此串存入列   一个HashMap或Hashtable中,说明:如001为key,A001则为value。
8、面向对象概念:
①面向对象基本特征
②什么叫多态和重载,它们有什么区别?
③用你自己的话描述你理解的j2ee的本质特征是什么?
第一题:  写一个方法,实现删除链表中某个节点的操作(其他条件自己假设,补充)
public void delete()
{
if(front>=rear)
{
s[front] =0;
front–;
System.out.println(“\ndelete successful”);
}
else
{
System.out.println(“the link is empty ,can’t delete”);
}
}
第二题:  写一个方法,实现堆栈的入栈操作 (其他条件自己假设,补充)
public class stack{
private int[] s;
int top,bottom;
public stack(int size){
s = new int[size];
top = size-1;
bottom = size-1;
System.out.println(“Size of the stack is:”+size);
}
public boolean isEmpty()
{
if(top==s.length-1)
return true;
else
return false;
}
public void push(int n)
{
if(top<0)
{
System.out.println(“The stack is full now,you can’t push your data!”);
return;
}
else
{
s[top] = n;
top–;
return ;
}
}
public void pop()
{
if(top>=s.length-1)
{
System.out.println(“The stack is empty,Can’t pop now!”);
return;
}
else
{
top++;
}
}
public void print()
{
System.out.println(“State of the stack:”);
for(int i=s.length-1;i>top;i–)
{
System.out.print(s[i]+”  ”);
}
}
public static void main(String[] a)
{
stack st = new stack(5);
System.out.println(“List of the action to the stack:”);
System.out.println(“push(3):”);
st.push(3);
st.print();
System.out.println(”  ”);
System.out.println(“push(6)”);
st.push(6);
st.print();
System.out.println(”  ”);
System.out.println(“push(10)”);
st.push(10);
st.print();
System.out.println(”  ”);
System.out.println(“pop()”);
st.pop();
st.print();
System.out.println(”  ”);
}
}
第三题: 使用任意排序算法,写一个排序示例程序
import java.io.*;
class SelectionSort{
public static void main(String[] args){
int[] a={4,54,8,7,6,98,42,};
sort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+”   “);
}
System.out.println(“”);
}
static void sort(int[] data){
int next, indexOfNext=0,n;
for (next=0;next<data.length-1;next++)
{
indexOfNext=min(data,next,(data.length)-1);
swap(data,indexOfNext,next);
}
}
static int min(int[] data,int start,int end){
int indexOfMin=start;
for (int i=start+1;i<=end;i++)
if(data[i]<data[indexOfMin])
indexOfMin=i;
return indexOfMin;
}
static void swap(int[] data,int first,int second){
int temp;
temp=data[first];
data[first]=data[second];
data[second]=temp;
}
}
第四题:
编写一个servlet,把servlet源码和此servlet在服务器上的配置文件web.xml作为附件发送到指定的邮箱
servlet的功能要求:记录访问该servlet的客户端的ip和访问时间,把记录写入client_ip.log文件。 client_ip.log里的格式大致如下:
9:36 2005-4-8 192.168.0.1
9:36 2005-4-8 127.0.0.1
获取客户的IP地址
第五题
数据库中有两个表tableA和tableB,他们都有一个int型的字段id,请写出一个sql语句,实现查询id在tableA中有,而tableB中没有的记录
例如tableA中有如下记录
—————————-
tableA.id tableA.name
3  Mary
4  Jack
5  Lily
—————————-
tableB.id
3
5
查询的结果应该是
—————————-
tableA.id tableA.name
4  Jack
select *
from tableA
where not exists
(select *
from tableB
where tableA.id=tableB.id)
第六题   简述jsp和servlet的联系
Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高。
第七题   什么是sql注入漏洞,采用什么方法来堵住sql注入漏洞
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入
第八题:简述你对xml的认识,举例说明xml能干什么,应该怎么做
XML是Extensible Markup Language的缩写,意思是可扩展置标语言没有于置标电子文档,使起数据具有结构化的置标语言。在我目前浅显的认识里:,
XML 是用来传递数据的 ,
XML 让这些数据有了结构 — 一个树型结构  ,
xml 有全套的操作这种结构的方法
xml 规范(或者说的实际点,xml parser)帮你确定你创建的字符串是合法的
xml 规范(或者说的实际点,xml parser)中有办法验证这个合法性
对于XML能用来做什么,我觉得XML可以用来下面几个方面
1:有利于开发灵活的web应用软件
使用XML来描述数据,可以使数据具有同意的组织结构,其他应用软件,对象,中间层和服务器都可以对使用XML描述的数据做进一步的处理。并可以提交到浏览器中让读者阅读
2:可以轻松的实现数据在web上发布
因为XML本身是纯文本格式的,它可以不做任何修改就和HTML文档一样在网络中传输。
3:有利于信息的集成
因为使用XML,可以把不同来源的结构化数据很容易地组织到一起。应用软件可以在中间层的服务器上对来自于后段数据库和其他的数据进行集成。最后,数据以XML格式发送到客户端或者是在其他服务器做进一步处理。
4:可以使用丰富的样式来显示数据
XML采用结构化的方式来组织数据,描述的是数据本身,不涉及到数据的表现形式。通常来说,使用CSS和 XSL以及XSLT为数据的显示提供分布的机制,也就是说数据的显示方式可以根据客户的要求制定。
5:可大大增强服务器的可伸缩性
XML将数据本身和数据的显示完全分离,从而可以在结构化的数据中嵌套数据的显示方式描述。这样,能尽可能地减少客户端与服务器之间的数据交换,减少服务器的工作量才能大大提高服务器的性能。
6:采用统一的XML文档格式来描述多种应用的数据
7:支持本地数据处理
因为XML文档中的数据格式是统一的,当客户受到数据后,便可以使用客户自己的应用软件来解析数据,并对数据进行进一步的编辑和处理。
8:可以使搜索变得更加简单和富有成效
采用统一的XML标识来组织来自不同数据库的数据,就可以在不了解数据库数据组织形式的情况下进行数据的检索。
9:可以实现数据的独立更新
10:开放式的标准
虽然XML的初衷是为了使具有不同结构的数据文件采用统一的XML格式 在Internet上传输,
第九题
介绍你做的一个项目,包括实现了什么功能,通过什么方法来实现(算法,逻辑结构…),怎么来保证它的安全和健壮性等.
(如果没有项目经验,可假设你要做一个OA系统,描述一下你怎么来实现它)
选做
第十题:
如何察看linux当前系统正在运行什么服务?
第十一题:
linux系统的用户帐号保存在那一个或哪几个文件里?
第十二题
简述MVC是什么
MVC是 Model-View-Controller 的简称,也就是 模型-视图-控制器
MVC用来处理验证、流程控制和更新应用程序的状态等问题。
Model(模型)
模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。
View(视图)
视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。
Controller(控制器)
控制器对用户的输入作出反应。它创建并设置模型。
1、数据库

表a和表b具有完全相同的结构,主键为indexid。写出一个sql语句把表b中不存在而表a中存在的数据插入到表b中。

2、javascript部分

页面中有一个名称都为unitprice的type=text对象。要求输入的数据不能为空,写一个函数实现该功能,如果为空时给出提示。

3、JSP部分

①session中存储一个String变量,变量名称为studentname,写出在jsp中如何得到这个session变量的值的语句。

②在jsp中引用使用来引用javabean.

Ⅰscope的值有哪些,这些值的区别是什么?

Ⅱ不同的jsp页面中引用javabean时,id能否相同,如果能相同,对scope的值有什么要求?

4、JAVA部分

①输入一个维数,输出以下形式的矩阵和数列,以维数n=4为例:

0000

0111

0122

0123

②写出下面这段程序的运行结果

int   a=2,b=3,c=1

a+=–b+c;

c-=b+a++;

System.out.println(“a=”+a+”,b=”+b+”,c=”+c);

5、有一个Vector对象,其中每一个元素都是一个String对象,请用for循环或while循环输出Vector中的元素,要求格式为:”第i个元素为:aaa”

6、有一个HashMap其中key为String对象,value为Integer对象,写一个方法打印出此Map中的所有键值   对形如   key–value

7、有一个String   str=”001,A001;002,A002;003,A003″的串,写一个方法,把此串存入列   一个HashMap或Hashtable中,说明:如001为key,A001则为value。

8、面向对象概念:

①面向对象基本特征

②什么叫多态和重载,它们有什么区别?

③用你自己的话描述你理解的j2ee的本质特征是什么?

第一题:  写一个方法,实现删除链表中某个节点的操作(其他条件自己假设,补充)

public void delete()

{

if(front>=rear)

{

s[front] =0;

front–;

System.out.println(“\ndelete successful”);

}

else

{

System.out.println(“the link is empty ,can’t delete”);

}

}

第二题:  写一个方法,实现堆栈的入栈操作 (其他条件自己假设,补充)

public class stack{

private int[] s;

int top,bottom;

public stack(int size){

s = new int[size];

top = size-1;

bottom = size-1;

System.out.println(“Size of the stack is:”+size);

}

public boolean isEmpty()

{

if(top==s.length-1)

return true;

else

return false;

}

public void push(int n)

{

if(top<0)

{

System.out.println(“The stack is full now,you can’t push your data!”);

return;

}

else

{

s[top] = n;

top–;

return ;

}

}

public void pop()

{

if(top>=s.length-1)

{

System.out.println(“The stack is empty,Can’t pop now!”);

return;

}

else

{

top++;

}

}

public void print()

{

System.out.println(“State of the stack:”);

for(int i=s.length-1;i>top;i–)

{

System.out.print(s[i]+”  ”);

}

}

public static void main(String[] a)

{

stack st = new stack(5);

System.out.println(“List of the action to the stack:”);

System.out.println(“push(3):”);

st.push(3);

st.print();

System.out.println(”  ”);

System.out.println(“push(6)”);

st.push(6);

st.print();

System.out.println(”  ”);

System.out.println(“push(10)”);

st.push(10);

st.print();

System.out.println(”  ”);

System.out.println(“pop()”);

st.pop();

st.print();

System.out.println(”  ”);

}

}

第三题: 使用任意排序算法,写一个排序示例程序

import java.io.*;

class SelectionSort{

public static void main(String[] args){

int[] a={4,54,8,7,6,98,42,};

sort(a);

for(int i=0;i<a.length;i++){

System.out.print(a[i]+”   “);

}

System.out.println(“”);

}

static void sort(int[] data){

int next, indexOfNext=0,n;

for (next=0;next<data.length-1;next++)

{

indexOfNext=min(data,next,(data.length)-1);

swap(data,indexOfNext,next);

}

}

static int min(int[] data,int start,int end){

int indexOfMin=start;

for (int i=start+1;i<=end;i++)

if(data[i]<data[indexOfMin])

indexOfMin=i;

return indexOfMin;

}

static void swap(int[] data,int first,int second){

int temp;

temp=data[first];

data[first]=data[second];

data[second]=temp;

}

}

第四题:

编写一个servlet,把servlet源码和此servlet在服务器上的配置文件web.xml作为附件发送到指定的邮箱

servlet的功能要求:记录访问该servlet的客户端的ip和访问时间,把记录写入client_ip.log文件。 client_ip.log里的格式大致如下:

9:36 2005-4-8 192.168.0.1

9:36 2005-4-8 127.0.0.1

获取客户的IP地址

第五题

数据库中有两个表tableA和tableB,他们都有一个int型的字段id,请写出一个sql语句,实现查询id在tableA中有,而tableB中没有的记录

例如tableA中有如下记录

—————————-

tableA.id tableA.name

3  Mary

4  Jack

5  Lily

—————————-

tableB.id

3

5

查询的结果应该是

—————————-

tableA.id tableA.name

4  Jack

select *

from tableA

where not exists

(select *

from tableB

where tableA.id=tableB.id)

第六题   简述jsp和servlet的联系

Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高。

第七题   什么是sql注入漏洞,采用什么方法来堵住sql注入漏洞

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入

第八题:简述你对xml的认识,举例说明xml能干什么,应该怎么做

XML是Extensible Markup Language的缩写,意思是可扩展置标语言没有于置标电子文档,使起数据具有结构化的置标语言。在我目前浅显的认识里:,

XML 是用来传递数据的 ,

XML 让这些数据有了结构 — 一个树型结构  ,

xml 有全套的操作这种结构的方法

xml 规范(或者说的实际点,xml parser)帮你确定你创建的字符串是合法的

xml 规范(或者说的实际点,xml parser)中有办法验证这个合法性

对于XML能用来做什么,我觉得XML可以用来下面几个方面

1:有利于开发灵活的web应用软件

使用XML来描述数据,可以使数据具有同意的组织结构,其他应用软件,对象,中间层和服务器都可以对使用XML描述的数据做进一步的处理。并可以提交到浏览器中让读者阅读

2:可以轻松的实现数据在web上发布

因为XML本身是纯文本格式的,它可以不做任何修改就和HTML文档一样在网络中传输。

3:有利于信息的集成

因为使用XML,可以把不同来源的结构化数据很容易地组织到一起。应用软件可以在中间层的服务器上对来自于后段数据库和其他的数据进行集成。最后,数据以XML格式发送到客户端或者是在其他服务器做进一步处理。

4:可以使用丰富的样式来显示数据

XML采用结构化的方式来组织数据,描述的是数据本身,不涉及到数据的表现形式。通常来说,使用CSS和 XSL以及XSLT为数据的显示提供分布的机制,也就是说数据的显示方式可以根据客户的要求制定。

5:可大大增强服务器的可伸缩性

XML将数据本身和数据的显示完全分离,从而可以在结构化的数据中嵌套数据的显示方式描述。这样,能尽可能地减少客户端与服务器之间的数据交换,减少服务器的工作量才能大大提高服务器的性能。

6:采用统一的XML文档格式来描述多种应用的数据

7:支持本地数据处理

因为XML文档中的数据格式是统一的,当客户受到数据后,便可以使用客户自己的应用软件来解析数据,并对数据进行进一步的编辑和处理。

8:可以使搜索变得更加简单和富有成效

采用统一的XML标识来组织来自不同数据库的数据,就可以在不了解数据库数据组织形式的情况下进行数据的检索。

9:可以实现数据的独立更新

10:开放式的标准

虽然XML的初衷是为了使具有不同结构的数据文件采用统一的XML格式 在Internet上传输,

第九题

介绍你做的一个项目,包括实现了什么功能,通过什么方法来实现(算法,逻辑结构…),怎么来保证它的安全和健壮性等.

(如果没有项目经验,可假设你要做一个OA系统,描述一下你怎么来实现它)

选做

第十题:

如何察看linux当前系统正在运行什么服务?

第十一题:

linux系统的用户帐号保存在那一个或哪几个文件里?

第十二题

简述MVC是什么

MVC是 Model-View-Controller 的简称,也就是 模型-视图-控制器

MVC用来处理验证、流程控制和更新应用程序的状态等问题。

Model(模型)

模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。

View(视图)

视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。

Controller(控制器)

控制器对用户的输入作出反应。它创建并设置模型。

来自IT公司面试手册

下一篇:Java语言程序设计测试题判断题部分

上一篇:JAVA高级程序员面试题 答案稍后补上 请用邮件订阅本站

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题