1. 程式人生 > >2016-08-14-京東筆試和麵試(Java方向)

2016-08-14-京東筆試和麵試(Java方向)

應聘崗位:Java開發

筆試

1、程式題,當輸入type=4時,寫出以下程式碼的輸出:
switch (type) {
        default:
            System.out.println(4);
        case 1:
            System.out.println(1);
        case 2:
            System.out.println(2);
        case 3:
            System.out.println(3);
        }

2、程式題,以下程式碼最後會丟擲一個異常,是第幾行丟擲的:
try{
            throw new Exception("1");
        }catch (IOException e){
            throw new Exception("2");
        }catch (Exception e) {
            throw new Exception("3");
        }finally {
            throw new Exception("4");
        }
3、web容器有幾種作用域?如何防止SQL注入? 4、MySQL樂觀鎖和悲觀鎖的概念?原理機制? 5、jQuery獲取元素的方法,至少寫出3種。
6、寫出SQL的左連線、右連線、內連線、執行查詢過程(不確定)的關鍵字。 7、Linux命令列。有一個日誌檔案a.log,計算包含"jd.com"的行數;將檔案中的"jd.com"替換成"360buy.com";(還有一題忘記了)。 8、程式題,實現二分法查詢。 9、我們負責的一個站點出現無法訪問的問題,列舉可能導致該問題的原因,並說明如何證明,越多越好。 其中有一道題忘記了。

面試

首先就是先自我介紹,然後談一些專案經歷,然後問技術相關問題,沒有當場寫程式碼環節。

Java相關

1、JVM的記憶體結構和管理機制; 2、JVM的垃圾回收機制; 3、Java的類載入機制; 4、Java的集合類有哪些;
5、LinkList和ArrayList的區別; 6、HashMap的實現原理; 7、你知道哪些設計模式; 8、簡單講一下工廠模式的優勢; 9、Spring的事務管理;

資料庫相關

1、資料庫事務特徵有哪些; 2、SQL語句的優化方法有哪些;

其他

1、為什麼說HTTP是無狀態、無連線的; 2、三次握手和四次揮手; 3、你常用的Linux命令列有哪些。