东方国信 - 软件开发人员面试问卷(ver1.001.002)
1. 通用编程知识问卷(所有编程人员必做)... 1
1.1 SQL问卷... 1
1.2 翻译... 2
2. Java问卷(Java程序员应答,其他跳过)... 2
2.1 【问题】... 2
2.2 【问题】... 2
2.3 【问题】... 3
2.4 【问题】... 3
2.5 【问题】... 3
2.6 【问题】... 4
2.7 【问题】... 4
2.8 【问题】... 4
3. Oracle问卷(Oracle程序员应答,其他跳过)... 4
3.1 【问题】... 4
3.2 【问题】... 5
3.3 【问题】... 5
3.4 【问题】... 5
3.5 【问题】... 5
3.6 【问题】... 5
3.7 【问题】... 5
3.8 【问题】... 5
3.9 【问题】... 6
4. 其他... 6
[注]:
1、有某些地方想不起来名词或代码的,可以在答案背后用文字说明,表达清楚具体意思)
2、答卷请另外使用“东方国信-面试答卷”进行,请注明:姓名、年月日、开始时间、结束时间。请不要在问卷上直接填写任何内容。
1. 通用编程知识问卷(所有编程人员必做)
1.1 SQL问卷
【问题】
有下列两张表:
USERLIST表:
TELEPHONE (Varchar(10),主键) | ACCOUNT (varchar(10)) | RENT (numeric(10,2)) |
4210001 | AAAA | 19.50 |
4210002 | AAAA | 20.50 |
4210003 | BBBB | 100.00 |
4210004 | CCCC | 250.00 |
CHARGE表:
TELEPHONE (Varchar(10),主键) | FEE01 (numeric(10,2)) | FEE02 (numeric(10,2)) | FEE03 (numeric(10,2)) | FEE04 (numeric(10,2)) |
4210001 | 11.00 | 12.00 | 13.00 | 14.00 |
4210002 | 21.00 | 22.00 | 23.00 | 24.00 |
4210003 | 31.00 | 32.00 | 33.00 | 34.00 |
请用最少的SQL语句,产生下述查询结果:
ACCOUNT (Varchar(10),主键) | USERS (int) | RENT (numeric(10,2)) | FEE01 (numeric(10,2)) | FEE02 (numeric(10,2)) | FEE03 (numeric(10,2)) | FEE04 (numeric(10,2)) |
AAAA | 2 | 40.00 | 32.00 | 34.00 | 36.00 | 38.00 |
BBBB | 1 | 100.00 | 31.00 | 32.00 | 33.00 | 34.00 |
CCCC | 1 | 250.00 | 0.00 | 0.00 | 0.00 | 0.00 |
其中:
数据是经过USERLIST、CHARGE表进行合适的连接后以ACCOUNT为关键字分组求和得到。
【特别注意】电话号码4210004 在USERLIST表中有一条记录,但是在CHARGE表中并没有记录。但结果中合同号CCCC具有一条记录。
请写出SQL语句。
SELECT A.ACCOUNT,SUM(ACCOUNT) AS USERS,A.RENT,B.FEE01,B.FEE02,B.FEE03,B.FEE04
FROM USERLIST A,CHARGE B
WHERE B.TELEPHONE= (+)A.TELEPHONE ORDER BY ACCOUNT GROUP BY ACCOUNT
1.2 翻译
将下面的文字翻译为中文:
Java provides superior support for runtime error and exception handling, allowing programs to check for anomalous conditions and respond to them with minimal impact on the normal flow of program execution. This allows error- and exception-handling code to be added easily to existing methods.
答: Java超级程序员对运行错误和异常的捕获的句柄,并允许程序在正常执行条件下检查他们,你可以在已经存在的方法中很简单的来添加错误和异常句柄
2. Java问卷(Java程序员应答,其他跳过)
2.1 【问题】
1) 简述对Vector类的理解,并写出常用到的对向量的增、删、插、定位及获取长度的方法。
答:增-add、差-insert 定位-find
2) 作用域public,protected,private,以及不写时的区别
答:public是所有都可以访问、protected同一包内可以访问、private是本类中可以访问、不写默认为protected
3) ArrayList和Vector的区别,HashMap和Hashtable的区别
答:ArrarList存储的可以是对象的列表\而Vector存储的是key value的形式
2.2 【问题】
请给出下面一段程序的执行结果:
public class Base{
void Iam(Base b){
System.out.pirntln(“Base;Overload”);
}
void Iam(Child c){
System.out.println(“Child;Overload”);
}
public static void main(String[] args){
Base[] test = new Base[] {new Base(),new Child();}
For(int i=0;i<test.length;I++){
Test[i].Iam(new Child());
}
}
}
class Child extends Base{
void Iam(Base b){
System.out.println(“Base;Override”);
}
void Iam(Child c){
System.out.println(“Child;Override”);
}
}
结果:Child;Overload
Child;Override
2.3 【问题】
Jsp的两种跳转方式分别是什么?有什么区别?
答:1.forward 将同一请求发送到下一页面
2.redirect 一个全新的请求到下一页面
2.4 【问题】
请找出下面一段程序出现的问题,并给出合理的解决方案或者修改程序(前面的数字表示行号)
1 OutputStreamWriter out = .
2 java.sql.Connection conn = .
3 try {
4 Statement stat = conn.createStatement();
5 ResultSet rs = stat.executeQuery(
6 "select uid, name from user");
7 while (rs.next())
8 {
9 out.println("ID:" + rs.getString("uid") +
10 ",姓名:" + rs.getString("name"));
11 }
12 conn.close();
13 out.close();
14 }
15 catch(Exception ex)
16 {
17 ex.printStackTrace();
18 }
答:1.stat和rs也应close(),并应在conn.close()前
2.为清晰分辨每一用户记录在10和11行加:out.println(“<br>”);
2.5 【问题】
分别填入i和j在每步执行之后的值和最终值
public class Foo {
public static void main (String []args) {
int i = 1;------i=( 1 )
int j = i++;----------i=( 2 ) j=( 2 )
if ((i>++j) --------------i=( 2 ) j=( 2 )
&& (i++ ==j)) { ------------------i=( 3 ) j=( 3 )
i +=j; ----------------------i=( 6 ) j=( 3 )
}
}
}
执行程序之后:
最后i=( 6 ) j=( 3 )
2.6 【问题】
public class X {
public static void main (String[]args) {
string s = new string (“Hello”);
modify(s);
System.out.printIn(s);
}
public static void modify (String s) {
s += “world!”;
}
}
数据结果是多少?
答:Hello
2.7 【问题】
请解释一下以下JSP内部对象:
request 请求对象,内有要发给服务器的信息或参数
response 响应对象,内有请求结果信息或对象
pageContext 页面环境变量都存于此对象
session 会话对象,存在与第一次与服务器交互到关闭浏览器这段时间,其内变量和对象在整个会话过程中都可使用或增删
application servlet WEB容器启动时就会产生application对象和初始化web.xml中定义的servlet(init方法),application内有整个容器的环境信息,容器会根据不同的页面请求前缀到不同的servlet中进行处理。
out 页面输出对象,可用此对象的pringln()方法进行页面输出
config
page 页面信息对象,一般写在JSP的前面
exception 异常对象
2.8 【问题】
请列出您所熟悉的java开发工具及中间件应用服务器,并注明掌握程度。
(此项不作为评分标准)
答:JCreator Pro、IntelliJ IDEA 较熟练
Tomcat WebLogic 较熟悉
3. Oracle问卷(Oracle程序员应答,其他跳过)
3.1 【问题】
解释一下sum的作用
答:求符合条件的记录某数值字段的和
3.2 【问题】
Table1有两个字段,field1 varchar2(10)和field2 number。
请写出向这两个表中插入’test’和100的sql语句。
答:insert into Table1 (field1,field2) values(‘test’,100);
请写出一个sql语句,将Table1中的field1字段的值更新成’test111’:
答:update Table1 set field1=’test111’; –此为将Table1表中所有记录field1字段的值改为’test111’
update Table1 set field1=’test111’ where field2=100; –此为将Table1表中field2字段等于100的记录的field1字段的值改为’test111’
请写出一个sql语句,将Table1中的数据全部选出来:
答: select field1,field2 from Table1;
3.3 【问题】
Delete和truncate的区别是什么?
答: Delete删除的记录如不提交可以恢复,此命令不能删除回滚段中的数据
truncate删除的记录不能恢复,并可删除回滚段中的数据
3.4 【问题】
请解释一下varchar2和char的区别
答: char 最大可以容纳2000个字节
varchar2最大可以容纳4000个字节,此为可变长字段
3.5 【问题】
解释一下group by的作用
答: 此关键字的作用是将查询出的符合条件的记录集按某字段列表分组,在此过程中预查出的字段若为字符型,分组后只取最上面的一个,预为数值型将求和
3.6 【问题】
Order by有什么作用
答: 此关键字的作用是将查询出符合条件的记录集按某字段列表进行排序,默认为升序(Asc),降序为: Desc
3.7 【问题】
Union和union all有什么区别
答:
3.8 【问题】
Months_between的用法是什么
答: 是在一个月份的范围内
3.9 【问题】
Oracle体系结构类:
分区表有什么作用?
答:可以将表中不同的字段或不同的记录存入不同的表空间,并且这些表空间可在不同的物理磁盘,
一般用于将比较大的字段如图片或文件类字段存入比较大的磁盘中.
请解释一下oracle表空间
答: 表空间是一个逻辑概念,但属于表空间的数据文件是存在于磁盘上的物理文件用户的数据存在于表中而表就存在于表空间中,一个表空间可以有多个属于自己的数据文件,但一个数据文件只能属于一个表空间
Oracle中表空间和数据文件有什么关系
答: 一个表空间可以有多个属于自己的数据文件,但一个数据文件只能属于一个表空间
请简单描述一下Oracle的体系结构
答: 主要有两大部分
- 数据库实例,包括:系统全局区(SGA),和后台进程(数据写入进程,重做日志进程,检查点进程,用户监控进程等),实例在启动时首先到初始化参数文件中找到控制文件,再从控制文件中找到日志文件和数据文件
- 数据库文件,包括:数据文件(.dbf)日志文件(.log)控制文件(.ctl)
其中数据文件又分 系统数据文件 用户数据文件 临时数据文件和回滚数据文件
日志文件可以有多组,一组写满换另一组,在切换时有检查点进程保证数据的完成性
控制文件是二进制文件,最大可以为64M
Pctfree和pctused分别指的是什么?
答:
4. 其他
请简述一下你的经历、你擅长的技术和你希望到公司之后的发展方向!
答: 本人年毕业后就到了现在的工作单位,一直做与电信有关的技术和设计工作.我公司是一家SP
本人没有参加过大型的开发,想实际体验一下,并希望能够发挥自己的特长,也想参加一些设计类的工作锻炼一下自己
是否可以出差?
答: 可以