面试题3
1.下面哪些是Thread类的方法( )
A
start() B
run() C exit() D
getPriority()
start ():这个方法的做用就是通知线程规划器此现场能够运行了。要注意,调用start方法的顺序不表明线程启动的顺序,也就是cpu执行哪一个线程的代码具备不肯定性。。
run()这个方法是线程类调用start后执行的方法,若是在直接调用run而不是start方法,那么和普通方法同样,没有区别。
getPriority()和
setPriority(int newPriority)这两个方法是用于获取当前和设置线程的优先级。优先级高的线程获得的cpu多。也就是说,两个等待的线程,优先级高的线程容易被cpu执行。默认状况下,线程的优先级是5。线程的优先级分为1~10等级。
2. 下面程序的运行结果是( )
String str1 = "hello":
String str2= "he" + new String('llo"); //这句话会被优化成 String str2 = new String("hello");
System. out. printIn(str1 == str2);
false
拓展 String str3 = "he"+"llo";
sout(str2==str3);
false
注意直接打引号的在字符串常量池中,new 的在堆中
3.下列说法正确的有()
A. class中的constructor不可省略(默认省略,自带空参构造)
B. constructor必须与class同名,但方法不能与class同名(成员方法能够与类名相同)
C. constructor 在一一个对象被new时执行
D.一个class只能定义一个constructor(空参构造和有参构造,多个)
4.下面程序的运行结果: ()
1 public class ThreadMain {
2 public static void main(String[] args) {
3 Thread t = new Thread(){
4 public void run(){
5 pong();
6 }
7 };
8 t.run();
9 System.out.println("ping");
10 }
11 static void pong(){
12 System.out.println("pong");
13 }
14 }
A pingponghtml
B pongping
C pingpong和pongping都有可能
D都不输出
5.下列属于关系型数据库的是( )
A.
Oracle B
MySqI C IMS D MongoDB
6. 0.6332的数据类型是( )
A. float B.
double C. Float
7.下面哪一个流类属于面向字符的输入流( )
A BufferedWriter
B FileInputStream
C 0bjectInputStream
D InputStreamReader
备注:以XXXXStream 为结尾的都是字节流,以XXXXWriter XXXReader为结尾的都是字符流。
固然了流只能用流初始化。在作某些判断题的时候颇有用。
8. 下面哪些是对称加密算法?
A. DES B. AES C. DSA D.
RSA
9. Nginx的root和alisa有什么区别?
连接:https://www.cnblogs.com/Narule/p/10130861.htmljava
alias 访问路径 截取程序员
root 访问路径 拼接面试
10.如何提升spring API接口的吞吐量?
连接:https://blog.csdn.net/liuchuanhong1/article/details/78744138
使用异步请求机制来提升。
(1)使用callable异步调用
(2)使用WebAsyncTask异步调用
(3)使用Deferred异步调用。
面试题4
1.下列说法正确的是()
A、class中间的constructor不能够省略
B、constructor必须与class同名,可是方法不能与class同名
C、constructor在一个对象被new的时候执行
D、一个class只能定义一个constructor
2.下列书佛啊正确的是(
)
A、LinkedList继承自List
B、AbstractSet继承自Set
C、HahsSet继承自AbstractSet
D、WeakMap继承自HashMap
3.下列哪一个不是表单标记()
A、input
B、radio
C、CheckBox
D、TR
4.下面关于垃圾收集的说法正确的是()
A、一旦一个对象成为垃圾,就会马上被收集掉。
B、对象空间被收集掉以后,会执行该对象的finalize方法
C、finalize方法和C++的析构函数是彻底一回事情
D、一个对象成为垃圾是由于再也不有引用指着他,可是线程并不是如此。
5.ArrayList list = new ArrayList(20);中的list扩充了几回()
A、0 (真正有值添加进去的时候才会扩容)
B、1
C、2
D、3
6.下列程序的执行结果为()
1 public class IOTest {
2 public static void main(String[] args) {
3 String s = "1234567890abcdefghijklmnopq";
4 byte[] b= s.getBytes();
5 try{
6 File f = new File("B.txt");
7 FileOutputStream outputStream = new FileOutputStream(f);
8 outputStream.write(b,10,10);;
9 outputStream.write(b,0,5);
10 }catch (IOException e){
11 System.out.println(e.getMessage());
12 }
13 }
14 }
A、抛出一个能够捕获的IOExceptionredis
B、编译正常,而且生成B.txt,文件内容为abcdefghij12345算法
C、编译正常,可是运行时出现错误spring
D、编译正常,可是屏幕没有任何输出。sql
7.使用mkdir建立一个临时文件夹tmp/aaa,将一些文件复制其中,使用完毕后要删除/mnt/tmp中的文件夹和全部的文件,应该使用命令()数据库
A、rm /tmp/aaa设计模式
B、rm -r /tmp/aaa
C、rmdir -r /tmp/aaa
D、rmdir /tmp/aaa
8.在实现DAO设计模式时,下面哪一种设计模式常常被采用()
A、Proxy模式
B、Factory模式
C、Protype模式
D、Observer模式
9.要从文件“file.dat”中读取第十个字节到变量C中,下面那个方法更适合()
A、FileInputStream in=new FileInputStream("file.dat");in.skip(9);int c=in.read( );
B、FileInputStream in=new FileInputStream("file.dat");in.skip(10);int c=in.read( );
C、FileInputStream in=new FileInputStream("file.dat");int c=in.read( );
D、RandomAccessFile in=new RandomAccessFile("file.dat");in.skip(9);int c=in.readByte( );
10.假设test类运行于多线程环境下,那么关于A处的同步下面描述正确的是()
1 public class Test {
2 List list= new java.util.ArrayList();
3 public void test() {
4 synchronized ( list) { // --A
5 list.add( String.valueOf(System.currentTimeMillis()));
6 }
7 }
8 }
A、 test方法中必须增长synchronized
B、Test类为singleton时有必要增长synchronized
C、 test方法中没有必要增长synchronized
D、 Test类为singleton时也没有必要增长synchronized
11.下列哪项不是JSP操做指令()
A、getProperty
B、forward
C、include
D、import
12.下面哪项不是response对象的方法()
A、setContentType(String contentTypestr)
B、setHeader(String headername,String headervalue)
C、getParameter(String str)
D、sendError(int errorcode
2、填空题
1. MySQL的事物隔离级别:
一致性,原子性,隔离性,持久性
2.在开发中写出4个能使用throw抛出的异常:(Exception下的子类均可以抛)
IOException,ClassNotFoundException,DataFormatException,illegalAccessException,NoSuchFieldException
3.写出Mysql中常见的四种索引:
主键索引/普通索引/全文索引/惟一索引
4.说说线程安全的三种实现方式:
同步代码块,同步方法,LOCK锁机制。
5.请解释Linux系统下常见命令
echo:输出 ls:显示 cp:复制 rm:删除
3、简答题
1.集群环境中,session如何实现共享?
1).粘性session
粘性session是指Ngnix每次都将同一用户的全部请求转发至同一台服务器上,即将用户与服务器绑定。
2).服务器session复制
即每次session发生变化时,建立或者修改,就广播给全部集群中的服务器,使全部的服务器上的session相同。
3).session共享
缓存session,使用redis, memcached。
4).session持久化
将session存储至数据库中,像操做数据同样才作session。
其实,最简单的两种方案,就是方案一和方案三,都不须要对session进行任何操做,只须要将Nginx和Tomcat上的配置文件修改一下便可。
原文:https://blog.csdn.net/qq_34666857/article/details/77112985
2.一个表中的id有多个记录,把这个id的记录查出来,并显示共有多少条记录
用查询语句解:
1 select *,count(*) as 记录数 from test where id =1 group by id;
用视图解:
1 create view v_countNum as select id ,count(*) as countNum from test GROUP BY id;
2
3 select countNum from v_countNum where id =1;
3.如何看待设计模式,并简单说说你对观察者模式的理解。
设计模式让程序员保持在涉及层次上,不会纠结于对象与类这种琐碎的事情。方便团队沟通想法,交流的不只仅是模式名称,而是一整套模式背后所象征的质量,特性、约束。
观察者模式:在对象之间地灵异一对多的依赖,这样一来,当一个对象改变状态,依赖他的对象的偶会收到通知而且自动更新。
4.你的接口服务数据被人载包了,如何方式主数据恶意提交?
咱们能够在接口传输参数里面设置一个业务编号,这个编号用来区分是否重复提交。这样即便数据被抓包了,对方也没法区分每一个字段你的含义,这时,这个业务编号的做用就来了