1. 程式人生 > >面試題-廣州信景技術有限公司

面試題-廣州信景技術有限公司

1.列舉你開發中使用過的工具,以及簡單描述他們的用途,除eclipse、Word、Excel、PPT。

自由發揮,Photoshop是技術棧。

2.說說你用過哪些JS的框架。

vue Bootstrap AngularJS

3.簡述如何在瀏覽器中除錯JS程式。

F12 開啟瀏覽器的控制檯

4.form中input可以設定為readonly和disabled,請問有什麼區別?

readonly不可編輯,但可以選擇和複製;值可以傳遞到後臺 disabled不能編輯,不能複製,不能選擇;值不可以傳遞到後臺

5.請寫出servlet的生命週期。

Servlet生命週期分為三個階段:

  1,初始化階段 呼叫init()方法

  2,響應客戶請求階段  呼叫service()方法

  3,終止階段  呼叫destroy()方法

6.談談final,finally,finalize的區別。

1.final:

修飾符,可以用來修飾類、方法、變數。斷子絕孫的操作,被修飾的類無法被繼承,抽象類因為abstract的存在 所以被修飾了也無法實現了,沒有意義(報錯),將變數和方法用final修飾,可以保證他們不被修改(只讀)。被宣告為final的方法也同樣只能使用,不能過載。

2.finally :

捕獲異常時出現,在異常處理時提供 finally 塊來執行任何清除操作。如果丟擲一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。

3.finalize:

方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將物件從記憶體中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個物件沒有被引用時對這個物件呼叫的。

7.java中exception和error有什麼區別,執行時異常和一般異常有什麼區別,寫出你常見的runtimeexception.

exception是程式正常執行中,可以預料的意外情況,並且應該被捕獲,進行相應的處理.

error是指在正常情況下,不大可能出現的情況,絕大部分的error都會導致程式(比如jvm自身)處於非正常的、不可恢復的狀態。既然是非正常情況,所以不便於也不需要捕獲,常見的比如OutOfMemoryError之類,都是Error的子類.

算術異常類:ArithmeticExecption
空指標異常類:NullPointerException
型別強制轉換異常:ClassCastException
陣列負下標異常:NegativeArrayException
陣列下標越界異常:ArrayIndexOutOfBoundsException
違背安全原則異常:SecturityException
檔案已結束異常:EOFException
檔案未找到異常:FileNotFoundException
字串轉換為數字異常:NumberFormatException
操作資料庫異常:SQLException
輸入輸出異常:IOException
方法未找到異常:NoSuchMethodException

8.寫一個Singleton例子。

public class Singleton {  //懶漢模式
    private static Singleton instance;  
    private Singleton (){}  
    public static synchronized Singleton getInstance() {  //加synchronized就是保證執行緒安全
    if (instance == null) {  
        instance = new Singleton();  
    }  
    return instance;  
    }  
}

9.MVC的各個部分都有哪些技術來實現?如何實現?

10.說一下hibernate的快取機制,一級快取和快照的區別?

一級快取

Hibernate的一級快取就是指Session快取,Session快取是一塊記憶體空間,用來存放相互管理的java物件,在使用Hibernate查詢物件的時候,首先會使用物件屬性的OID值在Hibernate的一級快取中進行查詢,如果找到匹配OID值的物件,就直接將該物件從一級快取中取出使用,不會再查詢資料庫;如果沒有找到相同OID值的物件,則會去資料庫中查詢相應資料。當從資料庫中查詢到所需資料時,該資料資訊也會放置到一級快取中。Hibernate的一級快取的作用就是減少對資料庫的訪問次數。

快照原理 ibernate的快照機制和session快取機制一樣也是為了提高程式的執行效率,session快取是為了提高程式在獲取資料時的效率,而快照則是為了提高程式在更新資料時的效率。在hibernate將資料封裝成物件放入session快取中時,同時也會複製一份資料放入session快取的快照中,當程式呼叫uadateXXX()方法並提交事務之後,hibernate不會直接向資料庫傳送sql語句執行更新操作,而是會先清理快取,比對快取和快照中的物件屬性是否一致,如果一致,則不執行update語句,即不會向資料庫傳送sql語句,如果不一致,則將資料同步更新到資料庫中,並更新快照區。

7、8、9步就是區別。會先比對有沒有,然後更改,一致就不改,不一致就改。

11.請說出專案的開發流程以及專案人員配置。

需求,設計,編