欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 分區(qū)的查詢,實(shí)習(xí)生準(zhǔn)備面試Java開發(fā)崗

mysql 分區(qū)的查詢,實(shí)習(xí)生準(zhǔn)備面試Java開發(fā)崗?

關(guān)于Java面試,一般應(yīng)該會(huì)問到下面這些問題。

[編程工具]

你常用的編程工具有哪些?這個(gè)問題主要是考察你工作的專業(yè)性,你是不是具有大型項(xiàng)目的工作經(jīng)驗(yàn).

一般好的,Java的編程工具,你比如說,Eclipse, netbeans, Intelli J 等等。

[局部變量和類變量的區(qū)別]

這個(gè)問題主要是考察選手對(duì)于scope的概念?;卮疬@個(gè)問題,

就是局部變量是在方法里面定義的。這個(gè)變量只能在方法內(nèi)部才可以被調(diào)用。

類變量呢,可以在類的內(nèi)部,任何地方都可以被調(diào)用。類變量還可以添加一些修飾符,限制或者允許外部類調(diào)用。

[什么是繼承? ]

繼承就是說子類可以享有父類的一些定義。

[什么是封裝?]

封裝是通過類定義的方式,把一些方法和數(shù)據(jù)包裹起來(lái)。

[什么是多態(tài)?]

多態(tài)是指一個(gè)對(duì)象可以通過具體的引用類型來(lái)調(diào)用父類和子類的一些方法。

這三個(gè)問題主要是考察選手對(duì)于面向?qū)ο缶幊痰母拍睢?/p>

[ Overriding 和 overloading的區(qū)別]

這兩種方法在編程中會(huì)經(jīng)常用到。被問的可能性非常大。

Overriding主要用在子類要使用父類的一些方法定義。方法名必須相同,方法參數(shù)必須相同, 返回值類型必須相同。使用這種方法, 子類既可以調(diào)用父類的方法也可以添加自己個(gè)性化的實(shí)現(xiàn)。

Overloading主要用在方法這一層次上。具有同樣的方法名,不同的參數(shù)類型, 可能會(huì)返回不同的數(shù)據(jù)類型。

[接口和抽象的區(qū)別?]

這個(gè)問題在面向?qū)ο缶幊汤锩嬉彩墙?jīng)常被問到的一個(gè)問題。

在Java中,無(wú)法實(shí)現(xiàn)多類繼承,所以就引入了接口的概念。接口中,主要是類的聲明,沒有實(shí)現(xiàn)內(nèi)容。

抽象類中至少要含有一個(gè)抽象方法。這個(gè)抽象方法只有聲明沒有實(shí)現(xiàn)。抽象類的非抽象方法,需要有實(shí)現(xiàn)內(nèi)容。

[說一下訪問修飾符]

這也是面向?qū)ο缶幊汤锩娣浅V匾囊粋€(gè)概念。

private, protected, public。沒有修飾符,就是default。

private只能在本類內(nèi)部訪問。

protected在本類和子類中訪問。

public在其他類中都可訪問。

default在包內(nèi)可訪問。

[數(shù)組和數(shù)組列表的區(qū)別?]

[String, StringBuilder, StringBuffer的區(qū)別? ]

string不可修改。

string builder可修改,線程不安全的。

string buffer可修改,線程安全的。

[HashMap, HashTable 的區(qū)別? ]

都是字典類型。

hash map 是線程不安全的。

hash table 是線程安全的。

[Set 相關(guān)的問題]

Set里面的數(shù)據(jù)是唯一的。

sorted set是可排序的。

[Queue 相關(guān)的問題]

priority queue先進(jìn)先出。

[Map相關(guān)的問題]

有hash map, linked hash map, tree map.

[Tree相關(guān)的問題]

主要是二叉樹, 搜索二叉樹以及平衡二叉樹。

二叉樹是指只有左邊和右邊兩個(gè)節(jié)點(diǎn)的結(jié)構(gòu)。

搜索二叉樹是指左邊的節(jié)點(diǎn)永遠(yuǎn)比右邊的節(jié)點(diǎn)小。

平衡二叉樹是指左邊的高度與右邊的高度相差不超過1。

這是數(shù)據(jù)結(jié)構(gòu)相關(guān)的問題。

[final相關(guān)的問題]

final分別用在變量,類和方法上意味著什么。

final用在類上,這樣的類無(wú)法被繼承。

final用在變量上, 這樣的變量無(wú)法被修改。

final用在方法上,這樣的方法無(wú)法被overriding。

[Exception相關(guān)的問題]

一共有幾種exception?

out of index, io, illegal argument, etc.

他們的區(qū)別是什么?在什么時(shí)候用?

這樣的exception很多。顧名思義,在對(duì)應(yīng)的情況下使用對(duì)應(yīng)的exception。

Runtime exception和compile exception有什么區(qū)別?

run time exception,是在運(yùn)行過程中發(fā)生的exception。

compile exception,是指在程序編譯的時(shí)候,報(bào)出來(lái)的exception。

[線程相關(guān)的問題]

什么是線程?

線程是進(jìn)程的一個(gè)分支。

如何創(chuàng)建線程?

可以使用thread和 handler來(lái)創(chuàng)建線程。

如何在線程中間傳輸數(shù)據(jù)?

可以通過共享數(shù)據(jù)和線程變量。

解釋一下yield, wait, notify, notifyAll, sleep

yield是把線程從運(yùn)行狀態(tài),變?yōu)榭蛇\(yùn)行狀態(tài)。

wait是要求線程解鎖并放棄運(yùn)行狀態(tài),進(jìn)入等待隊(duì)列。

notify是用來(lái)從等待隊(duì)列里面喚醒一個(gè)線程。

notifyAll是用來(lái)從等待隊(duì)列里面喚醒所有線程。

sleep是暫停線程的執(zhí)行。當(dāng)前線程被喚醒后會(huì)進(jìn)入可運(yùn)行狀態(tài)。

解釋線程的生命狀態(tài)。

線程的生命狀態(tài),新創(chuàng)建,可運(yùn)行,正在運(yùn)行,不可運(yùn)行,終止。

如何實(shí)現(xiàn)線程的同步?線程同步有什么缺點(diǎn)?

通常使用synchronized 關(guān)鍵字來(lái)實(shí)現(xiàn)。缺點(diǎn)是降低了程序的執(zhí)行效率。

Volatile是干什么用的?

這個(gè)關(guān)鍵字是用來(lái)在主內(nèi)存上定義一個(gè)變量。而不是在線程的內(nèi)存上。主要用來(lái)做數(shù)據(jù)的共享。

[序列化是怎么回事]

序列化是指把一個(gè)對(duì)象寫入文件當(dāng)中。反序列化是指從文件返回一個(gè)對(duì)象。

如何來(lái)做序列化和反序列化?

可以使用objectoutputstream寫入和讀取。

好了,這個(gè)問題先說這些,歡迎關(guān)注丁哥開講,我們下次再見。