篇一:Java软件开发工程师面试题宝典
1、了解j2EE规范,选择几点进行重点消化。
2、异常分类,一般性异常和运行期异常,异常捕获。
3、了解spring mvc框架,和struts mvc框架的区别。
4、要对spring和ibatis非常熟悉,必须,熟知。
5、应适当关注需求分析和产品方面的知识。
6、了解多线程相关知识
7、了解java5以及java6新特性
8、熟悉linux相关命令操作。
9、工厂模式,简单工厂、抽象工厂的区别
10、动态代理模式
一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?
二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?
三、HASHTABLE, HASGMAQ,TreeMap区别
四、ConcurrentMap和HashMap的区别
五、Tomcat,apache,jboss的区别
六、GET POST区别
七、SESSION, COOKIE区别
八、Servlet的生命周期
九、HTTP 报文包含内容
十、Statement与PreparedStatement的区别,什么是SQL注入,如何防止SQL注入 十一、redirect, foward区别
十二、关于JAVA内存模型,一个对象(两个属性,四个方法)实例化100次,现在内存中的存储状态,
几个对象,几个属性,几个方法。
十三、谈谈Hibernate的理解,一级和二级缓存的作用,在项目中Hibernate都是怎么使用缓存的
十四、反射讲一讲,主要是概念,都在哪需要反射机制,反射的性能,如何优化 十五、谈谈Hibernate与Ibatis的区别,哪个性能会更高一些
十六、对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理
十七、线程同步,并发操作怎么控制
十八、描述struts的工作流程。
十九、Tomcat的session处理,如果让你实现一个tomcatserver,如何实现session机制
二十、关于Cache(Ehcache,Memcached)
二一、sql的优化相关问题
二二、oracle中 rownum与rowid的理解,一千条记录我查200到300的记录怎么查? 二三、如何分析ORACLE的执行计划?
二四、 DB中索引原理,种类,使用索引的好处和问题是什么?
二五、JVM垃圾回收实现原理。垃圾回收的线程优先级。
二六、jvm 最大内存设置。设置的原理。结合垃圾回收讲讲。
Java面试宝典
一. Java基础部分..................................................................................................................... 8
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? ...... 9
2、Java有没有goto? ....................................................................................................... 9
3、说说&和&&的区别。 ............................................................................................... 9
4、在JAVA中如何跳出当前的多重嵌套循环? .......................................................... 9
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 10
6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? ..................... 10
7、char型变量中能不能存贮一个中文汉字?为什么? ................................................ 10
8、用最有效率的方法算出2乘以8等於几? ............................................................. 10
9、请设计一个一百亿的计算器 ................................................................................... 11
10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
......................................................................................................................................... 12
11、"=="和equals方法究竟有什么区别? ................................................................. 12
12、静态变量和实例变量的区别? ............................................................................. 13
13、是否可以从一个static方法内部发出对非static方法的调用? ........................ 14
14、Integer与int的区别 .............................................................................................. 14
15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? ................................... 14
16、下面的代码有什么不妥之处? ............................................................................... 14
17、请说出作用域public,private,protected,以及不写时的区别 ........................ 15
18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
......................................................................................................................................... 15
19、构造器Constructor是否可被override? ................................................................ 16
20、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继
承具体类(concrete class)? 抽象类中是否可以有静态的main方法? ...................... 16
21、写clone()方法时,通常都有一行代码,是什么? ............................................. 16
22、面向对象的特征有哪些方面 ................................................................................. 16
23、java中实现多态的机制是什么? ......................................................................... 18
24、abstract class和interface有什么区别? ................................................................. 18
25、abstract的method是否可同时是static,是否可同时是native,是否可同时是
synchronized? .................................................................................................................. 20
26、什么是内部类?Static Nested Class 和 Inner Class的不同。 ........................... 20
27、内部类可以引用它的包含类的成员吗?有没有什么限制? ............................. 22
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可
以implements(实现)interface(接口)? ............................................................................ 22
29、super.getClass()方法调用 .......................................................................... 23
30、String是最基本的数据类型吗? ............................................................................ 23
31、String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的
内容到底变了没有? ..................................................................................................... 23
32、是否可以继承String类? ....................................................................................... 24
33、String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
......................................................................................................................................... 24
34、String 和StringBuffer的区别 ............................................................................... 25
35、如何把一段逗号分割的字符串转换成一个数组? ............................................... 25
36、数组有没有length()这个方法? String有没有length()这个方法? .................... 26
37、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d"; .................. 26
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不
会被执行,什么时候被执行,在return前还是后? .................................................... 26
39、下面的程序代码输出的结果是多少? ................................................................. 27
40、final, finally, finalize的区别。 .............................................................................. 29
41、运行时异常与一般异常有何异同? ..................................................................... 29
42、error和exception有什么区别? ............................................................................. 29
43、Java中的异常处理机制的简单原理和应用。 ..................................................... 29
44、请写出你最常见到的5个runtime exception。 ................................................... 30
45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表
什么意义?在try块中可以抛出异常吗? .................................................................. 30
46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和
suspend()方法为何不推荐使用? ................................................................................. 30
47、sleep() 和 wait() 有什么区别? ............................................................................. 31
48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 ................. 34
49. 下面两个方法同步吗?(自己发明) .................................................................. 34
50、多线程有几种实现方法?同步有几种实现方法? ................................................. 34
51、启动一个线程是用run()还是start()? . .................................................................. 35
52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此
对象的其它方法? ........................................................................................................... 35
53、线程的基本概念、线程的基本状态以及状态之间的关系 ................................. 35
54、简述synchronized和java.util.concurrent.locks.Lock的异同 ? ........................ 36
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。
写出程序。 ..................................................................................................................... 38
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着
再回到主线程又循环100,如此循环50次,请写出程序。 .................................... 40
57、介绍Collection框架的结构 .................................................................................. 45
58、Collection框架中实现比较要实现什么接口 ....................................................... 45
59、ArrayList和Vector的区别 .................................................................................... 45
60、HashMap和Hashtable的区别 .............................................................................. 46
61、List 和 Map 区别? ............................................................................................... 46
62、List, Set, Map是否继承自Collection接口? ......................................................... 47
63、List、Map、Set三个接口,存取元素时,各有什么特点? ............................. 47
64、说出ArrayList,Vector, LinkedList的存储性能和特性 ......................................... 48
65、去掉一个Vector集合中重复的元素 .................................................................... 48
66、Collection 和 Collections的区别。 ..................................................................... 48
67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是
equals()? 它们有何区别? .............................................................................................. 48
68、你所知道的集合类都有哪些?主要方法? ......................................................... 49
69、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不
对? ................................................................................................................................... 49
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!
......................................................................................................................................... 50
71、说出一些常用的类,包,接口,请各举5个 ..................................................... 51
72、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请
说出他们分别是哪些类? ............................................................................................. 51
73、字节流与字符流的区别 ......................................................................................... 51
74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作
用。 ................................................................................................................................. 53
75、描述一下JVM加载class文件的原理机制? ....................................................... 53
76、heap和stack有什么区别。 .................................................................................. 53
77、GC是什么? 为什么要有GC? .............................................................................. 54
78、垃圾回收的优点和原理。并考虑2种回收机制。 ............................................. 54
79、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法
主动通知虚拟机进行垃圾回收? ................................................................................. 54
80、什么时候用assert。 ............................................................................................... 54
81、java中会存在内存泄漏吗,请简单描述。 ......................................................... 55
82、能不能自己写个类,也叫java.lang.String? ....................................................... 58
83. Java代码查错................................................................................................................... 59
二. 算法与编程 ...................................................................................................................... 63
1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 . 63
2、编写一个程序,将d:java目录下的所有.java文件复制到d:jad目录下,并将原
来文件的扩展名从.java改为.jad。 .............................................................................. 64
3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。
......................................................................................................................................... 66
4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各
个字符的个数。 ............................................................................................................. 67
5、说明生活中遇到的二叉树,用java实现二叉树 .................................................. 68
6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次
数,并按重复次数排序: ............................................................................................. 73
7、写一个Singleton出来。 ......................................................................................... 77
8、递归算法题1 ............................................................................................................ 79
9、递归算法题2 ............................................................................................................ 80
10、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。 ...................... 81
11、有数组a[n],用java代码将数组元素顺序颠倒 ................................................. 82
12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千
零一拾一元整)输出。 ................................................................................................. 83
三. html&JavaScript&ajax部分 ............................................................................................. 84
1. 判断第二个日期比第一个日期大 ............................................................................ 84
2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6
用绿色字体,7,8,9用红颜色字体。 ...................................................................... 85
3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提
示用户并终止提交? ....................................................................................................... 86
4、请写出用于校验HTML文本框中输入的内容全部为数字的javascript代码 .... 86
5、说说你用过那些ajax技术和框架,说说它们的区别 .......................................... 87
四. Java web部分 ................................................................................................................... 87
1、Tomcat的优化经验 .................................................................................................. 87
2、HTTP请求的GET与POST方式的区别 .............................................................. 87
3、解释一下什么是servlet; .......................................................................................... 87
4、说一说Servlet的生命周期? .................................................................................... 87
5、Servlet的基本架构 .................................................................................................. 88
6、SERVLET API中forward() 与redirect()的区别? ............................................... 88
7、什么情况下调用doGet()和doPost()? ................................................................... 88
8、Request对象的主要方法: ..................................................................................... 88
9、forward 和redirect的区别 ...................................................................................... 89
10、request.getAttribute() 和 request.getParameter() 有何区别?............................... 89
11. jsp有哪些内置对象?作用分别是什么? 分别有什么方法? ................................ 89
12. jsp有哪些动作?作用分别是什么? .......................................................................... 90
13、JSP的常用指令 ...................................................................................................... 90
14. JSP中动态INCLUDE与静态INCLUDE的区别? ............................................. 91
15、两种跳转方式分别是什么?有什么区别? ............................................................. 91
16、页面间对象传递的方法 ......................................................................................... 91
17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? ................. 91
18、MVC的各个部分都有那些技术来实现?如何实现? ........................................... 91
19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,
如何输出一个某种编码的字符串? ............................................................................. 92
20.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就
在另一页面显示按什么排序,结果为,提供reset .................................................... 92
五. 数据库部分 ...................................................................................................................... 92
1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 ....... 92
2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排
序..................................................................................................................................... 93
3、存储过程与触发器必须讲,经常被面试到? ......................................................... 93
4、数据库三范式是什么? ............................................................................................. 95
5、说出一些数据库优化方面的经验? ......................................................................... 96
6、union和union all有什么不同? ............................................................................... 97
7.分页语句 ...................................................................................................................... 98
8.用一条SQL语句 查询出每门课都大于80分的学生姓名................................... 101
9.所有部门之间的比赛组合 ........................................................................................ 102
10.每个月份的发生额都比101科目多的科目 .......................................................... 102
11.统计每年每月的信息 .............................................................................................. 104
12.显示文章标题,发帖人、最后回复时间 .............................................................. 105
篇二:Java面试题—WEB开发必看
以前的收藏,估计很少有这么全的面试题集了^_^
基础知识:
1. C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。
2.Java的接口和C++的虚类的相同和不同处。
由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是publicstatic,所有方法默认情况下是public.一个类可以实现多个接口。
3.垃圾回收的优点和原理。并考虑2种回收机制。
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
4.请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
5.请讲一讲析构函数和虚函数的用法和作用。
6.Error与Exception有什么区别?
Error表示系统级的错误和程序不必处理的异常,
Exception表示需要捕捉或者需要程序进行处理的异常。
7.在java中一个类被声明为final类型,表示了什么意思?
表示该类不能被继承,是顶级类。
8.描述一下你最常用的编程风格。
9.heap和stack有什么区别。
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。
堆是栈的一个组成元素
10.如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)。
publicclassBigInt()
{
int[]ArrOne=newArrOne[1000];
StringintString="";
publicint[]Arr(Strings)
{
intString=s;
for(inti=0;i<ArrOne.leght;i++)
{
11.如果要设计一个图形系统,请你设计基本的图形元件(Point,Line,Rectangle,Triangle)的简单实现
12,谈谈final,finally,finalize的区别。
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
finally—再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。
finalize—方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。
13,AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
14,StaticNestedClass和InnerClass的不同,说得越多越好(面试题有的很笼统)。
NestedClass(一般是C++的说法),InnerClass(一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见
http://www.frontfree.net/articles/services/view.asp?id=704&page=1
注:静态内部类(InnerClass)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
第四,&和&&的区别。
&是位运算符。&&是布尔逻辑运算符。
15,HashMap和Hashtable的区别。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap类没有分类或者排序。它允许一个null键和多个null值。
Hashtable类似于HashMap,但是不允许null键和null值。它也比HashMap慢,因为它是同步的。
16,Collection和Collections的区别。
篇三:JAVA网站开发工程师面试题
JAVA_WEB开发人员面试题及答案
面试人: 面试时间:
一.选择题(每题1分,共20分)
1. jsp 有几个内置对象?( c )(单选)
A 5个 B 6个 C 9个 D 8个
2. 在JAVA中,如何跳出当前的多重嵌套循环?( ab) (多选)
A break B return C forward D finally
3. 四种会话跟踪技术,哪个范围最大?(d ) (单选)
A page B request C session D application
4. java中有几种方法可以实现一个线程?(b ) (单选)
A 1种 B 2种 C 3种 D 4种
5. 同步有几种实现方法 ( b) (单选)
A 4种 B 2种 C 3种 D 1种
6. xml有哪些解析技术? ( abcd ) (多选)
A DOM B SAX C STAX D JDOM
7. 下列说法正确的是( bd)(多选)
A 构造器Constructor可被继承
B String类不可以继承
C 判断两个对象值相同用“==”
D char型变量中能不能存贮一个中文汉字
8. 下列关于线程说法正确的是(abc )(多选)
A 调用sleep不会释放对象锁。
B 调用wait方法导致本线程放弃对象锁
C 当一个线程进入一个对象的一个synchronized方法后,其它线程不可进入此对象的其它 方法
D notify():唤醒全部处于等待状态的线程。
9. 给定JSP程序源码如下,该JSP运行后输出的结果是(b )。(单选)
<%int count="1;%">
Count:<%=>
A Count:1 B Count:2 C 1:2 D Count:
10.在J2EE中的一个JSP文件中,有表达式<%=2>,它将输出( b )(单选)
a)2 3 b)5 c)23 d)不会输出,因为表达式是错误的
11.在J2EE中,编写Servlet过滤器时,(c )接口用于调用过滤器链中的下一个过滤器。(单选)
a)Filter b)FilterConfig c)FilterChain d)Servlet
12) 关于视图的描述正确的是( c ) (单选)
a) 视图是一种特殊的表,它存储了用户定制的数据。
b) 视图仅用于用户进行查询,不可以通过视图对数据进行修改。
c) 在sql server中可以通过用T-sql语句来创建,也可以通过企业管理器。
d) 创建视图只能操作本机器上的数据库表。
13)STRUTS框架中,( c)类在视图层和控制层之间传递HTML表单数据。(单选) a) Action b) ActionForward c) ActionForm d) ActionServlet
18)Struts控制器的主要任务是接受用户请求、根据用户请求调用对应的模型组件、获取业务逻辑执行结果的根据处理结果选择适合的视图组件返回给用户,实现Struts控制器的类中不包括(c )。(单选)
a) ActionServlet b) Action c) ActionForm d) ActionForward
14) 以下关于SessionFactory的说法哪些正确?( bc )(多选)
A) 对于每个数据库事务,应该创建一个SessionFactory对象
B) 一个SessionFactory对象对应一个数据库存储源。
C) SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源只需要创建一个。
D) SessionFactory的load()方法用于加载持久化对象
15) 下面那些是Hibernate的查询方式(abc )(多选)
A) sql B) hql C) Criteria
18) 以下数据结构不属于线性结构的是( c )(单选)
A) 队列 B) 线性表 C) 二叉树 D) 栈
16) 下列是文件读写的类是( ac )(多选)
A) File Reader B) File C) FileWriter D) InputStream
17) 数据库技术中的“脏数据',是指(c )的数据。(单选)
A) 错误 B 回返 C 未提交 D 未提交的随后又被撤消
18)在计算机中,—个字节是由多少个二进制位组成的( b) (单选)
A). 4 B). 8 C). 16 D). 24
19. 下列不属于面向对象的方法是( d )(单选)
A). 对象 B). 类 C). 继承 D).过程调用
29.设正x、y均为整型变量,且x=10 y=3,则以下语句printf("%d,%d ",x--,--y); 的输出结果是( d )(单选)
A).10,3 B). 9,3 C). 9,2 D).10,2
二. 填空(每空1分,共10分)
1. String s = new String("xyz");创建了__2__个String 对象?
2. Math.round(9.5)等於__10___ Math.round(-9.5)等於__-9____
3. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会被执行,什么时候被执行,在return____前_____ ( 前还是后?)
4. 如何现实servlet的单线程模式 ______<%@ page="" isthreadsafe="false"> _________
5. 类变量必须带的修饰符是 ______ static _________
6. final类可以修饰在属性 , 方法 和 ___类___ 前面
7. Java默认的包是______ java.lang.*_________
8. Hibernate里面怎样实现类与类之间的关系__________表映射_______________
9. Socket 编程服务器端用____ serverSocket ____类来创建socket对象。
三. 判断题(每题2分,共10分)
1. 依赖注入即是“面向接口”的编程。错
2. Overload和Override都是java多态的不同体现形式。对
3. String是最基本的数据类型。 错
4.启动一个线程是用start。 对
5. 接口可以继承接口。 对
四.简答题(每题5分,共30分)
1、网页设计采用div css有什么好处?
答:布局实现了表现与内容的分离,大大缩减页面代码,符合W3C的标准,兼容性更好;易于后期网站的更新、维护;SEO的优化:对搜索引擎更加友好,更容易被搜索引擎收录。
2、前端页面有哪三层构成,分别是什么?作用是什么?
答:网页分成三个层次,即:结构层、表示层、行为层。
网页的结构层(structural layer)由HTML或 XHTML之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P 标签表达了这样一种语义:“这是一个文本段。”
网页的表示层(presentation layer)由CSS负责创建。CSS 对“如何显示有关内容”的问题做出了回答。
网页的行为层(behavior layer)负责回答“内容应该如何对事件做出反应”这一问题。这是 Javascript 语言和 DOM 主宰的领域。
3、如何区别display:none与visibility:hidden?
答:相同的是display:none与visibility:hidden都可以用来隐藏某个元素;
不同的是display:none在隐藏元素的时候,将其占位空间也去掉;而visibility:hidden只是隐藏了内容而已,其占位空间仍然保留。
4. 购物网站的主色调应该是什么样色?交友网站?体育网站?软件网站?年轻的互联网? 答:购物:暖色;交友:粉红之类的;体育:酷一点;软件公司:无所谓;年轻互联网:有朝气的颜色,比如绿色。
5. 一个网站最多有几种色彩
答:一到两各种主色彩。
6.如果背景是黑色,那么字体用什么颜色能突出字体,且不显得刺眼?
答:红色。
五.编程操作题(每题6分,30分)
注:有上机机会上机操作,没有就手动把代码写出来;
1. 一个表td中的部分Id有多个记录,把所有有多个记录的id查出来,并显示共有多少条 记录数。
2.写出冒泡排序的实现
答:代码如下:
public void fun9(){
int[] a = {1,3,5,61,2,123,12,}
Conica.print(a);
for(int i=0 ; i<a.length-1 ; i ){
for(int j=0 ; j<a.length-i-1 ; j )
{
if(a[j]>a[j 1]){
int temp = a[j];
a[j] = a[j 1];
a[j 1] = temp;
}
}
}
}
3 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”而不是“我ABC 汉的半个”。
答:代码如下:
package test;
class SplitString {
String SplitStr;
int SplitByte;
public SplitString(String str,intbytes) {
SplitStr=str;
SplitByte=bytes;
System.out.println("TheString is:′" SplitStr "′;SplitBytes=" SplitByte);
}
public void SplitIt() {
int loopCount;
loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/SplitByte
1);
System.out.println("WillSplit into " loopCount);
for (int i=1;i<=loopCount ;i ) {
if (i==loopCount){
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
}
else {
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
}
}
}
public static void main(String[]args) {
SplitString ss = newSplitString("test中dd文dsaf中男大3443n中国43中国人
0ewldfls=103",4);
ss.SplitIt();
}
}
注:另外关于美工操作,如果有photoshop等软件可以任选择两题考下:
1. 手写 html 能力
描述一个不规则表格,一定要有跨列和跨行的,让他把 html 代码写出来;
2.让他用 Photoshop 或 Fireworks 设计一个页面布局,或者指定一个效果(比如半透明的按钮),让他画出来,在或者,提供一幅人物照片,要求他抠掉背景,这是平面软件能力的一种体现方式;
3. 如果要涉及 Flash,让他做一个两种形状(方形、圆圈)的渐变,要求过渡平滑、美观,新手都直接用 shapemotion,很难看,高手知道加过渡。
篇四:JAVA开发工程师面试题
一、 概念题
1、 解释什么是队列(queue),什么栈(stack),有何区别?
队列是一种特殊的线性表,他按照先进先出的原则存储数据。
栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。 2、 用C/C++或者Php,或Java,给出例子,解释什么是异常(exception)?
3、 简述HashMap、HashSet、HashTable的区别。 Hashtable类
Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。 HashMap类
HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key,null key只能有一个。 HashSet类
HashSet继承Set接口。
Set是一种不包含重复的元素的Collection。 4、public、protect和private的区别是什么?
二、 数据库相关题
试设计一个商品相关数据库,要求包括商品类别、商品的基本信息,并完成下面的三个查询。
1、请写出创建相关表的SQL语句。
2. 使用标准SQL,得到2008年1月份入库的所有商品信息。 3. 使用标准SQL,得到“Toy”分类下的所有商品信息。
4. 使用标准SQL,统计出所有包含商品价格低于100.00的分类。
三、 程序填空题。
阅读下列说明、图以及Java程序,将应填入__(n)__处的字句写在答题纸的对应栏内。 1、[说明]
某订单管理系统的部分UML类图如图1-1所示
图4-1 订单管理系统的部分类图
图1-1中,Product表示产 品,ProductList表示所销售产品的列表,Order表示产品订单,0rderltem表示产品订单中的一个条目,OrderList表示订单列 表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表1-1所示。 表1-1
可以使用类java.util。ArrayList来实现对象的聚集关系,如图4-1中OrderList与Order之间的聚集关系。for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合以及用来接收集合中每个元素的变量,其语法如下: for(用来接收集合中元素的变量:需要遍历的对象集合),如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable。Java程序1-1和Java程序1-2分别给出了类OrderList和方法statistic的Java代码。 [Java程序1-1] import java.util.*;
public class OrderList __(1)__ {
private ArrayListorders; public OrderListO {
this.orders = new ArrayList(Order) 0; }
public void addOrder(Order order) { this.orders, add (order); }
public IteratoriteratorO {
return __(2)__;
}
public int getNunberOfOrders() { return this.orders. size(); }
}
[Java程序1-2]
import java.util.*;
public class SalesSystem { private ProductList catalog; private OrderList sales;
private static PrintWriter stdOut = new PrintWriter(System.out,true); public void statistic(){
for(Product product : __(3)__{ int number = 0;
for(Order order : __(4)__ {
for(__(5)__ : order){
if<product.equals(item.getProduct())) numbe r += item.getQuantity(); } }
stdOut.println(product.getCode() + " " + product.getDescription() + " "
+ number + " " + number *product.getPrice()); }
}
//其余的方法未列出 }
2、[说明]
传输门是传输系统中的重要装置。传输门具有 Open(打开)、Closed(关闭)、Opening(正在打开)、StayOpen(保持打开)、Closing(正在关闭)五种状态。触发状态的转换事件有 click、complete 和 timeout 三种。事件与其相应的状态转换如图 2-1 所示。
图 2-1 传输门响应事件与其状态转换图
下面的[Java 代码 1]与[Java 代码 2]分别用两种不同的设计思路对传输门进行状态模拟,请填补代码中的空缺。 [Java 代码 1]
public class Door {
public static final int CLOSED = 1; public static final int OPENING = 2; public static final int OPEN = 3; public static final int CLOSING = 4; public static final int STAYOPEN = 5;
private int state = CLOSED;//定义状态变量,用不同的整数表示不同状态 private void setState(int state){this.state = state;} //设置传输门当前状态
public void getState(){
// 此处代码省略,本方法输出状态字符串,
// 例如,当前状态为 CLOSED 时,输出字符串为”CLOSED” }
public void click() { //发生 click 事件时进行状态转换 if ( (1) ) setState(OPENING);
else if ( (2) ) setState(CLOSING); else if ( (3) ) setState(STAYOPEN); //发生 timeout 事件时进行状态转换
public void timeout(){ if (state == OPEN) setState(CLOSING); } public void complete(){ //发生 complete 事件时进行状态转换 if (state == OPENING) setState(OPEN);
else if (state == CLOSING) setState(CLOSED); }
public static void main(String [] args){ Door aDoor = new Door(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.complete(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.click(); aDoor.getState(); return; } }
[Java 代码 2]
public class Door {
public final DoorState CLOSED = new DoorClosed(this); public final DoorState OPENING = new DoorOpening(this); public final DoorState OPEN = new DoorOpen(this);
public final DoorState CLOSING = new DoorClosing(this); public final DoorState STAYOPEN = new DoorStayOpen(this); private DoorState state = CLOSED; //设置传输门当前状态
public void setState(DoorState state){ this.state = state;} public void getState(){ //根据当前状态输出对应的状态字符串 System.out.println(state.getClass().getName()); }
public void click(){ (4) ;} //发生 click 事件时进行状态转换 public void timeout(){ (5) ;}//发生 timeout 事件时进行状态转换 public void complete(){ (6) ;}//发生 complete 事件时进行状态转换 public static void main(String[] args){ Door aDoor = new Door(); aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.complete(); aDoor.getState(); aDoor.timeout(); aDoor.getState(); return; } }
篇五:java_web开发人员面试题及答案
java 面试题
一.选择题(每题1分)
1. jsp 有几个内置对象?()(单选)
A 5个 B 6个C9个 D 8个 2.在JAVA中,如何跳出当前的多重嵌套循环?()(多选)
A break Breturn C forward D finally
3. 四种会话跟踪技术,哪个范围最大?()(单选)
A page B request C session Dapplication
4. java中有几种方法可以实现一个线程?()(单选)
A 1种B 2种 C 3种 D 4种
5. 同步有几种实现方法()(单选)
A 4种B 2种 C 3种 D 1种 6. xml有哪些解析技术?()(多选)
ADOMBSAXCSTAXD JDOM
7. 下列说法正确的是()(多选) A 构造器Constructor可被继承
BString类不可以继承 C 判断两个对象值相同用“==”
Dchar型变量中能存贮一个中文汉字
8.下面说法错误的是()(单选)
A Vector是线程安全的
Bfloat f=3.4是正确的
C StringBuffer的长度是可变的
D StringBuffer的长度是不可变的 9. 下列关于集合的说法正确的是()(多选)
AList 的具体实现包括 ArrayList 和 Vector
BMap 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值
C Set的元素是有序的
DHashtable是线程安全的。 10. 下列关于线程说法正确的是()(多选)
A调用sleep不会释放对象锁。
B调用wait方法导致本线程放弃对象锁
C当一个线程进入一个对象的一个synchronized方法后,其它线程不可进入此对象的其它方法
D notify():唤醒全部处于等待状态的线程。
11. 给定JSP程序源码如下,该JSP运行后输出的结果是()。(单选)
<%int count="1;%">
Count:<%=++count%>
A Count:1BCount:2 C1:2 D Count:
12在J2EE中的一个JSP文件中,有表达式<%=2+3%>,它将输出()(单选)
a)2+3b)5c)23d)不会输出,因为表达式是错误的
13 在J2EE中,JSTL提供条件标签以支持JSP页面的各种条件,其中()类似于Java语言的switch语句。(单选)
a)b)c)d)
14. 在进行Java Web开发时,假定一个变量保存在session中,要获得这个变量的值,可以使用以下()语句。(单选)
a)application.getAttribute(“name”) b)pageContext.getAttribute(“name”)
c)session.getAttribute(“name”)
d)config.getInitParameter(“name”)
15)在J2EE中,编写Servlet过滤器时,()接口用于调用过滤器链中的下一个过滤器。()(单选)
a)Filterb)FilterConfigc)FilterChaind)Servlet
16) 关于视图的描述正确的是() (单选)
a) 视图是一种特殊的表,它存储了用户定制的数据。
b) 视图仅用于用户进行查询,不可以通过视图对数据进行修改。
c) 在sql server中可以通过用T-sql语句来创建,也可以通过企业管理器。
d) 创建视图只能操作本机器上的数据库表。
17)STRUTS框架中,()类在视图层和控制层之间传递HTML表单数据。(单选) a) Action b) ActionForwardc) ActionFormd) ActionServlet
18)Struts控制器的主要任务是接受用户请求、根据用户请求调用对应的模型组件、获取业务逻辑执行结果的根据处理结果选择适合的视图组件返回给用户,实现Struts控制器的类中不包括()。(单选) a)ActionServletb)Actionc) ActionFormd)ActionForward
19)在OOD中,类和接口之间的关系称之为()。(单选)
a) 泛化b)实现c) 关联d) 继承
20) 以下关于SessionFactory的说法哪些正确?()(多选)
A) 对于每个数据库事务,应该创建一个SessionFactory对象
B) 一个SessionFactory对象对应一个数据库存储源。
C) SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源只需要创建一个。
D) SessionFactory的load()方法用于加载持久化对象
21) 关于AOP错误的()(单选)
A)AOP将散落在系统中的“方面”代码集中实现
B)AOP有助于提高系统可维护性
C)AOP已经表现出将要替代面向对象的趋势 D)AOP是一种设计模式,Spring提供了一种实现
22) 依赖注入说法正确的(单选)
A)依赖注入的目标是在代码之外管理程序组建间的依赖关系
B)依赖注入即是“面向接口”的编程
C)依赖注入是面向对象技术的替代品
D)依赖注入的使用会增大程序的规模
23)以下哪些属于Session的方法?()(多选)
A)load()
B)save()
C)()
D)update()
E)open()
F)close() 24) 下面那些是Hibernate的查询方式()(多选)
A) sql B) hql C)Criteria
25) 以下数据结构不属于线性结构的是()(单选)
A) 队列 B) 线性表C)二叉树 D) 栈
26)下列是文件读写的类是()(多选)
A)File Reader B) File C)FileWriter D) InputStream
27)数据库技术中的“脏数据',是指()的数据。(单选)
A) 错误B回返C未提交D未提交的随后又被撤消
28)在计算机中,—个字节是由多少个二进制位组成的() (单选)
A). 4 B). 8 C).16 D). 24
29)设正x、y均为整型变量,且x=10 y=3,则以下语句printf("%d,%d ",x--,--y); 的输出结果是()(单选) A).10,3 B). 9,3 C). 9,2 D).10,2
30) 下列不属于面向对象的方法是()(单选)
A).对象 B). 类 C). 继承 D).过程调用
二. 填空(每空1分) 1. String s = new String("xyz");创建了____2_个String 对象?
2. Math.round(9.5)等於____10_ Math.round(-9.5)等於______ -9
3. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会被执行,什么时候被执行,在return_________ ( 前还是后?)
4. 如何现实servlet的单线程模式<%@ page="" isthreadsafe="false">
5. 类变量必须带的修饰符是 _________static____
6. final类可以修饰在属性 , 方法 和 ______类_ 前面
7. Java默认的包是________________java.lang.* ___
8.Hibernate里面怎样实现类与类之间的关系___________________________表映射_______
9. Socket 编程服务器端用___________serverSocket_类来创建socket对象
三. 判断题(每题2分)
1. 依赖注入即是“面向接口”的编程。错
2. Overload和Override都是java多态的不同体现形式。对
3. String是最基本的数据类型错
4. 启动一个线程是用start()对
5. 接口可以继承接口对
四.简答题(每题4分)
1.下列程序打印结果是
int[] arr = {1,3,3,2,8};
String str = “”;
int i=0;
publicvoid doIt(){
for(;i<arr.length;){
if(arr[i]>arr[i+1]){
str=arr[i]+arr[i+1]+str;
break;
} elseif(arr[i]<arr[i+1]){
str=arr[i]+str+arr[i+1];
i++;
continue;
} else{
str+=arr[i];
i++;
}
}
System.out.println(i);
System.out.println(str);
}
i=2;str=5133
2. 将会打印出什么? package test; public class FatherClass
public FatherClass()
{ System.out.println("FatherClass Create"); }
类:package test;import test.FatherClass;
public class ChildClass extends FatherClass public ChildClass() { System.out.println("ChildClass Create"); }
public static void main(String[] args) { FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass(); }}
输出结果:
fatherClass Create
fatherClass Create
hildClass Create
3.下列程序对还是错,如果错请说明原因!
abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
abstract method必须以分号结尾,且不带花括号
4. 表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。
select fclass,max(fscore) from table1 group by fclass,fid
5. 下面程序运行结果是
String[] arr1 ={”a”,”b”,”1″,”c”,”b”};
List lst1 = new ArrayList();
lst1.add(”d”);
Collections.addAll(lst1,arr1);
System.out.println(lst1);
Setset1 = new HashSet();
set1.add(”d”);
Collections.addAll(set1, arr1);
System.out.println(set1);
运行结果:
d, a, b, 1, c, b
1.java前端开发面试题
2.公司JAVA开发面试题
3.2016年Java开发岗位面试题
4.2015年Java开发岗位面试题归类
5.2014Java数据库开发工程师面试问题
6.16年Java开发岗位面试题汇总
7.2016全年Java开发岗位面试题汇总
8.Java软件开发工程师实习求职常见面试题
9.java学习:Java面试题和答案
10.java面试试题