zoukankan      html  css  js  c++  java
  • 面试题3与面试题4

    面试题3

    1.下面哪些是Thread类的方法( )

    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 pingpong

    B pongping
    C pingpong和pongping都有可能
    D都不输出

    5.下列属于关系型数据库的是( )
    A. Oracle  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.html

      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、抛出一个可以捕获的IOException

    B、编译正常,并且生成B.txt,文件内容为abcdefghij12345

    C、编译正常,但是运行时出现错误

    D、编译正常,但是屏幕没有任何输出。

    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
     
    二、填空题
    1. MySQL的事物隔离级别:一致性,原子性,隔离性,持久性
    2.在开发中写出4个能使用throw抛出的异常:(Exception下的子类都可以抛)
    IOException,ClassNotFoundException,DataFormatException,illegalAccessException,NoSuchFieldException
    3.写出Mysql中常见的四种索引:主键索引/普通索引/全文索引/唯一索引
    4.说说线程安全的三种实现方式:同步代码块,同步方法,LOCK锁机制
    5.请解释Linux系统下常见命令 
    echo:输出  ls:显示 cp:复制 rm:删除
     
    三、简答题
    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.你的接口服务数据被人载包了,如何方式主数据恶意提交?
    我们可以在接口传输参数里面设置一个业务编号,这个编号用来区分是否重复提交。这样即使数据被抓包了,对方也无法区分每个字段你的含义,这时,这个业务编号的作用就来了
  • 相关阅读:
    G1垃圾收集器入门-原创译文
    Dubbo微容器(Cooma)详解
    Dubbo工程结构和Maven打包
    Greys学习笔记(未完待续)
    ES学习笔记
    CSS标准盒子模型和IE怪异盒子模型
    npm install 报错
    安卓手机scrollTop失效问题记录
    npm run dev报错
    severless扫盲
  • 原文地址:https://www.cnblogs.com/battlecry/p/10402247.html
Copyright © 2011-2022 走看看