當前位置:學問君>人在職場>面試問題>

程序員面試攻略

學問君 人氣:5.54K

一、入門級程序員的面試題:

程序員面試攻略

這些軟件設計和設計模式的先關問題大多會出現在初學者面試情景中,什麼是設計模式?特定的設計模式又是什麼?等等這些概念,也許你很輕易回答這些概念,但文內提供的這些問題也許能給你帶來更多價值。

1。 什麼是設計模式?在你編碼過程中使用了哪些設計模式?

每位程序員都會利用自身經歷來回答這些特定的設計問題。設計模式是代碼重用的擴展。

2。 你能說出在標準的JDK庫中使用的一些設計模式嗎?

Decorator設計模式常被用於各種Java IO類中,Singleton模式常被用在執行環節中,Calendar以及各種其他類,Factory(工廠)模式常被用於各種不可變類,比如Boolean。Boolean。valueOf和Observer模式常被用於Swing和許多事件監聽機器框架中。

3。 在Java中Singleton設計模式是什麼?爲線程安全Singleton編碼。

Singleton模式在整個系統中主要是共享模式。在整個應用程序實例中只保持一個特定的類,這是由所以模組共享決定的。Java。lang。Runtime是Singleton設計模式中一個典型範例。關於此問題你可以檢視更多。從Java 5版本開始,你可以爲安全線程singleton模式使用enum。

4。 使用Factory模式主要優勢是什麼?你會在哪種情況下使用?

Factory模式最主要的優勢在於當創建對象時可提高封裝水平。如果你使用Factory模式來創建對象,你可以在後期重置最初產品的裝置或者無須任何客戶層就可實現更先進更高性能的類。可以檢視我曾發表過的有關Factory模式的更多細節及優點。

5。 Java中Observer設計模式是什麼?

Observer設計模式基於對象的變化而改變。比如:天氣系統,在這裏必須將天氣變化的視圖呈現給觀衆。這裏天氣項目是主體而非不同的觀察者。透過這篇文章,檢視在Java中Observer模式。

6。 例舉一個在Java中使用Decorator模式的案例?它從事的是對象級別還是類級別?

Decorator模式可提高個體對象的能力。Java IO廣泛使用Decorator模式和Buffered類型的一些經典例子,比如BufferedReader和BufferedWriter,增強讀者和作家執行Buffer級別的閱讀和寫作從而提高性能。

7。 什麼是MVC設計模式?請例舉一個MVC設計模式案例。

8。 Java中FrontController設計模式是什麼?請例舉一個FrontController設計模式案例。

9。 Responsibility設計模式是什麼?

10。 Adapter設計模式是什麼?請例舉一個在Java中的Adapter設計模式案例。

二、進階級程序員的面試題:

1。 舉例說明你什麼時候會用抽象類,什麼時候更願意使用接口?

這是一個很常見的面試問題,並不算難。接口和抽象類都按照“不爲實現寫代碼”的設計原則,這是爲了增加代碼的靈活性,