下面是小编整理的广州足迹信息技术有限公司Java软件工程师试题(共含5篇),希望对大家有所帮助。同时,但愿您也能像本文投稿人“Alani”一样,积极向本站投稿分享好文章。
广州足迹信息技术有限公司Java软件工程师试题
1、请描述Java的基本数据类型,以及各种整数类型的取值范围。
2、在Java中,以下的`异常:java.lang.Excetion, java.lang.RuntimeException, java.lang.Error 有什么区别?
3、请创建一个2维数组,来保存如下的杨辉三角。
1
1 2 1
1 3 3 1
4、对数组对象 x ,该数组的长度如何表示?
5、请例示 如何使用instanceof 关键字,以及如何进行对象的强制类型转换。
6、闰年的判断标准是:所有的闰年都能被4整除,但能被100整除不能被400整除的不是闰年。请编写Java代码,来实现该算法。
7、使用junit框架,设计对上述算法的单元测试代码,检查算法的正确性。
8、请完成如下的排序算法,尽可能使用你所知道得最快的算法。
public class SortTool {
/* the vector contains a lot of integer objects, maybe contains more
* integers which have the same value.
* @return void but the input vector have been sorted in ascend order
*/
public void sortIntegers(java.util.Vector vector){
// add your code here
}
}
9、编写Java代码,打印如下的杨辉三角。注意该三角形是居中对齐的。
1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
public class PrintYangHui {
/* usage: java PrintYangHui 10 – print a YangHui triangle of 10 lines */
public static void main(String args[]){
// add your code here
}
}
10、编写一段生产者/消费者的Java代码,其中生产者每次生产1个0到1000之间的随机数,消费者则把该随机数打印出来,
如果产生的随机数为0,则生产者、消费者均退出运行。要求生产者、消费者均使用线程来实现。
11、在JSP应用中,请简要地说明以下几种变量的生命周期的概念以及各自的用途,请假设一个应用场景,说明在该场景下,那些数据应该使用此种变量类型。
a)Application
b)Session
c)Request
d)Page
12、现有订单、订单项、客户、产品四个数据库表:
订单(OrderID, CustomerID, OrderTime, OrderStatus, ……)
客户(CustomerID, Name, Address, Telephone, ……)
产品(ProductID, ProductName, Description, UnitPrice, ……)
订单项(OrderId, OrderItemId, ProductID, UnitCount, ……)(一个订单包括多个订单项)
a)请使用UML图对以上对象进行建模,反映对象之间的关系。
b)编写一个SQL语句,查询指定客户 custId 的全部订单资料,包括以下内容:(CustomerID, CustomerName, OrderId, OrderItemId, ProductName, UnitPrice, UnitCount, TotalPrice)
c)创建数据库时,需要定义那些主键、外键?
,
Overloaded的'方法是否可以改变返回值的类型?(10分)
7.请描述一下Servlet的生命周期(10分)
8.编程题: 写一个Singleton出来。(15分)
9.UML中有哪些常用图,分别用来做什么?(15分)
全班学生排成一排,从左数和从右数Mike都是第十五名,全班学生有多少人?
A:31; B:25 C:29; D:30
A football team won 6 games and lost 18.What fraction of its games did the team win?
A:1/3; B:1/4; C:2/3; D:3/4;
Select the number that would be next in the series
6.546, 6.659, 6.772, 6.885, 6.998
A:7.111; B:7.10; C:7.011; D:None of these;
A television manufacturer offers a distributor successive discounts of 15 and 10 percent on one of its new color models. The distributor pays $459.00 net for the TV set. What was the original price before any discount?
A:$612.00; B:$600.00; C:580.00; D:473.75;
If you can paint three standard-size rooms in two days, how many similar rooms can you and three of your friends paint in three days?
A:6; B:13.2; C:18; D:54;
If snow is falling at the rate of 11/2 inches per hour, how many inches of snow will fall in X minutes?
A:X/40; B:X/30; C:30X; D:40X;
假设某种语言有三个运算符:==,&,||,其中==的优先级最高,&次之,||最低,给以下表达式加上括号:
varA||varB&varC==varD
A:((varA||varB)&varC)==varD; B:varA||(varB&(varC==varD)); C:(varA||varB)&var(C==varD); D:(varA||varB)&(varC)==varD;
执行以下操作后a的值为多少?
a=a+b
b=a-b
a=a-b
A:a; B:b; C:a-b; D:a+b;
The following function is meant to reverse the numbers in an array of 7 integers, but may have a bug.Where is the error,if any?(Mark it with circle)
Void reverse(int A[7])
{
int IO=0;
int hi;
while (IO<7) //Line 1
{
hi=6-IO; //Line 2
int swap=A[hi]; //Line 3
A[hi]=A[IO]; //Line 4
A[IO]=swap; //Line 5
IO=IO+1; //Line 6
}
}
A:Line 1; B:Line 2; C:Line 3; D:Line 4; E:Line 5; F:Line 6;
What function does the following recursive(递归) subroutine compute,when passed two non-negative values?
int f(int a, int b)
{
if(a equals 0)
return 0;
else
return f(a-1,b)+b;
}
A:Sum: a+b; B:Difference: a-b; C:Exponentiation(求幂): a**b; D:Product: a*b; E:Factorial(阶乘); F:Square root; G:The subroutine diverges (does not return a value);
According to the following code, what is the value of the function’s result?
int t(int a)
{
int s=0;
for (int i=1;i<=a,i++)
{
s=s+1;
}
}
when executing the t(10),what result will you get?
A:20; B:55; C:10; D:25;
What is the negation of the following expression?
0 A:n>=0 AND MAX>=n; B:0>n OR n>MAX; C:n<=0 OR n>=MAX; D:n>0 AND MAX>n; E:0=0 OR MAX>=n; G:0 Choose the best answer:A Pointer …
A:is a single link in a linked list.; B:Is a variable holding the (x,y) coordinates of a point.; C:Is the address of an object.; D:Is a variable holding an IP address; E:Is a variable holding the address of another variable.; F:Is the header section of an operating system block.; G:Separates frames on the runtime stack;
小明比小强大,小红比小明小。下列陈述中哪一句最正确?
A:小红比小强大; B: 小红比小强小 ; C: 小红与小强一样大 ; D: 无法确定小红与小强谁大
1.web 中的 forward 和 redirect 的区别?
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用 forward方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 sendRedirect()方法。
2. xml 在解释的时候 DOM 和 SAX 协议的区别和含义?
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的随机访问
SAX:不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理 XML 文件,适合对 XML 的顺序访问
3 说明 JNDI、JMS、JTA、RMI 的意思?
JNDI(Java Naming and Directory Interface)是一个应用程序设计的 API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似 JDBC 都是构建在抽象层上。
JMS(Java Messaging Service)是 Java平台上有关面向消息中间件的技术规范,翻译为 Java 消息服务。JMS 支持点对点和发布/订阅两种消息模型。
JTA(Java Transaction API) 为 J2EE平台提供了分布式事务服务。要用 JTA 进行事务界定,应用程序要调用 javax.transaction.UserTransaction 接口中的方法。
RMI 是 Java 的一组拥护开发分布式应用程序的 API。RMI 使用 Java 语言接口定义了远程对象,它集合了 Java 序列化和Java 远程方法协议(Java Remote Method Protocol)。它大大增强了 Java 开发分布式应用的能力。
4.单例模式
Public class Signle{
Private Signle(){
}
Pirvate static Signle signle = new Signle();
Public static Signle gets(){
Retrun signle;
}
}
5 数据库中 left join 的意思,和在什么场合中应用?
LEFT JOIN 操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
6 ejb 中的 sessionbean 和 entitybean 的区别和含义?
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
7 抽象类和接口的区别
1:一个类可以实现任意多的接口,但是最多只能对一个抽象类进行子类化。
2:一个抽象类可以包括非抽象方法,而一个接口的所有方法在效果上都是抽象的。
3:一个抽象类可以申明并使用变量,而一个接口不行。
4:一个抽象类中的方法的访问修饰符可以使 public,internal,protected,protected internal,private,而接口成员的访问修饰符在默认情况下都是 public,而且,在申明接口成员时,不允许使用访问修饰符(甚至不能使用 public)。
5:一个抽象类可以定义构造函数,而一个接口不行。
8 对象序列化的含义
Java 序列化技术可以使你将一个对象的状态写入一个 Byte 流里,并且可以从其它地方 把该 Byte 流里的数据读出来。重新构造一个相同的对象。这种机制允许你将对象通过网络 进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java 的序列化机制是 RMI、 EJB、JNNI 等技术的技术基础。
9 数据库中的锁包括什么?
基本的封锁类型有两种:排它锁(X 锁)和共享锁(S 锁).
所谓 X 锁,是事务 T 对数据 A 加上 X 锁时,只允许事务 T 读取和修改数据 A,…
所谓 S 锁,是事务 T 对数据 A 加上 S 锁时,其他事务只能再对数据 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁若事务 T 对数据对象 A 加了 S 锁,则 T 就可以对 A 进行读取,但不能进行更新(S 锁因此又称为读锁),在 T 释放 A 上的 S 锁以前,其他事务可以再对 A 加 S 锁,但不能加 X 锁,从而可以读取 A,但不能更新 A.
10 jsp 和 serverlet 的区别
(1).简单的来说 Jsp 就是含有 Java 代码的 html,而 servlet 是含有 html 的 Java 代码;
(2).Jsp 最终也是被解释为 servlet 并编译再执行,Jsp 不过是 servlet 的另一种编写方式;
(3).Jsp 擅长表示,servlet 擅长数据处理,在 MVC 三层结构中,Jsp 负责 V(视图),servlet 负责 C(控制),各有优势,各司其职;
11. oracle 中数据表的交集怎么表示
第一种方法:利用操作符 intersect
第二种方法: in 子句
12 jsp 页面中如何传递参数
(1)直接在 URL 请求后添加
(2)jsp:param
(3)设置 session 和 request
13 jsp 中的 doget()和 dopost()方法的作用?
这个两个方法都是 http 协议的方法,doget 用于传输数据量较小(密码会泄露),dopost 数据量较大,
14 什么是用例?如何确定用例?
在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。 一个用例可以看作是系统的一个功能,例如增加用户,增加角色,查询一个具体的一个事物,在 Ejb 的设计中,一个 use case 跟 Session bean 的一个方法是对应的(使用的 session fasade 模式),你说的基础数据管理,我会把它处理成为一个抽象用例,因为我认为基础数据这个概念非常的抽象,什么是真正的基础数据?例如说一个系统中邮政编码算是这个系统的基础数据,那么”邮政编码修改”这个就应该算是用例了.
15 活动图和时序图的区别?
时序图主要强调时间的顺序 活动图主要强调空间上类的交互
16 什么是策略模式?什么情况下使用?
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换 Context(应用场景):
1、需要使用 ConcreteStrategy 提供的算法。
2、 内部维护一个 Strategy 的实例。
3、 负责动态设置运行时 Strategy 具体的实现算法。
4、负责跟 Strategy 之间的交互和数据传递。
17 面向接口编程的好处
使用接口编程,易于程序扩展,降低程序耦合性。 包括结构清晰,类之间通信简单易懂,扩展性好,提高复用性等等。
18 事物
事务就是一系列的操作,这些操作完成一项任务.只要这些操作里有一个操作没有成功,事务就操作失败,发生回滚事件.即撤消前面的操作,这样可以保证数据的一致性.而且可以把操作暂时放在缓存里,等所有操作都成功有提交数据库,这样保证费时的操作都是有效操作。
1.使用Java.lang.Math里面的函数public static double Random(){}随机生成a-z中的20个不重复的字母,然后进行排序,打印出排序前和排序后的数组,
2.打印出所有的 “水仙花数 ”,所谓 “水仙花数 ”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 “水仙花数 ”,因为153=1的三次方+5的三次方+3的三次方。
3.利用集合或者数组完成以下操作
学生课程成绩表格略
(1)打印出每个学生对应的`课程成绩最高的一项,
(2)打印出每位学生的总分。
(3)打印出每个课程中最高的分数
(4)打印出对分数从高到低进行排序
面试题目
1.简单的说说SSH三大开源框架
2.String,数组,集合有没有length属性或方法。
3.说说在项目开发的过程中遇到的问题
4.数据库的关联查询
5.简单说说排序
其他的相关笔试题目推荐:
申银万国校园招聘笔试题目 计算机三级数据库笔试题目 数据库笔试题目