Java面试题01

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中主要有下面四种表连接方式:

  1. SORT MERGE JOIN(排序-合并连接);
  2. NESTED LOOPS(嵌套循环);
  3. HASH JOIN(哈希连接);
  4. 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.传播,宣传,培养)

  1. REQUIRED:如果当前存在事务,则加入该事务,否则新建一个事务。这是最常见的传播行为,也是默认的传播行为。
  2. SUPPORTS:支持当前事务,如果当前不存在事务,则以非事务方式执行。
  3. MANDATORY:强制要求当前存在事务,如果不存在事务,则抛出异常。(mandatory:adj.强制的)
  4. REQUIRES_NEW:重新开启一个新的事务,如果当前存在事务,则挂起该事务。(注意:默认的事务隔离级别——可重复读中 ,开启的新事务读不到之前挂起事务的操作,而且如果操作相同的表会导致锁表,一定要谨慎使用!
  5. NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,则挂起该事务。
  6. NEVER:以非事务方式执行操作,如果当前存在事务,则抛出异常。
  7. NESTED:如果当前存在事务,则嵌套事务中执行。嵌套事务是相对于外部事务而言的,它可以独立提交或回滚,但是嵌套事务的提交或回滚并不会对外部事务产生影响。如果外部事务不存在,那么 NESTED 与 REQUIRED 的效果是一样的。该传播行为只有在使用 JDBC 事务时才有效。

17、不能用来修饰interface的是?答案:ACD

A.  private        B.  public        C.  protected        D.  static

解析:interface 是 public 的,力口不加都是 public


18、属于进程之间的通信有?答案: ABCD

A.信号量        B.管道        C.套接字        D.消息队列

解析:进程间的通信有以下几种

  1. 消息队列通信
  2. 共享内存通信
  3. 管道
  4. 信号量通信
  5. 有名管道通信
  6. 无名管道通信
  7. 套接字通信
  8. 高级管道通信
  9. FIFO
  10. 消息传递
  11. Socket
  12. 共享数据

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的三种文件类型?答案:数据文件;日志文件;控制文件

你可能感兴趣的:(面试,linux,java,面试,数据库)