2019 /04/18 面試題 及答案

 

1.能夠簡單的按照速度將通用數據結構劃分爲:數組和鏈表(最慢),樹(較快),哈希表(最快)。html

2.java

  • GET在瀏覽器回退時是無害的,而POST會再次提交請求。數組

     

  • GET產生的URL地址能夠被Bookmark,而POST不能夠。瀏覽器

     

  • GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。安全

     

  • GET請求只能進行url編碼,而POST支持多種編碼方式。數據結構

     

  • GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會被保留。編碼

     

  • GET請求在URL中傳送的參數是有長度限制的,而POST麼有。url

     

  • 對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。spa

     

  • GET比POST更不安全,由於參數直接暴露在URL上,因此不能用來傳遞敏感信息。3d

     

  • GET參數經過URL傳遞,POST放在Request body中。

3.

     String a = "dadasd";
        String aa = null;
        try {
            aa = new String(a.getBytes("GBK"),"utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        //dadasd
        System.out.println(aa);

4.

import java.util.List;

/**
 * @author:zhukaixin
 * @create 2019-04-18-18:35
 * @descrption:一個整數的List集合索引爲偶數索引的元素值求和
 */
public class Demo5 {
    public static void main(String[] args) {

        List<Integer> list = new ArrayList();
        int num = 0;
        list.add(1);
        list.add(2);
        list.add(3);
        for (int i = 0; i < list.size(); i++) {
            if (i % 2 == 0) {
                num = (int) (num + list.get(i));
            }

        }
        //4
        System.out.println(num);
    }
}

5. 1)經過反射機制來建立對象;

2)調用對象的clone方法,須要如下幾個步驟才能使用clone方法:

(1)實現clone的類首先須要繼承Cloneable接口實質上是一個標識接口,沒有任何的接口方法,這一點和序列化接口Serializable()很相似。

(2)在類中重寫Object類的clone方法。

(3)在clone方法中調用super.clone()。不管clone類的繼承結構是什麼,super.clone()都會直接或間接的調用Java.long.Object類中的clone()方法。

3)經過反序列化的方式建立對象,

參考博客:

6.沒有作

7.

/**
 * @author:zhukaixin
 * @create 2019-04-18-19:02
 * @descrption:
 */
public class Demo6 {
    public static void main(String... args) {
        //Error:(8, 9) java: 非法的表達式開始
        private int x = 4;
        System.out.println("answer is" + plusOne(4));
    }

    public Double plusOne(final int x) {
        x = x + 1;
        //類型轉換有問題
        return x;
    }
}

8.

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;

/**
 * @author:zhukaixin
 * @create 2019-04-18-18:17
 * @descrption:
 */
public class Demo3 {
    public static void main(String[] args) {
        Map<byte[],String> m = new HashMap<byte[],String>();
        byte[] key = "yz".getBytes();
        m.put(key,"yz");
        //true
        //false
        //false
        System.out.println(m.containsKey(key));
        System.out.println(m.containsKey("yz"));
        System.out.println(m.containsKey("yz".getBytes()));

    
    }
}

9.

import javax.xml.transform.Result;

/**
 * @author:zhukaixin
 * @create 2019-04-18-18:09
 * @descrption:
 */
public class Demo2 {
    public static void main(String[] args) {
        String s = "1\\//2\\//3\\//4";
        //\\\\//
        String []result = s.split("\\\\//");
        for(String r : result){
            System.out.print(r);
        }
    }
}

10.

/**
 * @author:zhukaixin
 * @create 2019-04-18-18:21
 * @descrption:
 */
public class Demo4 {
    public static void main(String[] args) {
        Thread t = new Thread();
        //Error:(9, 9) java: 非法的表達式開始
        //Error:(9, 16) java: 非法的表達式開始
        public void run () {
            fun();
        }
        ;
        t.run();
        System.out.print("Y");
    }
    static void fun() {
        System.out.print("Z");
    }
    }
}

11.

/**
 * @author:zhukaixin
 * @create 2019-04-18-18:21
 * @descrption:
 */
public class Demo4 {
    public static void main(String[] args) {
        Thread t = new Thread();
        //Error:(9, 9) java: 非法的表達式開始
        //Error:(9, 16) java: 非法的表達式開始
        public void run () {
            fun();
        }
        ;
        t.run();
        System.out.print("Y");
    }
    static void fun() {
        System.out.print("Z");
    }
    }
}
相關文章
相關標籤/搜索