真实面试题之二

简答题:java

1String s = new String("xyz");建立了几个String Object?linux

 

答:new String()建立了一个对象,放在队中,建立的字符串自己放在了字串池中。因此建立了两个对象。redis

 

二、数组有没有length()这个方法? String有没有length()这个方法?sql

答:数组中有length属性,没有这个方法。数据库

 

 

3sleep(1000)  wait(1000) 有什么区别? 编程

答:sleep是针对线程阻塞,wait是对象的方法,因此只要使用这个对象就会发生阻塞。数组

 

 

 

四、说一说servlet的生命周期。缓存

 

答:建立,初始化,执行,销毁安全

 

 

五、什么是Singleton模式,有什么做用。 编程实现一个单列类。oracle

 

答:该对象只建立一次,能够反复进行使用。

/**

 * 双检查锁[单例模式]

 * 优势:在synchronized加if,保证了线程安全,比直接上锁提升了执行效率

 * @author DELLL

 *

 */

public class Test01 {

private static Test01 test01;

private Test01() {}


public static Test01 getTest01() {

if(test01 == null) {

synchronized (Test01.class) {

if(test01 == null) {

test01 = new Test01();

}

}

}

return test01;

}

}

 

 

 

 

 

6如下程序代码输出的变量i的值为多少?

public class Test {

public static void main(String[] args) {

int i = 99;

add(i);

System.out.println(i + 100);

}


public static void add(int i){

i += 100;

}

}

 

 

答:199.

 

 

论述题:

 

1、某http形式的接口系统,日均访问量3000W次。管理人员但愿能监控到每分钟的访问量,经讨论计划在接口中加入一计数器。要求该技术器最大限度的不影响系统性能。请你实现该技术器。

 

答:访问量这个数据是不停变化的,能够现将数据放入到redis中,隔一段时间从redis中进行访问,应为这个数据不是特别的重要,访问数据的时候也是从redis中进行访问,若是说redis的缓存失效了能够从数据库中进行访问。

 

 

 

 

 

2java Oracle编程中为何要绑定变量?对oracle的大表操做须要注意些什么?

 

1. 为何使用绑定变量:

(1) 执行sql语句的过程:语法检查,分析,执行,返回结果

(2) 分析分为硬分析和软分析

① 

 

 

 

 

3、代码:

java.util.concurrent.ThreadPoolExecutor threadPool = new java.util.concurrent.ThreadPoolExecutor(5,

            8,

            30,

            TimeUnit.SECONDS,

            new ArrayBlockingQueue(200),

            new  java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy());

}

请描叙new ThreadPoolExecutor对象各参数的含义。

答:

corePoolSize - 即便空闲时仍保留在池中的线程数,除非设置 allowCoreThreadTimeOut 

maximumPoolSize - 池中容许的最大线程数

keepAliveTime - 当线程数大于核心时,这是多余的空闲线程在终止以前等待新任务的最大时间。

unit - keepAliveTime参数的时间单位

workQueue - 在执行任务以前用于保存任务的队列。 该队列将仅保存execute方法提交的Runnable任务。

 

 

 

 

 

 

 

4、请描叙 java.util.concurrent.atomic包的做用。列举你熟悉的几个该包下的类。

 

1. AtomicBoolean

2. AtomicInteger

3. AtomicLong

 

 

 

 

 

 

5、简叙Apache MINA的特性。

 

 

 

六、 写出10个熟悉的linux命令

1. cd

2. Ls

3. Cat:查看文件内容

4. Rm:移动

5. Mkdir:建立文件夹

(1) Rmdir:删除文件夹

6. Cp: 复制

7. Kill:结束进程

8. Vim:文本编辑

(1) Wq:保存离开

9. Pwd:查看当前路径

10. Ps:查看进程

11. Tar -zxvf:解压

12. Systemctl stop firewalld service:关闭防火墙

 

 

 

七、 HTTP协议请求头部包含哪些信息

1. Accpet-Charset:可接受的字符集

2. Accpet-Encoding:可接受的内容的编码方式

3. Authorization:HTTP协议中须要认证资源的认证信息

4. Cache-Control:当前的请求是否使用缓存机制

5. Cookie:设置Cookie的信息

6. Content-Type:请求体的响应类型

 

 

 

八、 你经常使用的Web开发调试工具都有哪些

1. Postman,Idea