通用编程知识问卷

曾昭强 贡献于2017-12-01

作者 张云鹏  创建于2005-05-23 09:46:00   修改者toowell  修改于2005-09-08 07:04:00字数8381

文档摘要:
关键词:

东方国信-面试问卷 答卷请另外用纸,并注明:姓名、年月日、开始时间、结束时间。 请不要在问卷上直接填写任何内容。 1. 通用编程知识问卷(所有编程人员必做) 1.1 编程风格问卷 【问题】 有一些变量,请你命名: 数据类型 中文含义 作用域 你的命名 Int 序列号 全局变量 globalID (类) 用户帐单 (类) UserReckoning String/CString 用户名称 类成员 userName Float 当月收入 类成员 currentMonHarvest Char* 营业员 类成员 business Double 罚款 局部变量 smartMoney 请说明你的命名原则。 一、 Class : 第一个字母大写;如果是复合的单词,每个单词的第一个字母大写! 二、 Static Final :变量的名字全部都大写,并且指出完整含义 三、 Class 变量 :如果是一个单词,全部小写;如果是复合单词,从第二个单词开始,每 个单词的第一个字母大写! 1.2 翻译 将下面的文字翻译为中文: Exceptions are generated by the Java runtime system in response to errors that are detected when classes are loaded and their methods are executed. The runtime system is said to throw these runtime exceptions. Runtime exceptions are objects of the class java.lang.RuntimeException or of its subclasses. 异常的产生是发生在JAVA运行时,当类被载入并且它们的方法被调用,系统响应错误。运行时异常提示抛出这些错误,运行时异常是java.lang.RuntimeException类的对象或其子类对象。 2. 数据库 2.1 【问题】 有下列两张表: USERLIST表: TELEPHONE (Varchar(10),主键) ACCOUNT (varchar(10)) RENT (numeric(10,2)) 第 页/共 15 页 东方国信-面试问卷 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 account,count(account) as users,sum(rent) as rent, sum (nvl(fee01,0)) as fee01,sum(nvl(fee02,0)) as feel02, sum (nvl(fee03,0)) as fee03,sum(nvl(fee04,0)) as feel04 from userlist a,charge b where a.telephone=b.telephone(+) group by account; 2.2 【问题】 表A 字段代码 字段类型 USER_NO NUMBER NAME VARCHAR2(128) 表B 字段代码 字段类型 USER_NO NUMBER NAME VARCHAR2(128) A、 B表数据量都在400万左右,现在想用B表的数据更新A表的用户姓名,并把B表中A表没的记录加入到A表,请写出最优化的SQL; 2.3 【问题】 在实际应用中,我们经常遇到需要转换数据的显示方式,比如将横表转为纵表,或将纵表转为横表的情况 第 页/共 15 页 东方国信-面试问卷 请运用SQL实现一下数据转换: (转换前) select * from test grade_id subject_name max_score 1 语文 98 2 数学 95 2 政治 87 5 语文 97 5 数学 100 5 政治 92 (转换后) 年级 语文 数学 政治 一年级 98 0 0 二年级 0 95 87 五年级 97 100 92 Select grade_id ,sum(decode(subject_name,’语文’, max_score,0)) as 语文, sum(decode(subject_name,’数学’, max_score,0)) as 数学, Sum(decode(subject_name,’政治’,max_score,0)) as 政治from text group by grade_id; 2.4 【问题】 在进行数据逻辑集合比较的时候,ORACEL提高了方便的操作供我们选用。 包括UNION , INTERSECT , MINUS 请分别指出这几个操作的含义。 Union : 求两个查询的合集! Intersect: 求两个查询的交集,即两个查询结果的公共部分! Minus: 求两个查询的差集,即,从第一个查询中去掉第二个查询的结果,为最后的返回结果! 如果TEST1 ,TEST2 两个表都只有一个字段A NUMBER,且其中有重复数据 SELECT A FROM TEST1 UNION SELECT A FROM TEST2 和 SELECT A FROM TEST1 UNION ALL SELECT A FROM TEST2 结果一样么??请对你的结论说明原因。 第一种用法会删除重复的资料。 第二种用法不会删除重复的资料。 2.5 【问题】 数据库为我们提高了定时调用存储过程和脚本的机制,该功能通过DBMS_JOB来实现的 第 页/共 15 页 东方国信-面试问卷 请写出调用该过程的语句。 我们可以通过查看数据库中的那个试图来监控队列任务的基本情况??? DBA_JOBS, USER_JOBS 2.6 【问题】 请阅读一下代码, procedure test as begin create table test_pp (a number); insert into test_pp values(1); commit; end; 如有错误之处请修改,并说明修改原因。如果没有不必作答。 没有 2.7 【问题】 请简单说明一下建立分区表的意义。(分区表的好处) 为了改善大型表的可伸缩性和可管理性 create table guestbook ( id number(16) primary key, username varchar2(64), sex varchar2(2), email varchar2(256), expression varchar2(128), content varchar2(4000), time date, 第 页/共 15 页 东方国信-面试问卷 ip varchar2(64)) partition by range(time) (partition g_2000q4 values less than(‘2001-01-01’)<0 tablespace users, partition g_2001q1 values lsee than(’2001-04-01’)<0 tablespace users, partition g_2001q2 values less than(’2001-07-01’)<0 tablespace users, ) 以time字段分区,标准 分区名: g_2000q4 范围:<'2001-01-01' (日期) 分区名: g_2001q1 范围:>'2001-01-01' <'2001-04-01' 分区名: g_2001q2 范围:>'2001-04-01' <'2001-07-01' 请修改上述代码,将guestbook建成一个分区表。 2.8 【问题】 现在我们需要对A 表和 B 表进行连接操作,需要关联A ,B 表的USER_NO字段和ACCT_MONTH字段 SELECT A.USER_NO,A.ACCTMOTNH,COUNT(*) FROM TEST1 A,TEST2 B WHERE A.USER_NO=B.USER_NO AND A.ACCT_MONTH=B.ACCT_MONTH 为了提高该SQL的效率需要在B表上建立索引,请问应该怎么建立。写出相应的SQL。 如果B表上在USER_NO上已经建立了索引,下面的查询会用到该索引么?? SELECT * FROM TEST2 B WHERE TO_NUMBER(USER_NO)='222313'; Create index B_index on B (user_no,acct_month); 用不到 因为 有函数 TO_NUMBER 3. Java问卷(Java程序员应答,其他跳过) 3.1 【问题】 简述对Vector类的理解,并写出常用到的对向量的增、删、插、定位及获取长度的方法。 增: public Boolean add( Object o); Public void add (int index,Object element) 删: public Object remove(int index) Public Boolean remove(Object o) 插: public Object set(int index,Object element) 定位:public int indexOf(Object elem) Public Object get(int index) 长度:public int size() 第 页/共 15 页 东方国信-面试问卷 3.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> 是算术右移操作符.  B、>> 是逻辑右移操作符.  C、>>> 是算术右移操作符  D、>>> 是逻辑右移操作符 11、下面哪个赋值语句是合法的?  A、float a = 2.0  B 第 页/共 15 页 东方国信-面试问卷 、double b = 2.0  C、int c = 2  D、long d = 2 12、下面哪个是main()函数的合法参数?  A、char args[]  B、char args[][]  C、String arg[]  D、String args[] 13、下面哪个语句是创建数组的正确语句?  A、 float f[][] = new float[6][6];  B、float []f[] = new float[6][6];  C、float f[][] = new float[][6];  D、float [][]f = new float[6][6];  E、float [][]f = new float[6][]; 14、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 }; 下面哪个表达式的值与数组下标量总数相等?  A、 m.length()  B、m.length  C、m.length()+1  D、m.length+1 15、已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的?  A、 args[0] = "MyTest a b c"  B、args[0] = "MyTest"  C、args[0] = "a"  D、args[1]= 'b'   16、已知如下代码: public class Test { long a[] = new long[10]; public static void main ( String arg[] ) { System.out.println ( a[6] ); } } 请问哪个语句是正确的?   A、Output is null.  B、Output is 0.  C、When compile, some error will occur.  D、When running, some error will occur. 17、已知如下代码: boolean m = true; if ( m == false ) System.out.println("False"); else System.out.println("True"); 第 页/共 15 页 东方国信-面试问卷 执行结果是什么?  A、False  B、True  C、None  D、An error will occur when running.   18、已知如下代码: public class Test { public static void main(String arg[]) { int i = 5; do { System.out.println(i); } while (--i>5) System.out.println("finished"); } } 执行后的输出是什么?  A、 5  B、4  C、6  D、Finished  E、None 19、下面代码执行后的输出是什么? outer: for(int i=0;i<3; i++) inner: for(int j=0;j<2;j++) { if(j==1) continue outer; System.out.println(j+ "and "+i); }   A、 0 and 0  B、0 and 1  C、0 and 2  D、1 and 0  E、1 and 1  F、1 and 2  G、2 and 0  H、 2 and 1  I、 2 and 2 20、已知如下代码: switch (m) { case 0: System.out.println("Condition 0"); case 1: System.out.println("Condition 1");  case 2: System.out.println("Condition 2"); case 3: System.out.println("Condition 3");break; default: System.out.println("Other Condition");  } 当m 的值为什么时输出"Condition 2"?  A、 0  B 第 页/共 15 页 东方国信-面试问卷 、1  C、2  D、3  E、4  F、None  4. 其他 请简述一下你的经历、你擅长的技术和你希望到公司之后的发展方向! 是否可以出差? 第 页/共 15 页

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档