面试题集锦
―――――――――ORACLE―――――――――
1. 解释冷备份和热备份的不同点以及各自的优点
解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)
2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?
解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。
3. 如何转换init.ora到spfile?
解答:使用create spfile from pfile 命令
.
4. 解释data block , extent 和segment的区别(这里建议用英文术语)
解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.
5. 给出两个检查表结构的方法
解答:1、DESCRIBE命令
2、DBMS_METADATA.GET_DDL 包
6. 怎样查看数据库引擎的报错
解答:alert log.
7. 比较truncate和delete 命令
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.
8. 使用索引的理由
解答:快速访问表中的data block
9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据
解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的信息
10. FACT Table上需要建立何种索引?
解答:位图索引(bitmap index)
11. 给出两种相关约束?
解答:主键和外键
12. 如何在不影响子表的前提下,重建一个母表
解答:子表的外键强制实效,重建母表,激活外键
13. 解释归档和非归档模式之间的不同和它们各自的优缺点
解答:归档模式是指你可以备份所有的数据库transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高
.
14. 如何建立一个备份控制文件?
解答:Alter database backup control file to trace.
15. 给出数据库正常启动所经历的几种状态?
解答:
STARTUP NOMOUNT –数据库实例启动
STARTUP MOUNT - 数据库装载
STARTUP OPEN –数据库打开
16. 哪个column可以用来区别V$视图和GV$视图?
解答:INST_ID 指明集群环境中具体的某个instance 。
17. 如何生成explain plan?
解答:
运行utlxplan.sql. 建立plan 表针对特定SQL语句,使用explain plan set statement_id = 'tst1' into plan_table 运行utlxplp.sql 或utlxpls.sql察看explain plan
18. 如何增加buffer cache的命中率?
解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice . 如果有必要更改,可以使用alter system set db_cache_size 命令
19. ORA-01555的应对方法?
解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具体造成错误的SQL文本
20. 解释$ORACLE_HOME和$ORACLE_BASE的区别?
解答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录
21. 如何判断数据库的时区?
解答:SELECT DBTIMEZONE FROM DUAL;
22. 解释GLOBAL_NAMES设为TRUE的用途
解答:GLOBAL_NAMES指明联接数据库的方式。如果这个参数设置为TRUE,在建立数据库链接时就必须用相同的名字连结远程数据库
23。如何加密PL/SQL程序?
解答:WRAP
24. 解释FUNCTION,PROCEDURE和PACKAGE区别
解答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值而function将返回一个值在另一方面,Package是为了完成一个商业功能的一组function和proceudre的集合
25. 解释TABLE Function的用途
解答:TABLE Function是通过PL/SQL逻辑返回一组纪录,用于普通的表/视图。他们也用于pipeline和ETL过程。
26. 举出3种可以收集three advisory statistics
解答:Buffer Cache Advice, Segment Level Statistics, Timed Statistics
27. Audit trace 存放在哪个oracle目录结构中?
解答:unix $ORACLE_HOME/rdbms/audit Windows the event viewer
28. 解释materialized views的作用
解答:Materialized views 用于减少那些汇总,集合和分组的信息的集合数量。它们通常适合于数据仓库和DSS系统。
29. 当用户进程出错,哪个后台进程负责清理它
解答:PMON
30. 哪个后台进程刷新materialized views?
解答:The Job Queue Processes.
31. 如何判断哪个session正在连结以及它们等待的资源?
解答:V$SESSION / V$SESSION_WAIT
32. 描述什么是redo logs
解答:Redo Logs 是用于存放数据库数据改动状况的物理和逻辑结构。可以用来修复数据库.
33. 如何进行强制LOG SWITCH?
解答:ALTER SYSTEM SWITCH LOGFILE;
34. 举出两个判断DDL改动的方法?
解答:你可以使用Logminer 或Streams
35. Coalescing做了什么?
解答:Coalescing针对于字典管理的tablespace进行碎片整理,将临近的小extents 合并成单个的大extent.
36. TEMPORARY tablespace和PERMANENT tablespace 的区别是?
解答:A temporary tablespace 用于临时对象例如排序结构而permanent tablespaces用来存储那些'真实'的对象(例如表,回滚段等)
37. 创建数据库时自动建立的tablespace名称?
解答:SYSTEM tablespace.
38. 创建用户时,需要赋予新用户什么权限才能使它联上数据库。
解答:CONNECT
39. 如何在tablespace里增加数据文件?
解答:ALTER TABLESPACE
ADD DATAFILE SIZE
40. 如何变动数据文件的大小?
解答:ALTER DATABASE DATAFILE RESIZE ;
41. 哪个VIEW用来检查数据文件的大小?
解答:DBA_DATA_FILES
42. 哪个VIEW用来判断tablespace的剩余空间
解答:DBA_FREE_SPACE
43. 如何判断谁往表里增加了一条纪录?
解答:auditing
44. 如何重构索引?
解答:ALTER INDEX REBUILD;
45. 解释什么是Partitioning(分区)以及它的优点。
解答:Partition将大表和索引分割成更小,易于管理的分区。
46. 你刚刚编译了一个PL/SQL Package但是有错误报道,如何显示出错信息?解答:SHOW ERRORS
47. 如何搜集表的各种状态数据?
解答:ANALYZE
The ANALYZE command.
48. 如何启动SESSION级别的TRACE
解答: DBMS_SESSION.SET_SQL_TRACE
ALTER SESSION SET SQL_TRACE = TRUE;
49. IMPORT和SQL*LOADER 这2个工具的不同点
解答:这两个ORACLE工具都是用来将数据导入数据库的。
区别是:IMPORT工具只能处理由另一个ORACLE工具EXPORT生成
的数据。而SQL*LOADER可以导入不同的ASCII格式的数据源
50。用于网络连接的2个文件?
解答:TNSNAMES.ORA and SQLNET.ORA
――――――――――JAVA――――――――――
第一,谈谈final, finally, finalize的区别。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
第五,HashMap和Hashtable的区别。
第六,Collection 和Collections的区别。
你千万别说一个是单数一个是复数。
第七,什么时候用assert。
API级的技术人员有可能会问这个。
第八,GC是什么? 为什么要有GC?
基础。
第九,String s = new String("xyz");创建了几个String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
面试题都是很变态的,要做好受虐的准备。
第十二,sleep() 和wait() 有什么区别?
搞线程的最爱。
第十三,Java有没有goto?
很十三的问题,如果哪个面试的问到这个问题,我劝你还是别进这家公司。
第十四,数组有没有length()这个方法? String有没有length()这个方法?
第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
常问。
第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
第十七,给我一个你最常见到的runtime exception。
如果你这个答不出来,面试的人会认为你没有实际编程经验。
第十八,error和exception有什么区别?
第十九,List, Set, Map是否继承自Collection接口?
第二十,abstract class和interface有什么区别?
常问。
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
第二十三,启动一个线程是用run()还是start()?
第二十四,构造器Constructor是否可被override?
第二十五,是否可以继承String类?
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code 会不会被执行,什么时候被执行,在return前还是后?
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
有C背景的程序员特别喜欢问这种问题。
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,编程题: 写一个Singleton出来。
1,作用域public,protected,private,以及不写时的区别
2,ArrayList和Vector的区别,HashMap和Hashtable的区别
3,char型变量能不能定义为一个中文?为什么?
4,多线程有几种表示方法,都是什么?同步有几种实现方法,都是什么?
5,继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
6,内部类的实现方式?
7,垃圾回收
机制
综治信访维稳工作机制反恐怖工作机制企业员工晋升机制公司员工晋升机制员工晋升机制图
,如何优化程序?
8,float型float f=3.4是否正确?
Jsp方面
1,jsp有哪些内置对象?作用分别是什么?
2,jsp有哪些动作?作用分别是什么?
3,include的两种实现方式的区别?
4,两种跳转方式分别是什么?有什么区别?
Servlet方面
1,说一说Servlet的生命周期?
2,Servlet版本间(忘了问的是哪两个版本了)的不同?
Jdbc,Jdo方面
1,可能会让你写一段Jdbc连Oracle的程序.
2,Class.forName的作用?为什么要用?
3,Jdo是什么?
Xml方面
1,xml有哪些解析技术?区别是什么?
2,你在项目中用到了xml技术的哪些方面?如何实现的?
3,用jdom解析xml文件时如何解决中文问题?如何解析?
EJB方面
1,EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?
MVC方面
1,MVC的各个部分都有那些技术来实现?如何实现?
设计模式方面:
1,开发中都用到了那些设计模式?用在什么场合?
JavaScript方面
1,如何校验数字型?
CORBA
1,CORBA是什么?用途是什么?
请用自己的理解简单描述一下面向对象的三个特点:封装、继承、多态。
2. 访问修饰符“public/private/protected/缺省的修饰符”的使用有什么不同?
3. 用关键字final分别修饰类、方法、变量时,有何意义?
4. JA V A语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
5. Object类(或者其子类)的finalize()方法在什么情况下被调用?
6. 一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?
7. 内部类可以引用他的包含类的成员吗?有没有什么限制?
8. 写一段代码,遍历一个List中的元素。
9. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
10. 描述使用socket建立客户端与服务器的通信的过程(也可以用代码示例)。
11. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
12. java中会存在内存泄漏吗,请简单描述。
13. java中实现多态的机制是什么?
14. overload(重载)和override(重写)有什么区别?
15. java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
16. 静态变量和实例变量的区别:
17. 使用jdbc进行数据库查询操作的步骤,比如有一个职工信息表(Staff),它有以下几个field(ID, NAME, PHONE,ADDRESS,AGE),请查找ID为001的雇员的信息并且打印出来,数据库的driver为:"sun.jdbc.odbc.JdbcOdbcDriver",数据库的url使用jdbc:odbc:people
18,什么是java序列化,如何实现java序列化
18. 是否可以从一个static方法内部发出对非static方法的调用?
19. 写clone()方法时,通常都有一行代码,是什么?
20. List、Map、Set三个接口,存取元素时,各有什么特点?
21. 写一段代码,遍历一个List中的元素。
22. ArrayList与Vector的区别?
23. 如何判断一个对象是否是一个已知类的对象,可以写一段代码说明。
24. 在JA V A中,如何跳出当前的多重嵌套循环?
1.jsp页面有几个对象,分别实现自什么类
答,其6个,request,response,session,application,out,page分别实现自javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.http.Http Session,javax.servlet.ServletContext,javax.servlet.jsp.JspWriter,javax.servlet.jsp.J spPage
2.类之间的继承关系
3. jdbc相关知识,其中Class.forName的作用
答,Class.forName("..."); //加载类驱动
Connection conn = DriverManager.getConnection(sUrl, sUserName, sPassword);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sSQL);
4. 客户端连接EJB的代码
答,InitialContext ctx = new InitialContext();
Object home = ctx.lookup("java:comp/env/ejb/account");
AccountHome accountHome =
(AccountHome)PortableRemoteObject.narrow(home, AccountHome.class);
5. ejb的分类,用途
答,session bean和entity bean,session bean分Stateful和stateless,entity bean分cmp 和bmp
6. java有些什么集合类型,各自的区别
答,map,set,list
HashMap,HashTable,后者线程同步
set不允许重复元素
ArrayList,Vector,后者线程同步
ArrayList,LinkedList,前者读的速度快,后者修改速度快
7. 声明型异常和运行期异常的异同
答,都是Exception的子类
声明型必须catch,运行期异常继承自RuntimeException.
8. XML相关
答,分为SAX及DOM两种处理方式
SAX:轻量型的方法,事件驱动,部分读入文档
DOM:使用较简单,文档驱动,全部读入
9. 你常用的java类
答,String , StringBuffer, 集合类, ....
10. struts的优点,流程
答,优点:从mvc,BO VO方面回答
流程:client-->总控ActionServlet
总控调以下操作:
-->form收集数据
-->action调javbean处理业务(调ejb,DAO...)
-->转向相应的jsp
jsp从form中取得数据显示
11. 介绍一下所做过的项目
答,介绍一个就可以,从如到终,加一些个人感想。注意在需求,设计,测试方面多加点口水:)