第一篇:java程序员认证考试题
JAVA程序员面试试题及智力测试Java
面试例题1:击鼠标比赛现在开始!参赛者有拉尔夫、威利和保罗。
拉尔夫10秒钟能击10下鼠标,威利20秒钟能击20下鼠标,保罗5秒钟能击5下鼠标。以上各人所用的时间是这样计算的:从第一击开始,到最后一击结束。
他们是否打平手?如果不是,谁最先击完40下鼠标?
解析:n秒钟击n下鼠标其实是击第一下鼠标时才开始计时的,实际上击n-1下需要n秒钟,那么若击40下鼠标,拉尔夫需要(40-1)/(9/10)=39/0.9秒,威利需要
(40-1)/(19/20)=39/0.95秒,保罗需要(40-1)/(4/5)=39/0.8秒,因此威利先击完。
答案:威利先击完。
面试例题2:100美元哪里去了?
3个朋友住进了一家宾馆。结账时,账单总计3 000美元。3个朋友每人分摊1 000美元,并把这3 000美元如数交给了服务员,委托他代到总台交账。但在交账时,正逢宾馆实施价格优惠,总台退还给服务员500美元,实收2 500美元。服务员从这500美元退款中扣下了200美元,只退还3个客人300美元。3个客人平分了这300美元,每人取回了100美元。这样,3个客人每人实际支付900美元,共支付2 700美元,加上服务员扣的200美元,共计2 900美元,那么这100美元的差额到哪里去了?
答案:这道题纯粹是文字游戏,但是如果你的头脑不够清晰,很可能把你搞糊涂了。客人实际支付2 700美元,就等于总台实际结收的2 500美元加上服务员克扣的200美元。在这2 700美元上加上200美元是毫无道理的,而在这2 700美元上加退回的300美元,这是有道理的,因为这等于客人原先交给服务员的3 000美元。
面试例题3:有一种小虫,每隔2秒钟分裂一次。分裂后的2只新的小虫经过2秒钟后又会分裂。如果最初某瓶中只有一只小虫,那么2秒后变2只,再过2秒后就变4只……2分钟后,正好满满一瓶小虫。假设这个瓶内最初放入2只这样的小虫。
问:经过多少时间后,正巧也是满满的一瓶?
答案:经过1分58秒时间,也正巧是满满一瓶。因为从一只虫蜕变为2只虫只需2秒钟。在瓶内只有一只虫子的情况下,经过2秒钟后就变成2只。这时的情况和瓶内一开始就有2只虫子的情况是一样的。出现这两种情况的时间差是2秒钟。所以,经过1分58秒后,也正好是满满一瓶。
面试例题4:斯芬克斯是古代希腊神话中的带翅膀的狮子女魔。传说她在底比斯附近要人猜谜,猜不出来就要杀人。一次,她要底比斯王子猜谜:“有一种动物,早上4条腿,中午2条腿,晚上3条腿,是什么动物?”聪明的王子说:“是人。”他猜中了。
如果你是现代的斯芬克斯,会提出什么样的问题呢?比如,1和0之间加上什么符号才可以使得到的数比0大又比1小呢?你知道吗?
答案:0.
1面试例题5:父亲打电话给女儿,要她替自己买一些生活用品,同时告诉她,钱放在书桌上的一个信封里。女儿找到信封,看见上面写着98,以为信封内有98元,就把钱拿出来,数也没数放进书包里。在商店里,她买了90元的东西,付款时才发现,她不仅没有剩下8元,反而差了4元。回到家里,她把这事告诉了父亲,怀疑父亲把钱点错了。父亲笑着说,他并没有数错,错在女儿身上。
问:女儿错在什么地方?
答案:拿倒了,86看成是98了。
面试例题6:3个孩子翻衣兜,他们把兜里所有的钱都掏出来,看看一共有多少钱。结果一共有320日元。其中有两枚硬币是100日元的,两枚是50日元的,两枚是10日元的。每一个孩子所带的硬币中没有相同的。而且,没带100日元硬币的孩子也没带10日元的硬币,没带50日元硬币的孩子也没带100日元的硬币。你能弄清楚这3个日本孩子原来各自带了什么硬币吗?
答案:第一个小孩:100,50,10;第二个小孩:100,50;第三个小孩:10。
java 面试试题
1,谈谈final, finally, finalize的区别。
答案:final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
2,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以
implements(实现)interface(接口)?
答案:可以继承其他类或完成其他接口,在swing编程中常用此方式。
3,Static Nested Class 和 Inner Class的不同,说得越多越好。
答案:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
4,&和&&的区别。
答案:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).
5,HashMap和Hashtable的区别。
答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.6,Collection 和 Collections的区别。
答案:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
7,什么时候用assert。
答案:1.4新增关键字(语法),用于测试boolean表达式状态,可用于调试程序。
使用方法 assert ,表示如果表达式为真(true),则下面的语句执行,否则抛出AssertionError。
另外的使用方式assert < boolean表达式>:,表示如果表达式为真,后面的表达式忽略,否则后面表达式的值用于AssertionError的构建参数。
注意编译时要增加-source 1.4 参数,否则报错。]运行时要增加 -ea参数,否则assert行被忽略
8,GC是什么? 为什么要有GC?
答案:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。
9,String s = new String("xyz");创建了几个String Object?
两个
10,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 答案:Math.round(11.5)==12
Math.round(-11.5)==-11
round方法返回与参数最接近的长整数,参数加1/2后求其floor.
第二篇:Java程序员笔试题
说明:该份题目要求在1小时内答完
1、工厂方法模式和抽象工厂模式的区别
2、jsp/servlet 中 forward, include, reDirect 之间的区别
3、JSP中的两种include包含指令的区别与用法
4、ArrayList和Vector的区别,HashMap和Hashtable及HashSet的区别?
5、请说明在实际应用中,java.sql 包中的Statement和PreparedStatement有何区别?
6、如何遍历一个集合(collection),并在屏幕上打印出集合中的每个元素public void printStr
(Collection cols){
}
7、 写一个方法,实现字符串的反转,例如:输入abc,输出cba
PublicString reverseStr(String str){
//代码
}
8、 输入为整数数组,请写出如下的排序算法,使得数组data里面存储的数字随数组脚标的增大而依
次增大,即越小的数字存储的位置越靠前
Public void sort(int[]data){
}
9、 用户在JSP: input.jsp中输入姓名和手机号码,点”Done”按钮来提交请求到一个
1 / 6
servlet:test.java。test.java将输入的姓名和手机号码存储在文件store.txt里。
请写出input.jsp, test.java的程序源码,并在input.jsp和test.java中分别通过js和java代码对输入进行校验,如果1)姓名项没有填写或者输入的长度超过了20个字符2)手机号码项没有填写,或者输入了非数字的字符或者输入的长度不是13位,则返回input.jsp,并给出相应的错误提示。
10、 有若干条有关城市的信息,每条包括如下属性:ID (唯一递增的序列),CITY(城市名称),
DESC(城市说明),要求设计一套数据结构及算法使得1)所有登陆系统的用户均能使用这些城市信息2) 能够根据城市ID 号或名称获得城市的其他信息3)如果从该数据结构中找不到合适的城市信息,可以往该数据结构中添加新的城市信息,但相同的城市(ID号或名称有任意一个相同均认为是同一城市)在数据结构中只能有一条记录 4) 如任一条城市信息,超过两个小时没有被使用(查询)则需自动将其删除
pubic class CityCache{
}
11、 读下面一段程序,写出运行结果
----
pubicclassBaseClass{
static{
System.out.println(“aaaaa”);
2 / 6
}
BaseClass( ){
System.out.println(“11111”);
}
}
publicclassDerivedClass
extendsBaseClass{
static{
System.out.println(“bbbbb”) ;
}
DerivedClass(){
System.out.println(“22222”);
}
}
publicclassStartRun {
public static void main (String[ ] args){
DerivedClasssdc 1 = newDerivedClass( );
dc1 = newDerivedClass( );
}
}
12、 请写出符合要求的sql 语句(假定数据库为Oracle)。
3 / 6
现有数据表a,建表语句如下:
create table a (
bm char(4),——编码
mc varchar2(20)——名称
)
表中数据如下
bmmc
11111111
11121111
11131111
11141111
要求1:用一条sql语句实现对表a中数据的复制,即达到如下的结果(2)bmmc
11111111
11121111
11131111
11141111
11111111
11121111
11131111
11141111
4 / 6
要求2:请删除表中重复的记录(bm和mc都相同的记录为重复记录)
13、 classStack {
LinkedListlist = new LinkedList()
public synchronized void push (Objectx){
synchronized (list) {
list.addLast( x );
notify( );
}
}
public synchronized Object pop( ) {
synchronized (list) {
if ( list.size( )<=0)
wait ( );
return list.removeLast( );
}
}
5 / 6
}
请问上面这个类中有什么错误?应该怎么解决?
14、
15、 请写出MSSQL、ServerMysql和ORACE实现分页算法的sql语句。 UNIX和网络基础, 依次写出完成下列的操作命令,最好有常用参数的简单说明
1) 如何显示当前的IP配置信息
2) 查看当前目录
3) 拷贝文件或目录
4) 移动文件或目录
5) 删除文件或目录
6) 切换用户
7) 修改文件或目录的权限
8) 查看日志文件的最后1行
9) 查看系统内存、CPU的使用状况
10) 查看系统正在运行的和apache相关的进程
6 / 6
第三篇:JAVA程序员笔试题1
java程序员笔试题
JAVA 程序员笔试题
时间:30分钟
试题一:
简单描述一下什么是事务管理,事务管理中有哪些语句?
姓名:
试题二:
跳出当前循环的关键词是什么?继续本次循环的关键词是什么?
试题三:
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
试题四:
请写出最少三种设计模式的名称。
试题五:
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。
试题六:java中实现多态的机制是什么?
试题七:
public static void main(String[] args) {
int i=3,j=16; do{if(++i>=j--) continue; }while(i<9); System.out.println("i="+i+";j="+j);}
这段程序运行后输出的结果是什么?
试题八:
public class One {
}
public class Two extends One {
} protected void printA(){System.out.println("two A");} private void printB(){System.out.println("two B");} public static void main(String[] args) {Two t = new Two(); t.printAB();} protected void printA(){System.out.println("one A");} private void printB(){System.out.println("one B");} protected void printAB(){printA();printB();}
这段程序运行后输出的结果是什么?
试题九:
有一个表 “表A” 中包含 “姓名”,“成绩”两个字段,请写一个SQL语句查询出“成绩”大于60分的,“姓名”有重复的人的名字
试题十:
请写一个方法实现:传入的一个大于10位的字符串,把字符串的最后两位移动到字符串的第4位后面。
第四篇:Java程序员的笔试题10道
中软国际不久前出了10道对于java程序员基本功时候扎实的考题,不妨你也来测测看吧。看下会几道题目。
1、HashMap和Hashtable的区别。
都属于Map接口的类,实现了将惟一键映射到特定的值上。HashMap 类没有分类或者排序。它允许一个null 键和多个null 值。Hashtable 类似于HashMap,但是不允许null 键和null 值。它也比HashMap 慢,因为它是同步的,是线程的。
2、sleep() 和wait() 有什么区别?
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
3、Collection 和Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
4、什么时候用assert.assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。
5、&和&&的区别。
& 是两个数相与,是位运算符,&&是布尔逻辑运算符,连接两个条件表达式的,两个条件表达式都为真时,整个才为真
6、谈谈final, finally, finalize的区别。
final:修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
finally:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。
finalize:方法名。 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
7、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
8、。Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;因为返回最接近参数的long.通过加上1/2 将该结果舍入为整数,取结果的基数并将其强制转换为long 类型。换句话说,结果等于以下表达式的值:(long)Math.floor(a + 0.5d)
9、Static Nested Class 和Inner Class的不同,说得越多越好(面试题有的很笼统)。
Static nested class(嵌套类)是将内部类声明为static.普通内部类对象隐式地保存了一个引用,指向创建它的外围类对象,不能有static数据和static字段。嵌套类意味着:1> 要创建嵌套类的对象,并不需要其外围类的对象;2>不能从嵌套类的对象中访问非静态的外围类的对象。
10、ArrayList和Vector的区别。
1>同步性:Vector是线程的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的2>数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。
PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。
第五篇:北语201509考试批次 《JAVA语言程序设计》结课作业
谋学网
201509考试批次
《JAVA语言程序设计》结课作业 学生姓名
学习中心 学号
考 号 专 业
年级层次 北京语言大学网络教育学院
《JAVA语言程序设计》结课作业 注意:
本学期所布置的结课作业,请同学一律按照以下要求执行:
一、学生必须预约才能在学生平台看见相关课程的“结课作业”按钮;
二、提交路径:个人平台首页--学习中的课程,点击该课程名称--点击“结课作业”--点击“浏览”按钮,选择要上传的文档后点击“提交作业”即可。
三、结课作业提交起止时间:2015年8月1日—9月27日。(届时平台自动关闭,逾期不予接收。)
四、提交的文档格式必须为word文档,截止日期前可多次提交,平台只保留最后一次提交的文档;
五、严格按照课程名称提交相应课程结课作业,提交错误的结课作业,按0分处理。
一.
论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分) 1.
JAVA的基本数据类型数字型、布尔型和字符型三种,请详细说明这三种基本类型包括的子类型及其长度、最小值和最大值。
2.
构造方法(Constructor)是一种特殊的方法。Java中的每个类都有构造方法,用来初始化该类的一个新的对象。请简述构造方法的特点。至少说出6个特点。 3.
论述JAVA语言中的继承、单继承和多继承的定义。 4.JAVA语言中的对象创建的方法和数据成员的创建方法。
5.根据类成员的访问控制权限,填写下表,可以访问的填写yes,不可以访问的填写no。 类型
Private 无修饰
Protected
Public 同一类
同一包中的子类
同一包中的非子类
不同包中的子类
不同包中的非子类
二.
编程题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分) 1.
建立两个JList,双击其中任何一个中的某一项,此项就会跑到另外一个JList中。 2.
练习使用对话框。包括一个JLable和两个JButton,按任何一个JButton都会产生一个对话框,按确定后将输入内容在JLable中显示出来。
3.
设计一个长方形类,成员变量包括长和宽。类中有计算面积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。编写测试类测试是否达到预定功能。要求使用自定义的包。
谋学网
4.
编写一个绘制圆形的程序,当鼠标在绘制区域中单击时,该正方形的左上角顶点应准确的跟随鼠标光标移动,重绘该圆形。 5.编写一个程序,该程序绘制一个5×9的网络,使用drawLine方法。
【java程序员认证考试题】相关文章:
java高级程序员考试题06-20
JAVA程序员招聘试题04-20
java程序员经典笔试题04-23
java程序员面试笔试题06-19
java程序员经典笔试题06-19
山东大学网络教育网络工程2008秋《JAVA程序设计》(B卷)试题加答案04-12
尚学堂Java培训高级Java程序员值得拥有的10本书04-16
Java从入门到精通读书笔记—c++程序员学java04-18
java程序员的进阶09-21