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

java面試官如何提問

學問君 人氣:2.74W

)根據簡歷,哪個項目印象最深刻?

java面試官如何提問

無分值,但是根據簡歷,確定後續的問題主要覆蓋面。

2)這個項目架構設計是怎麼樣的?有哪些系統,哪些部署環境,整個的功能和數據流向是怎麼樣的?

能夠完整地說出系統的功能,部署的環境,數據的流向。評定相應的分值:1-5

3)這個項目用了哪些技術?爲什麼要用這些技術?

清晰地說出所使用的技術、框架,知道這些技術的使用目的。評定相應的分值:1-5

4)實施時發現這些技術有哪些優缺點?優點是怎樣發揮利用的,缺點是如何克服的?

很明確這些技術本身的優缺點,清楚描述優點的發揮場景,以及對缺點的克服、繞過方案。評定相應的分值:1-5

5) 最後項目完成後,覺得當初的設計有哪些問題,應該做哪些改進?

有沒有反思架構的設計,有沒有想過某些技術的合理性並考慮重新選擇,並分析改進和

替換的原因。

一、Java基礎部分

1、面向對象的特徵有哪些方面?

答:面向對象的特徵主要有以下幾個方面:

1)抽象:抽象是將一類對象的共同特徵總結出來構造類的過程,包括數據抽象和行爲抽象兩方面。抽象只關注對象有哪些屬性和行爲,並不關注這些行爲的細節是什麼。

2)繼承:繼承是從已有類得到繼承資訊創建新類的過程。提供繼承資訊的類被稱爲父類(超類、基類);得到繼承資訊的類被稱爲子類(派生類)。繼承讓變化中的軟件系統有了一定的延續性,同時繼承也是封裝程序中可變因素的重要手段(如果不能理解請閱讀閻宏博士的《Java與模式》或《設計模式精解》中關於橋樑模式的部分)。

3)封裝:通常認爲封裝是把數據和操作數據的方法綁定起來,對數據的訪問只能透過已定義的接口。面向對象的本質就是將現實世界描繪成一系列完全自治、封閉的對象。我們在類中編寫的方法就是對實現細節的`一種封裝;我們編寫一個類就是對數據和數據操作的封裝。可以說,封裝就是隱藏一切可隱藏的東西,只向外界提供最簡單的編程接口(可以想想普通洗衣機和全自動洗衣機的差別,明顯全自動洗衣機封裝更好因此操作起來更簡單;我們現在使用的智能手機也是封裝得足夠好的,因爲幾個按鍵就搞定了所有的事情)。

4)多態性:多態性是指允許不同子類型的對象對同一消息作出不同的響應。簡單的說就是用同樣的對象引用調用同樣的方法但是做了不同的事情。多態性分爲編譯時的多態性和執行時的多態性。如果將對象的方法視爲對象向外界提供的服務,那麼執行時的多態性可以解釋爲:當A系統訪問B系統提供的服務時,B系統有多種提供服務的方式,但一切對A系統來說都是透明的(就像電動剃鬚刀是A系統,它的供電系統是B系統,B系統可以使用電池供電或者用交流電,甚至還有可能是太陽能,A系統只會透過B類對象調用供電的方法,但並不知道供電系統的底層實現是什麼,究竟透過何種方式獲得了動力)。方法重載(overload)實現的是編譯時的多態性(也稱爲前綁定),而方法重寫(override)實現的是執行時的多態性(也稱爲後綁定)。執行時的多態是面向對象最精髓的東西,要實現多態需要做兩件事:1. 方法重寫(子類繼承父類並重寫父類中已有的或抽象的方法);2. 對象造型(用父類型引用引用子類型對象,這樣同樣的引用調用同樣的方法就會根據子類對象的不同而表現出不同的行爲)。

1

描述一個系統,功能,設計,實現

描述

團隊結構,工作職責

描述

爲什麼採用一個技術,爲什麼不使用一個技術

描述

應用中有使用到集羣麼?多大規模?

cluster

“cluster中應用中碰到的問題,session共享問題?”

cluster

如何實現集羣?session複製?無狀態?集中session?

cluster

Collections和Collection的區別?

collection

HashMap和HashTable的區別

collection

Java中有那些集合的接口

collection

Map與Collection的關係?

collection

ClassLoader是如何查找類的?

core

equals與==的區別

core

“Exception,checked,unchecked”

core

exception機制,層次

core

final關鍵詞的使用

core

hashCode()方法的作用

core

InputStream與Reader的區別

core

interface與abstract類的區別

core

Java非阻塞I/O?

core

Java的基本對象Object有哪些方法?

core

“Java中反射的性能如何,你是怎麼看待的”

core

Object的hashCode()的計算,肯定唯一的嗎?

core

典型的web應用的classloader結構

core

“對象要實現排序,需要實現什麼接口”

core

請問你在什麼情況下會在你的JAVA代碼中使用可序列化?

core

如何保證一個類的非靜態方法在多個實例中是同步的?

core

如何將一個String轉化爲int

core

如何序列化一個類的實例

core

怎麼樣克隆一個類

core

怎樣標識JavaBean對象裏面的一個屬性不需要被序列化?

core

Java中內存調優的參數

gc

垃圾收集是什麼,爲什麼需要,怎麼工作

gc

ajax

http

cookie&session

http

cookie的原理

http

http中的forward和redirect的區別