1、以下不属于oracle的逻辑结构的是?答案:B
A.段 B.数据文件 C.表空间 D.区
2、构造函数何时被调用?答案:A
A.创建对象时 B.使用对象变量时 C.调用对象方法时 D.类定义时
3、下列排序算法中,最好的情况喂喂O(n)的是?答案:B
A.归并排序 B.直接插入排序 C.快速排序 D.选择排序
4、Oracle中常用的数据库加载工具是?答案:C
A.gdfdist B.oracle Exadata C.sqldr D.gpload
5、以下哪个是Linux的文件系统?答案:C
A.ntfs B.fat32 C.ext3 D.fat16
6、Java.io包中,可以指定编写(如GBK,UTF-8等)读取数据的类是?答案:C
A.FileInputReader B.StringReader C.BufferedReader D.InputStreaReader
7、以下不属于结构型模式的设计模式是?答案:D
A.适配器模式 B.代理模式 C.装饰模式 D.迭代器模式
8、如果在建立了Tcp的socket上调用recv函数,返回值为0,是因为?答案:A
A.对端关闭 B.连接发生了错误 C.没有收到对端数据 D.对端发送了一个长度为0的数据
解析:默认 socket 是阻塞的 解阻塞与非阻塞recv返回值没有区分,都是 <0 出错 =0 连接关闭 >0 接收到数据大小,
9、以下哪些情况下可以终止当前线程?答案:A
A.抛出一个异常 B.当线程执行Sleep()函数 C.当一个优先级高的线程进入就绪状态 D.当创建一个新的线程
解析:A是阻塞,B没关系,C终止,D也不影响
10、Oracle的表连接类型有哪些?答案:ACD
A.哈希连接 B.内连接 C.排序合并连接 D.嵌套循环连接
解析:Oracle中主要有下面四种表连接方式:
- SORT MERGE JOIN(排序-合并连接);
- NESTED LOOPS(嵌套循环);
- HASH JOIN(哈希连接);
- CARTESIAN PRODUCT(笛卡尔积);
11、Oracle的内存结构有哪些?答案:ABC
A.SGA B.UGA C.PGA D.MGA
解析:Oracle数据库的主要内存结构包括:
1、SGA(System Global Area):系统全局区域,用于存储共享的内存结构。主要包含:
数据库缓冲区:存储数据库块。
红色日志缓冲区:临时存储在线重做日志记录。
共享池:存储SQL语句、数据字典等共享信息。
2、PGA(Program Global Area):进程专用区域,每个后台进程或用户会话对应一个PGA,用于私有数据存储。主要包含:
SQL工作区:执行SQL语句的私有内存。
会话信息:会话私有数据。
3、UGA(User Global Area):用户全局区域,提供大型会话专用内存,可选。
4、大池:供大内存块使用,如大型PL/SQL对象。
5、Java池:供Oracle数据库中的Java代码使用。
12、Oracle的分区方式有哪些?答案:AC
A.散列分区 B.组合分区 C.列表分区 D.区间分区
解析:Oracle 10g提供了以下几种分区类型:
(1)范围分区(range);
(2)哈希分区(hash);
(3)列表分区(list);
(4)范围-哈希复合分区(range-hash);
(5)范围-列表复合分区(range-list)。
13 、[-z""] && echo 1 || echo 2的输出是?答案:1
解析:
[ -z STRING ] "STRING" 的长度为零则为真
"":这个变量的长度为0,所以为真,执行echo 0,所以输出 0;
[-z""]&&echo 2 ||echo 1 输出为2;
[-z"s"]&&echo 2 ||echo 1 输出为1;
14、关于事务管理错误的是?答案:A
A.实现编程事物,可以实现PlatformTransaction接口或是使用事务模板TransactionTemplate
B.Spring事务管理方式包括编程方式、声明式
C.声明式采用配置xml方式,将事务管理与实际业务代码解耦
D.编程式采用的方式来控制事物的边界
15、Oracl中一个用户拥有所有的数据库对象统称为?答案:B
A.数据库 B.模式 C.表空间 D.实例
16、String的传播有几种方式?答案:C
A.3 B.5 C.7 D.4
解析:
Spring 中定义了七种事务传播行为,分别是:(propagation:n.传播,宣传,培养)
REQUIRED
:如果当前存在事务,则加入该事务,否则新建一个事务。这是最常见的传播行为,也是默认的传播行为。SUPPORTS
:支持当前事务,如果当前不存在事务,则以非事务方式执行。MANDATORY
:强制要求当前存在事务,如果不存在事务,则抛出异常。(mandatory:adj.强制的)REQUIRES_NEW
:重新开启一个新的事务,如果当前存在事务,则挂起该事务。(注意:默认的事务隔离级别------可重复读中 ,开启的新事务读不到之前挂起事务的操作,而且如果操作相同的表会导致锁表,一定要谨慎使用!)NOT_SUPPORTED
:以非事务方式执行操作,如果当前存在事务,则挂起该事务。NEVER
:以非事务方式执行操作,如果当前存在事务,则抛出异常。NESTED
:如果当前存在事务,则嵌套事务中执行。嵌套事务是相对于外部事务而言的,它可以独立提交或回滚,但是嵌套事务的提交或回滚并不会对外部事务产生影响。如果外部事务不存在,那么NESTED
与REQUIRED
的效果是一样的。该传播行为只有在使用 JDBC 事务时才有效。
17、不能用来修饰interface的是?答案:ACD
A. private B. public C. protected D. static
解析:interface 是 public 的,力口不加都是 public
18、属于进程之间的通信有?答案: ABCD
A.信号量 B.管道 C.套接字 D.消息队列
解析:进程间的通信有以下几种
- 消息队列通信
- 共享内存通信
- 管道
- 信号量通信
- 有名管道通信
- 无名管道通信
- 套接字通信
- 高级管道通信
- FIFO
- 消息传递
- Socket
- 共享数据
19、在Linux中查看java进程的命令是?答案:jps -l或ps -ef | grep java或pgrep -a java
解析:
1、使用
jps
命令 :jps
(Java Virtual Machine Process Status Tool)是Java Development Kit(JDK)自带的一个工具,用于列出所有运行的Java进程。基本使用方法如下:
jps -l
这将列出所有正在运行的Java进程的PID和主类的全路径名。
-l
选项可以显示主类的全路径名或jar文件的路径。如果你的JDK安装和配置正确,这应该是查看Java进程最直接的方法。2、使用
ps
命令 :ps
命令是用于查看当前系统进程状态的工具。你可以结合grep
命令,以查看所有Java进程。如下所示:
ps -ef | grep java
这会列出所有的Java进程,并显示它们的详细信息,如PID、启动时间、CPU使用时间、命令行等。
3、使用
pgrep
命令 :pgrep
命令是一个可以根据名称查找进程的工具。如下所示:pgrep -a java
20、java同步实现方法有两种,分别是?答案: 同步方法与同步块
- 同步方法:使用
synchronized
关键字修饰方法当一个方法被
synchronized
关键字修饰时,同一时间只有一个线程可以执行该方法。其他线程必须等待当前线程执行完毕后才能继续执行。示例如下:public synchronized void synchronizedMethod() { // 方法体 }
- 同步块:使用
synchronized
关键字创建一个同步代码块当需要同步的代码只是方法的一部分时,可以使用同步块。示例如下:
public void someMethod() { // 非同步代码 synchronized (this) { // 同步代码块 } // 非同步代码 }
21、Oracle的三种文件类型?答案:数据文件;日志文件;控制文件