Jaa就業(yè)面試題大全_第1頁(yè)
Jaa就業(yè)面試題大全_第2頁(yè)
Jaa就業(yè)面試題大全_第3頁(yè)
Jaa就業(yè)面試題大全_第4頁(yè)
Jaa就業(yè)面試題大全_第5頁(yè)
已閱讀5頁(yè),還剩223頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

從享受生活的角度上來說:"程序員并不是一種最好的職業(yè),我認(rèn)為兩種人可以做程序

員,第一,你不做程序員,你就沒有什么工作可做,或者說是即使有可以做的工作但是你非

常不愿意去做;第二,你非常癡迷和愛好程序,并且在這方面有一些天賦和優(yōu)勢(shì)。程序員的

結(jié)局也是有兩種:第一,默默退休,第二以程序員為起點(diǎn)或跳板,注意積累,跟對(duì)了好的老

板或團(tuán)隊(duì),找到和很好的搭檔自己創(chuàng)業(yè),成為IT金領(lǐng)和籥

人們?cè)跁r(shí)間面前是平等的,吾生也有涯,所以,你的經(jīng)驗(yàn)更豐富點(diǎn),那不算什么,經(jīng)驗(yàn)

是用時(shí)間積累的,你一生只有那么多時(shí)間,你能積累多少經(jīng)驗(yàn)?zāi)??最重要的是你的學(xué)習(xí)能力

和學(xué)習(xí)方法,這個(gè)發(fā)揮的能量可以有很大差異,要提高學(xué)習(xí)能力和學(xué)習(xí)方法首先要學(xué)會(huì)思考

和總結(jié),要學(xué)會(huì)掌握事物的根本性的東西,而不是一些表面的細(xì)節(jié)。學(xué)習(xí)方法和學(xué)習(xí)能力對(duì)

于IT工作者來說尤為重要,因?yàn)镮T行業(yè)技術(shù)更新太快,并且細(xì)節(jié)太多,同一個(gè)技術(shù)的細(xì)節(jié)

變來變?nèi)ヒ彩浅S械氖虑?,所以,IT技術(shù)學(xué)習(xí)者絕不能照著書籍和老師的講解死記硬背和

生搬硬套。搞n"工作很累人,如果學(xué)習(xí)方法不對(duì)、學(xué)習(xí)能力不強(qiáng),那就更累了,不過,這

怨不得別人,你的學(xué)習(xí)方法和學(xué)習(xí)能力只適合做刷盤子的工作,卻非要跑到程序員圈子里來

混,那誰(shuí)能有辦法拯救你!

在沒有人指引的情況下,只能是自己一個(gè)知識(shí)點(diǎn)、一個(gè)知識(shí)點(diǎn)地漫無(wú)目的學(xué)習(xí),等到積

累了足夠的知識(shí)量后,才有能力開始思考和琢磨原理方面的問題,這個(gè)學(xué)習(xí)過程很漫長(zhǎng)。如

果能在好老師的指引下,老師會(huì)啟發(fā)你先思考原理問題,然后再去學(xué)習(xí)一個(gè)具體的知識(shí)點(diǎn),

讓你能夠舉一反三、觸類旁通,這樣的學(xué)習(xí)效率就會(huì)更高。

多學(xué)了幾個(gè)知識(shí),并不能說明你就很厲害了,只能說是你比別人投入了更多的時(shí)間和精

力而已,別人想做也能做到!不是你學(xué)了多少知識(shí)就算厲害了,關(guān)鍵是要用好學(xué)到的知識(shí),

要讓學(xué)到的知識(shí)發(fā)揮出最大的社會(huì)價(jià)值和經(jīng)濟(jì)價(jià)值,這才是最厲害的。

另外,一個(gè)人的未來和造化,會(huì)深受環(huán)境的影響,所謂孟母三遷,近朱者赤、近墨者黑

的大大道理,這些典故大家不一定能深刻領(lǐng)悟和感受,我們就不多說了。就拿現(xiàn)代比較接近

我們生活的事例來說,如果你周圍的朋友全是以擦皮鞋為生、每月辛辛苦苦下來就掙1500

元,那么估計(jì)你的職業(yè)也是跟著擦皮鞋了,即使你再聰明和再勤奮,頂多每月比你那幫朋友

多掙300元,合下來也就區(qū)區(qū)1800元/月。前幾年只要抓住了大勢(shì),沒錢全部找銀行貸款

了在北京買房、到山西開煤礦,是頭豬也能每年大把大把地?fù)棋X,如果你周圍的朋友全是投

機(jī)倒把的買房和開煤礦者,你的職業(yè)自然也是與他們干同樣的事情,即使你再差,每年也能

掙到百來萬(wàn)不成問題,這就是環(huán)境的重要性。聰明的你因?yàn)闆]有機(jī)會(huì)置身于炒房團(tuán)中,比那

些有機(jī)會(huì)接觸炒房者的豬掙得就要少、就要累。到我們的環(huán)境中來,你就很有機(jī)會(huì)拿到高薪

了,你可以不參加我們的培訓(xùn),但只要想辦法與我們的學(xué)員們住在一起,成功的機(jī)會(huì)就大多

了。

自從我們開設(shè)3C的課程后,許多學(xué)員都找到了月薪在7k或更高的3g開發(fā)工作,這

是他們的能力還完全不能與之相稱的一份好工作,這些學(xué)員眼看到嘴的肥肉又舍不得放棄,

最后就害苦我們這些老師了,學(xué)員紛紛把他們面試和工作中的要解決的問題帶回來讓我們老

師幫助做,有些問題雖然老師能做,但也是要花費(fèi)很大的時(shí)間和精力才能做的,這相當(dāng)于學(xué)

員把自己的工作交給我們老師替他去干了,可不是一句話兩句話就解決的問題。哀哉!我們

老師自己還有很繁重的備課和教學(xué)任務(wù),我們的工作請(qǐng)誰(shuí)來幫助做呢?同學(xué)們似乎沒有替我

們想過這個(gè)問題。

一個(gè)兩個(gè)學(xué)員偶爾回來這么干還可以,但架不住一批批的學(xué)員都來這么干,加上有的學(xué)

生還不太會(huì)說話,讓人很無(wú)奈:

"很簡(jiǎn)單的,頂多占用你一個(gè)小時(shí)就搞定了r-,這么簡(jiǎn)單,你為何自己不干?。?/p>

"今天晚上你必須做出來,明天就要交上去了",哎,我再熬夜命都要丟了,老婆就要

來砸電腦了,你叫我怎么辦?。?/p>

"你沒時(shí)間干,那你吩咐其他老師干,也可以啊r,當(dāng)老師都是我的奴隸,我隨時(shí)隨地

叫他們干啥,他們就干啥嗎?老師能把教學(xué)做好,就很給我面子了。

現(xiàn)在這些公司怎么都越來越狡猾了,他們把日后工作中要解決的問題、并且是他們自己

都很難解決的問題拿出來讓面試求職者去搞,不管面試求職者的水平怎樣,他們都說誰(shuí)能搞

定,誰(shuí)就來上班,我們學(xué)生很高興,不管自己水平是否適合做這份工作,反正有我們的老師

可以依靠,拿回來就讓我們做,還說"做好了就有高薪工作,這關(guān)于我一輩子的幸福,老師

你自己看這個(gè)忙幫不幫吧?",軟件公司這招夠狠!我們這批老師成了這些公司免費(fèi)使用的

超級(jí)勞工。如果奧巴馬說你能把伊拉克擺平,我就讓你當(dāng)伊拉克總統(tǒng),這個(gè)奧巴馬都擺不平

的事情,但因?yàn)樽鐾炅司涂梢援?dāng)伊拉克總統(tǒng),我們學(xué)生也可能拿回來讓我們幫助做,讓我們

幫他擺平伊拉克,這對(duì)我們來說也是很難很難的事情啊。

1.學(xué)習(xí)方向與面試簡(jiǎn)歷的相關(guān)問題

1.如何過簡(jiǎn)歷關(guān)?

我先講解幾個(gè)軟件求職相關(guān)的真實(shí)故事,以幫助大家了解大多數(shù)軟件開發(fā)企業(yè)是如何賽

選簡(jiǎn)歷和錄用新員工的。

1.我們學(xué)員A是大四在讀的應(yīng)屆畢業(yè)生,他自信技術(shù)學(xué)得很不錯(cuò),實(shí)質(zhì)上確實(shí)也達(dá)到

用人單位的標(biāo)準(zhǔn),他不愿意編寫兩年工作經(jīng)驗(yàn)的虛假簡(jiǎn)歷,希望憑借自己的真實(shí)情況去面對(duì)

求職,投遞了很多份簡(jiǎn)歷,都沒有回應(yīng);而他周圍的很多相似背景的學(xué)員因?yàn)槭褂昧思俸?jiǎn)歷,

都很快找到了薪水4.5k/月左右的工作,最后萬(wàn)不得已,他修改了自己的簡(jiǎn)歷,增加了一些

水分,以兩年工作經(jīng)驗(yàn)的身份去投遞簡(jiǎn)歷,結(jié)果就很快找到了滿意的工作。

2.一個(gè)穿著和氣質(zhì)給人的印象都很不錯(cuò)的女生咨詢時(shí),問:“如果在我們學(xué)完了,能找

到工作嗎?",我問了她一些基本情況后,得知她是鄭州航空工業(yè)管理學(xué)院本科畢業(yè),并且

畢業(yè)時(shí)間已經(jīng)有兩年,談話中感覺很有工作經(jīng)驗(yàn),英語(yǔ)也不錯(cuò),所以,我斬釘截鐵地告訴她:

"她學(xué)完后絕對(duì)能找到一份滿意的工作",并說出了一些原因:(1)她本身的談吐氣質(zhì)就決

定了她找工作沒問題,應(yīng)聘工作除了要求有那些必需的技能外,關(guān)鍵一點(diǎn)還要看這個(gè)人的性

格和素養(yǎng),按她的條件,如果她要找軟件開發(fā)方面的工作,只需要把技術(shù)補(bǔ)上就可以了,這

一點(diǎn)在我們學(xué)習(xí)是很容易補(bǔ)上的;(2)要想找到好工作,除了掌握必需的技術(shù)外,通常都

需要編寫兩年工作經(jīng)驗(yàn)的簡(jiǎn)歷,她的畢業(yè)是證確實(shí)兩年前的,編造兩年軟件開發(fā)的工作經(jīng)驗(yàn)

更容易,至少不用專門去做假的畢業(yè)證了。她聽完后,很贊同我的觀念,說她現(xiàn)在就在一家

軟件公司做人力資源,負(fù)責(zé)挑選應(yīng)聘者的簡(jiǎn)歷,按領(lǐng)導(dǎo)的吩咐:”凡是工作經(jīng)驗(yàn)低于兩年的

簡(jiǎn)歷直接刪除到垃圾桶",可見,如果你的簡(jiǎn)歷首先到達(dá)了類似這個(gè)女生的人力資源之手,

即使你的技術(shù)再厲害,如果你的工作經(jīng)驗(yàn)一欄上寫得低于了兩年,那簡(jiǎn)歷就永無(wú)露臉之日了,

何談后來的筆試和面試呢?

3.與我們同一樓的一個(gè)軟件開發(fā)單位,因?yàn)轫?xiàng)目經(jīng)理讀過我們老師們的書籍和看過我們

的視頻,所以他們公司想到了從我們學(xué)員中招聘開發(fā)人員,提出薪水在2800元左后,我們

公司老師對(duì)他們誰(shuí),2800元薪水,我們學(xué)員肯定看不上!他們公司說對(duì)于沒有實(shí)際經(jīng)驗(yàn)的

新手開出2800元的薪水已經(jīng)很不錯(cuò)了,我們老師說,我們學(xué)員通過簡(jiǎn)歷包裝都能找到平均

4500元的工資,樓下公司說假簡(jiǎn)歷他們一聊就能聊出來,沒工作經(jīng)驗(yàn)的人是騙不住他們的,

我們的老師當(dāng)時(shí)就無(wú)語(yǔ)了,…,因?yàn)榫驮谇皫滋?,我們就有一個(gè)學(xué)員成功潛伏進(jìn)了他們公司,

并且工資就是4500元,但我們老師不能當(dāng)他們的面來說這事,就讓他們一直蒙在鼓里還很

自信吧!我用一個(gè)大餅的故事來說明這個(gè)問題吧,假如市場(chǎng)上賣的大餅都是10元一個(gè),我

也做了一個(gè)這樣的大餅,比同類大餅還要好吃一點(diǎn),我也買10元一個(gè),你肯定愿意買,但

是,一旦我告訴你,我這個(gè)大餅的原材料才5毛錢,你心里還會(huì)平衡嗎?只會(huì)罵我太黑,5

毛錢的成本居然賣出10元的暴利,你不會(huì)買我的大餅,因?yàn)檫@超出了你的心理承受,只要

我不告訴你這么個(gè)實(shí)際情況,你則能欣然接受。也就是說,給你講實(shí)話,你心里會(huì)難受,給

你說假話,你心里則舒坦,相比市場(chǎng)上的同類產(chǎn)品,我這假話也算不上欺騙,畢竟你花I0

元買人家的大餅,還不如買我這個(gè)大餅好吃!

4.前面談到簡(jiǎn)歷上的工作經(jīng)驗(yàn)很重要,可是大多數(shù)要找工作的同學(xué)往往是沒有工作經(jīng)驗(yàn)

的,所以,只能在簡(jiǎn)歷上加點(diǎn)水分。但是,只要你將簡(jiǎn)歷上寫成了兩年以上的工作經(jīng)驗(yàn),是

不是一定就能得到筆試和面試的機(jī)會(huì)呢?寫兩年工作經(jīng)驗(yàn)只是有效簡(jiǎn)歷的開始,離簡(jiǎn)歷被用

人單位相中還有一段差距。一個(gè)好的畢業(yè)學(xué)校、優(yōu)秀的英語(yǔ)水平、中共黨員的政治面貌、某

省或直轄市的優(yōu)秀畢業(yè)生、奧林匹克競(jìng)賽獲幾等獎(jiǎng)等榮耀都會(huì)給用人單位一個(gè)很好的印象,

如果你有這些榮耀,一定要在簡(jiǎn)歷的基本信息部分寫清楚。但是,很多人是沒有這些榮耀的,

那么只能平平淡淡列出自己的一些基本信息,這也沒有很大的關(guān)系,頂多就是自己的簡(jiǎn)歷不

能脫穎而出,但是,對(duì)于軟件工程師崗位來說,學(xué)歷一欄怎么著也不能寫為高中,起碼也要

寫個(gè)大?;蛞陨?,畢業(yè)院校編個(gè)二線城市的不知名的小學(xué)院,如果你不愿意去做假證,等到

別人面試你時(shí),再說"閑棄以前上的學(xué)校不好,因?yàn)閷?duì)編程太感興趣,就輟學(xué)了r

2.為什么說不需要做出完整的項(xiàng)目嗎?

1.眾所周知,在實(shí)際的軟件項(xiàng)目中,都是很多人一塊共同做一個(gè)項(xiàng)目,每個(gè)人只是做項(xiàng)

目中的一部分內(nèi)容,甚至是只做了項(xiàng)目中的一個(gè)模塊,項(xiàng)目越大,越是如此!隨便拿出一個(gè)

中等大小的項(xiàng)目,也需要好多個(gè)熟練的開發(fā)人員開發(fā)好多個(gè)月才能勉強(qiáng)做得差不多,培訓(xùn)期

間沒有這么多時(shí)間,并且你還要先學(xué)會(huì)了很多技術(shù)后才能開始做項(xiàng)目。

2.一個(gè)項(xiàng)目中的很多東西都是重復(fù)性的工作量的累積,技術(shù)方面都大同小異。做一個(gè)

項(xiàng)目就好比蓋一座樓房,只要告訴你整個(gè)樓房的整體結(jié)構(gòu),然后帶著你蓋上一間兩間房子,

其他剩下的幾百間房子,老師想繼續(xù)蓋給你看,或者讓你自己蓋剩下的房間,你肯定也不愿

意吧。以后有的是練手的機(jī)會(huì),拿著人家發(fā)給你的工資,你再去做這些重復(fù)性的工作也不遲,

豈不是更好!

3.業(yè)務(wù)重要?還是編碼實(shí)戰(zhàn)更重要?

1.對(duì)軟件企業(yè)來說,兩者都很重要,有的項(xiàng)目是業(yè)務(wù)為重心,有的則是以技術(shù)作為核心;

以業(yè)務(wù)為重心的項(xiàng)目大都是企業(yè)信息化建設(shè)方面的項(xiàng)目,與做鞋差不多,沒有多大技術(shù)含量

和壁壘,只有積累了一定的經(jīng)驗(yàn),誰(shuí)都可以做,利潤(rùn)很薄,例如大多數(shù)管理系統(tǒng),靠的是人

海戰(zhàn)術(shù)和時(shí)間糾纏,做這種項(xiàng)目的程序員工作都很辛苦,經(jīng)常要加班加點(diǎn)。而以技術(shù)為核心

的項(xiàng)目則很有技術(shù)壁壘,不是誰(shuí)都能做的,利潤(rùn)率很高,例如,360殺毒軟件、baidu,qq,

迅雷下載,大型bbs項(xiàng)目和淘寶這樣的電子商務(wù)網(wǎng)站。

2.對(duì)程序員來說,編碼實(shí)戰(zhàn)更重要,業(yè)務(wù)則不算什么!程序員和軟件公司的工作就是

要把用戶的需求和業(yè)務(wù)變成代碼,即為人作嫁,一開始,需求和業(yè)務(wù)都在用戶那里,用戶最

懂業(yè)務(wù),你不用了解業(yè)務(wù),你的任務(wù)就是了解用戶的業(yè)務(wù)后編寫代碼,在開始做項(xiàng)目前,用

戶會(huì)把業(yè)務(wù)告訴給你的。一個(gè)軟件公司從來都不是只做自己熟悉業(yè)務(wù)的項(xiàng)目,而是來了業(yè)務(wù)

不熟悉的項(xiàng)目機(jī)會(huì),肯定也會(huì)沖上去做,軟件公司通常都是在做自己以前沒做過的項(xiàng)目,即

做以前不了解業(yè)務(wù)的項(xiàng)目,只有項(xiàng)目做完了才完全熟悉了業(yè)務(wù),這才叫做項(xiàng)目,否則就成了

賣產(chǎn)品了,所以,軟件工程里說的需求調(diào)研和理解業(yè)務(wù)的過程,也是在從側(cè)面說明,程序員

是在接到項(xiàng)目之后才開始了解其業(yè)務(wù)的,而在此之前,對(duì)業(yè)務(wù)可以是完全不懂的。

4.是培訓(xùn)內(nèi)容和信息量大好?還是培訓(xùn)內(nèi)容少而精的好?

答:雖然這兩種方式都能讓學(xué)有所獲和找到工作,并且,前者對(duì)于老師和學(xué)生要求都很

高,老師教得很辛苦,學(xué)生學(xué)得也很辛苦,學(xué)生甚至?xí)a(chǎn)生畏懼心理,即使水平已經(jīng)很高,

可能還是沒有信心;后者對(duì)于老師和學(xué)生的要求都不高,老師教得輕松,學(xué)生學(xué)得愉快,學(xué)

生很容易產(chǎn)生自信,成了井底之蛙,還自以為不得了。但是,內(nèi)容和信息量大培訓(xùn)課程體系,

對(duì)大多人來說是更收益的,因?yàn)?,程序員做的工作總是在變化的,沒有一成不變的工作,為

了適應(yīng)這種變化,你的知識(shí)面必須很廣泛。如果你學(xué)的知識(shí)內(nèi)容很少,即使你把這些內(nèi)容練

的滾瓜爛熟了,除非你出去找的一份工作正好就是你以前練習(xí)的那些東西,這時(shí)候會(huì)讓人感

覺你比誰(shuí)都厲害,但這種千載難逢的好事怎么就被你碰上了呢?軟件開發(fā)畢竟不同于刷盤

子,不是在重復(fù)干一件事情。軟件開發(fā)的工作總是要面臨不同的需求和問題,如果培訓(xùn)課程

的內(nèi)容和信息量很大,即使由于時(shí)間關(guān)系,你暫時(shí)沒有完全消化和熟練這么多內(nèi)容,但是,

你在工作中不管遇到什么新問題,都有那么一點(diǎn)點(diǎn)印象,知道大概的解決辦法和思路,你就

可以慢慢地通過查閱資料和最終解決這個(gè)問題,軟件開發(fā)的工作本來就是這么一種現(xiàn)狀,如

果你學(xué)的知識(shí)量很少,一旦遇到了新問題,你完全就沒有了思路,完全無(wú)從下手,這是何等

痛苦,只有灰溜溜走人的份了吧??傊?,知識(shí)面越寬廣,了解的信息越多,解決問題的能力

就越強(qiáng),好比以前治療哮喘沒有很好的辦法,即使是一個(gè)哮喘病專家醫(yī)生,也需要讓病人吃

上半年的藥,還不能完全治愈,現(xiàn)在,如果有了一種新藥,病人只需要吃上一周,就能徹底

治愈,所謂好的哮喘病專家醫(yī)生,他要做的工作就是迅速知道有這么一種新藥問世了,否則,

他就成名符其實(shí)的庸醫(yī)了。建筑大師可能自己連一個(gè)廁所都蓋不出來,但是他能指導(dǎo)別人去

干,建筑大師一定要閱歷廣泛,他經(jīng)歷過的項(xiàng)目很多,但每個(gè)項(xiàng)目的很多細(xì)節(jié)不是他親力親

為。如果砌磚都是他親力親為,那他一輩子可能都是干砌磚工作了。

別的培訓(xùn)機(jī)構(gòu)培養(yǎng)的是技術(shù)單一的熟練技工,我們培養(yǎng)的是具有很強(qiáng)學(xué)習(xí)和解決問題能

力的技術(shù)高手和未來技術(shù)經(jīng)理。很多工廠說,清華畢業(yè)的學(xué)生剛進(jìn)工廠時(shí)的動(dòng)手操作不如技

校畢業(yè)的學(xué)生熟練,但過一段時(shí)間后,清華學(xué)生則能解決工廠生成過程出現(xiàn)中的各種新問題

和弊端,甚至能提出創(chuàng)新和發(fā)明,后勁十足,因?yàn)榍迦A培養(yǎng)的就不是一個(gè)單一工種的熟練工

人,而是知識(shí)全面和具有創(chuàng)新能力的高級(jí)工程師。別的機(jī)構(gòu)和我們培養(yǎng)出來的學(xué)生差別好比

如此。

5.IT行業(yè)中也會(huì)出現(xiàn)蟻?zhàn)搴兔窆幔?/p>

先看看IT蟻?zhàn)搴虸T民工的悲慘命運(yùn)吧!

/aZ20100316/217473.html

/uZ20100317/16/2dba32e3-90f4-40b5-blfd-0bf370

9297c6.html?97395

搜素程序員的悲哀,還有更多辛酸的故事,但是,我并不同情他們,我只是說他們自

己無(wú)能!程序員這個(gè)職業(yè)能創(chuàng)造出許多年輕的富翁,不靠父母不靠天,還有那個(gè)職業(yè)比IT

行業(yè)更有機(jī)會(huì)和誘惑呢。不過,程序員毀壞身體是真,可是,不讓你做程序員,你去打游戲,

聊QQ不也照樣壞身體嗎?

SSH(struts,spring.hibernate)是當(dāng)前做管理信息系統(tǒng)最基本和最流行的通用技術(shù),

這幾個(gè)技術(shù)都出現(xiàn)7,8年了,應(yīng)該很普及了,確實(shí)沒什么新意?,F(xiàn)在培訓(xùn)機(jī)構(gòu)教的都是這

些玩意,用來混飯吃,還是管點(diǎn)用的。每個(gè)做增刪改查的人基本都會(huì)SSH,所以,SSH沒

什么了不起的,SSH這套東西對(duì)培訓(xùn)公司和個(gè)人發(fā)展來說,都不能成為核心競(jìng)爭(zhēng)力,都難

以成大氣候。一些公司內(nèi)部所謂的核心技術(shù),就是那些非SSH的知識(shí),我們教的不只是大

家都會(huì)的有點(diǎn)檔次的項(xiàng)目,確實(shí)不怎么用,但是大多數(shù)類的項(xiàng)目都是增刪

SSHOSSHOA

改查,雖然沒有技術(shù)含量,但是用工需求量大,這也就是能誕生出n?蟻?zhàn)搴虸T民工的由來。

但是,java不只是有SSH這套技術(shù),如果你不想成為11■蟻?zhàn)?,如果你不想?yún)挓┸浖_

發(fā),那就不能只學(xué)SSH,這個(gè)沒有太多技術(shù)含量的單一熟練工種。

2.筆試答題技巧與若干問題

說明,為了節(jié)省大家的時(shí)間和提高學(xué)習(xí)效率,一些過時(shí)知識(shí)點(diǎn)和被筆試概率極低的題目

不再被收錄和分析。

回答問題的思路:先正面敘述一些基本的核心知識(shí),然后描述一些特殊的東西,最后再

來一些錦上添花的東西。要注意有些不是錦上添花,而是畫蛇添足的東西,不要隨便寫上。

把答題像寫書一樣寫。我要回答一個(gè)新技術(shù)的問題大概思路和步驟是:我們想干什么,怎么

干,干的過程中遇到了什么問題,現(xiàn)在用什么方式來解決。其實(shí)我們講課也是這樣一個(gè)思路。

例如,講ajax時(shí),我們希望不改變?cè)瓉淼恼麄€(gè)網(wǎng)頁(yè),而只是改變網(wǎng)頁(yè)中的局部?jī)?nèi)容,

例如,用戶名校驗(yàn),級(jí)聯(lián)下拉列表,下拉樹狀菜單。用傳統(tǒng)方式,就是瀏覽器自己直接向服

務(wù)器發(fā)請(qǐng)求,服務(wù)器返回新頁(yè)面會(huì)蓋掉老頁(yè)面,這樣就不流暢了。

對(duì)本面試寶典中的題目有信心嗎?本來有信心的,結(jié)果聽你講完后,就沒信心了!我非

常理解。因?yàn)樗X得我的太深,他想記住我的些東西,可是記不住,所以沒信心了。我又問:

聽履了嗎?他說聽童了。你到現(xiàn)在只要把你的理解盡量清晰地、有條理地表達(dá)出來,就很棒

了。

這套面試題主要目的是幫助那些還沒有java軟件開發(fā)實(shí)際工作經(jīng)驗(yàn),而正在努力尋找

java軟件開發(fā)工作的朋友在筆試時(shí)更好地贏得筆試和面試。由于這套面試題涉及的范圍很

泛,很廣,很雜,大家不可能一天兩天就看完和學(xué)完這套面試寶典,即使你已經(jīng)學(xué)過了有關(guān)

的技術(shù),那么至少也需要一個(gè)月的時(shí)間才能消化和掌握這套面試寶典,所以,大家應(yīng)該早作

準(zhǔn)備,從拿到這套面試寶典之日起,就要堅(jiān)持在每天閑暇之余學(xué)習(xí)其中幾道題目,日積月累,

等到出去面試時(shí),一切都水到渠成,面試時(shí)就自然會(huì)游刃有余了。

答題時(shí),先答是什么,再答有什么作用和要注意什么(這部分最重要,展現(xiàn)自己的心得)

答案的段落分別,層次分明,條理清晰都非常重要,從這些表面的東西也可以看出一個(gè)

人的習(xí)慣、辦事風(fēng)格、條理等。

要講你做出答案的思路過程或者說你記住答案的思想都寫下來。把答題想著是辯論賽。

答題就是給別人講道理、擺事實(shí)。答題不局限于什么格式和形式,就是要將自己的學(xué)識(shí)展現(xiàn)

出來!

別因?yàn)槿思翌}目本來就模棱兩可,你就心里膽怯和沒底氣了,不敢回答了。你要大膽地

指出對(duì)方題目很模糊和你的觀點(diǎn),不要把面試官想得有多高,其實(shí)他和你就是差不多的,你

想想,如果他把你招進(jìn)去了,你們以后就是同事了,可不是差不多的嗎?

關(guān)于就業(yè)薪水,如果你是應(yīng)屆生,那不能要高工資,好比大餅的故事,沒有文憑還想拿

高工資,就去中關(guān)村缺什么補(bǔ)什么吧!少數(shù)人基礎(chǔ)確實(shí)很好,在校期間確實(shí)又做過一些項(xiàng)目,

那仍然是可以要到相對(duì)高的工資的。

公司招聘程序員更看重的要用到的編碼技術(shù)、而不是那些業(yè)務(wù)不太相關(guān)的所謂項(xiàng)目經(jīng)

歷:

1.公司想招什么樣的人2.公司面試會(huì)問什么,.3.簡(jiǎn)歷怎么寫4怎樣達(dá)到簡(jiǎn)歷上的標(biāo)準(zhǔn)

(培訓(xùn)中心教項(xiàng)目的目的)

對(duì)于一些公司接到了一些項(xiàng)目,想招聘一些初中級(jí)的程序員過來幫助寫代碼,完成這個(gè)

項(xiàng)目,你更看重的是他的專業(yè)技術(shù)功底,還是以前做過幾個(gè)項(xiàng)目的經(jīng)歷呢?我們先排除掉那

些編碼技術(shù)功底好,又正好做過相似項(xiàng)目的情況,實(shí)際上,這種魚和熊掌兼得的情況并不常

見。其實(shí)公司很清楚,只要招聘進(jìn)來的人技術(shù)真的很明白,那他什么項(xiàng)目都可以做出來,公

司招人不是讓你去重復(fù)做你以前的項(xiàng)目,而是做一個(gè)新項(xiàng)目,業(yè)務(wù)方面,你只要進(jìn)了項(xiàng)目團(tuán)

隊(duì),自然就能掌握。所以,大多數(shù)招聘單位在招聘那些編碼級(jí)別的程序員時(shí)也沒指望能招聘

到做過類似項(xiàng)目的人,也不會(huì)刻意去找做過類似項(xiàng)目的人,用人單位也不是想把你招進(jìn),然

后把你以前做過的項(xiàng)目重做一遍,所以,用人單位更看重招進(jìn)來的人對(duì)要用到的編碼技術(shù)的

功底到底怎樣,技術(shù)扎實(shí)不扎實(shí),項(xiàng)目則只要跟著開發(fā)團(tuán)隊(duì)走,自然就沒問題。除非是一些

非常專業(yè)的行業(yè),要招聘特別高級(jí)的開發(fā)人員和系統(tǒng)分析師,招聘單位才特別注重他的項(xiàng)目

經(jīng)驗(yàn)和行業(yè)經(jīng)驗(yàn),要去找到行業(yè)高手,公司才關(guān)心項(xiàng)目和與你聊項(xiàng)目的細(xì)節(jié),這樣的人通常

都不是通過常規(guī)招聘渠道去招聘進(jìn)來的,而是通過各種手段挖過來的,這情況不再我今天要

討論的范圍中。

技術(shù)學(xué)得明白不明白,人家?guī)讉€(gè)問題就把你的深淺問出來了只要問一些具體的技術(shù)點(diǎn),

就很容易看出你是真懂還是假懂,很容看出你的技術(shù)深度和實(shí)力,所以,技術(shù)是來不得半點(diǎn)

虛假的,必須扎扎實(shí)實(shí)。

由于項(xiàng)目的種類繁多,涉及到現(xiàn)實(shí)生活中的各行各業(yè),什么五花八門的業(yè)務(wù)都有,例如,

酒店房間預(yù)定管理,公司車輛調(diào)度管理,學(xué)校課程教室管理,超市進(jìn)銷存管理,知識(shí)內(nèi)容管

理,等等……成千上萬(wàn)等等,但是,不管是什么項(xiàng)目,采用的無(wú)非都是我們學(xué)習(xí)的那些目前

流行和常用的技術(shù)。技術(shù)好、經(jīng)驗(yàn)豐富,則項(xiàng)目做出來的效率高些,程序更穩(wěn)定和更容易維

護(hù)些,?技術(shù)差點(diǎn),碰碰磕磕最后也能把項(xiàng)目做出來,無(wú)非是做的周期長(zhǎng)點(diǎn)、返工的次數(shù)多點(diǎn),

程序代碼寫得差些,用的技術(shù)笨拙點(diǎn)。如果一個(gè)人不是完完全全做過某個(gè)項(xiàng)目,他是不太關(guān)

心該項(xiàng)目的業(yè)務(wù)的,對(duì)其中的一些具體細(xì)節(jié)更是一竅不知,(如果我招你來做圖書管理,你

項(xiàng)目經(jīng)歷說你做過汽車調(diào)度,那我能問你汽車調(diào)度具體怎么回事嗎?不會(huì),所以,你很容易

蒙混過去的)而一個(gè)程序員的整個(gè)職業(yè)生涯中能實(shí)實(shí)在在和完完整整做出來的項(xiàng)目沒幾個(gè),

更別說在多個(gè)不同行業(yè)的項(xiàng)目了,有的程序員更是一輩子都只是在做某一個(gè)行業(yè)的項(xiàng)目,結(jié)

果他就成了這個(gè)行業(yè)的專家(專門干一件事的家伙)。所以,技術(shù)面試官通常沒正好親身經(jīng)歷

過你簡(jiǎn)歷寫的那些項(xiàng)目,他不可能去問你寫的那些項(xiàng)目的具體細(xì)節(jié),而是只能泛泛地問你這

個(gè)項(xiàng)目是多少人做的,做了多長(zhǎng)時(shí)間,開發(fā)的過程,你在做項(xiàng)目的過程中有什么心得和收獲,

用的什么技術(shù)等面上的問題,所以,簡(jiǎn)歷上的項(xiàng)目經(jīng)歷可以含有很多水分,很容易作假,技

術(shù)面試官也無(wú)法在項(xiàng)目上甄別你的真?zhèn)巍?/p>

簡(jiǎn)歷該怎么寫:精通那些技術(shù),有一些什么項(xiàng)目經(jīng)歷

教項(xiàng)目是為了鞏固和靈活整合運(yùn)用技術(shù),增強(qiáng)學(xué)習(xí)的趣味性,熟悉做項(xiàng)目的流程,或得

一些專業(yè)課程中無(wú)法獲得的特有項(xiàng)目經(jīng)驗(yàn),增強(qiáng)自己面試的信心。講的項(xiàng)目應(yīng)該真實(shí)可靠才

有價(jià)值,否則,表面上是項(xiàng)目,實(shí)際上還是知識(shí)點(diǎn)的整合,對(duì)鞏固技術(shù)點(diǎn)和增強(qiáng)學(xué)習(xí)的趣味

性,但無(wú)法獲得實(shí)際的項(xiàng)目經(jīng)驗(yàn)。(項(xiàng)目主要是增加你經(jīng)驗(yàn)的可信度,獲得更多面試機(jī)會(huì),

真正能不能找到工作,找到好工作,主要看你鍵盤上的功夫了),好的面試官幾下就能面出

你是否真有工作經(jīng)驗(yàn),他們問技術(shù)以外的公司的人和事,并且問開始、過程、結(jié)果,看你怎

么編。

建議大家盡量開自己的blog,堅(jiān)持每天寫技術(shù)blog.在簡(jiǎn)歷上寫上自己的blog地址,

可以多轉(zhuǎn)載一些技術(shù)文章。

3.筆試題之Java基礎(chǔ)部分

基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的

語(yǔ)法,集合的語(yǔ)法,io的語(yǔ)法,虛擬機(jī)方面的語(yǔ)法,其他,有些題來自網(wǎng)上搜集整理,有些題來自我們學(xué)

員面試后的反饋,說真的,少數(shù)一些網(wǎng)上的面試題,我真懷疑其是否還有存在價(jià)值!

1、一個(gè)“Java”源文件中是否可以包括多個(gè)類(不是內(nèi)部

類)?有什么限制?

可以有多個(gè)類,但只能有一個(gè)public的類,并且public的類名必須與文件名相一致.

2、Java有沒有g(shù)oto?

java中的保留字,現(xiàn)在沒有在java中使用。

3、說說&和&&的區(qū)別。

&和&&都可以用作邏輯與的運(yùn)算符,表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為true時(shí),

整個(gè)運(yùn)算結(jié)果才為true,否則,只要有一方為false,則結(jié)果為false.

&&還具有短路的功能,即如果第一個(gè)表達(dá)式為false,則不再計(jì)算第二個(gè)表達(dá)式,例如,對(duì)于if(str!=

null&&!str.equalsC'))表達(dá)式,當(dāng)str為null時(shí),后面的表達(dá)式不會(huì)執(zhí)行,所以不會(huì)出現(xiàn)

NullPointerException如果將&&改為&,則會(huì)拋出NullPointerException異常。lf(x==33&++y>0)y

會(huì)增長(zhǎng),lf(x==33&&++y>0)不會(huì)增長(zhǎng)

&還可以用作位運(yùn)算符,當(dāng)&操作符兩邊的表達(dá)式不是boolean類型時(shí),&表示按位與操作,我們通常

使用OxOf來與一個(gè)整數(shù)進(jìn)行&運(yùn)算,來獲取該整數(shù)的最低4個(gè)bit位,例如,0x31&OxOf的結(jié)果為0x01。

備注:這道題先說兩者的共同點(diǎn),再說出&&和&的特殊之處,并列舉一些經(jīng)典的例子來表明自己理解

透徹深入、實(shí)際經(jīng)驗(yàn)豐富。

4、在JAVA中如何跳出當(dāng)前的多重嵌套循環(huán)?

在java中,要想跳出多重循環(huán),可以在外面的循環(huán)語(yǔ)句前定義一個(gè)標(biāo)號(hào),然后在里層循環(huán)體的代碼中

使用帶有標(biāo)號(hào)的break語(yǔ)句,即可跳出外層循環(huán)。例如,

ok:

for(inti=0;i<10;i++)

(

for(intj=O;j<l0;j++)

{

System.out.printlnCi=M+i+"J="+j);

if(j==5)breakok;

)

}

另外,我個(gè)人通常并不使用標(biāo)號(hào)這種方式,而是讓外層的循環(huán)條件表達(dá)式的結(jié)果可以受到里層循環(huán)體

代碼的控制,例如,要在二維數(shù)組中查找到某個(gè)數(shù)字。

intarr口口={{1,2,3},{4,5,6,7},{9}};

booleanfound=false;

for(inti=O;i<arr.length&&!found;i++)

|

for(intj=O;j<arr[i].length;j++)

(

System.out.println("i="+i+",j="+j);

if(arr[i][j]==5)

{

found=true;

break;

)

)

}

5、switch語(yǔ)句能否作用在byte上,能否作用在long上,

能否作用在String±?

在switch(exprl)中,exprl只能是一個(gè)整數(shù)表達(dá)式或者枚舉常量(更大字體),整數(shù)表達(dá)式可以

是int基本類型或Integer包裝類型,由于,byte,short,char都可以隱含轉(zhuǎn)換為int,所以,這些類型以

及這些類型的包裝類型也是可以的.顯然,long和String類型都不符合switch的語(yǔ)法規(guī)定,并且不能被

隱式轉(zhuǎn)換成int類型,所以,它們不能作用于swtich語(yǔ)句中。

6、shortsi=1;si=si+1;有什么錯(cuò)?shortsi=1;si

+=1;有什么錯(cuò)?

對(duì)于shortsi=1;si=si+1;由于si+1運(yùn)算時(shí)會(huì)自動(dòng)提升表達(dá)式的類型,所以結(jié)果是int型,

再賦值給short類型si時(shí),編譯器將報(bào)告需要強(qiáng)制轉(zhuǎn)換類型的錯(cuò)誤。

對(duì)于shortsi=1;si+=1;由于+=是java語(yǔ)言規(guī)定的運(yùn)算符Java編譯器會(huì)對(duì)它進(jìn)行特殊處理,

因此可以正確編譯。

7、char型變量中能不能存貯一個(gè)中文漢字?為什么?

char型變量是用來存儲(chǔ)Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型

變量中當(dāng)然可以存儲(chǔ)漢字啦。不過,如果某個(gè)特殊的漢字沒有被包含在unicode編碼字符集中,那么,這

個(gè)char型變量中就不能存儲(chǔ)這個(gè)特殊漢字。補(bǔ)充說明:unicode編碼占用兩個(gè)字節(jié),所以,char類型的

變量也是占用兩個(gè)字節(jié)。

備注:后面一部分回答雖然不是在正面回答題目,但是,為了展現(xiàn)自己的學(xué)識(shí)和表現(xiàn)自己對(duì)問題理解

的透徹深入,可以回答一些相關(guān)的知識(shí),做到知無(wú)不言,言無(wú)不盡。

8、用最有效率的方法算出2乘以8等於幾?

2<<3,

因?yàn)閷⒁粋€(gè)數(shù)左移n位,就相當(dāng)于乘以了2的n次方,那么,一個(gè)數(shù)乘以8只要將其左移3位即可,

而位運(yùn)算cpu直接支持的,效率最高,所以,2乘以8等於幾的最效率的方法是2<<3。

9、請(qǐng)?jiān)O(shè)計(jì)一個(gè)一百億的計(jì)算器

首先要明白這道題目的考查點(diǎn)是什么,一是大家首先要對(duì)計(jì)算機(jī)原理的底層細(xì)節(jié)要清楚、要知道加減

法的位運(yùn)算原理和知道計(jì)算機(jī)中的算術(shù)運(yùn)算會(huì)發(fā)生越界的情況,二是要具備一定的面向?qū)ο蟮脑O(shè)計(jì)思想。

首先,計(jì)算機(jī)中用固定數(shù)量的幾個(gè)字節(jié)來存儲(chǔ)的數(shù)值,所以計(jì)算機(jī)中能夠表示的數(shù)值是有一定的范圍

的,為了便于講解和理解,我們先以byte類型的整數(shù)為例,它用1個(gè)字節(jié)進(jìn)行存儲(chǔ),表示的最大數(shù)值范

圍為-128到+1270-1在內(nèi)存中對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)為11111111,如果兩個(gè)-1相加,不考慮Java運(yùn)算

時(shí)的類型提升,運(yùn)算后會(huì)產(chǎn)生進(jìn)位,二進(jìn)制結(jié)果為1,11111110,由于進(jìn)位后超過了byte類型的存儲(chǔ)空

間,所以進(jìn)位部分被舍棄,即最終的結(jié)果為11111110,也就是-2,這正好利用溢位的方式實(shí)現(xiàn)了負(fù)數(shù)的

運(yùn)算。-128在內(nèi)存中對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)為10000000,如果兩個(gè)-128相加,不考慮Java運(yùn)算時(shí)的類型

提升,運(yùn)算后會(huì)產(chǎn)生進(jìn)位,二進(jìn)制結(jié)果為1,00000000,由于進(jìn)位后超過了byte類型的存儲(chǔ)空間,所以

進(jìn)位部分被舍棄,即最終的結(jié)果為00000000,也就是0,這樣的結(jié)果顯然不是我們期望的,這說明計(jì)算

機(jī)中的算術(shù)運(yùn)算是會(huì)發(fā)生越界情況的,兩個(gè)數(shù)值的運(yùn)算結(jié)果不能超過計(jì)算機(jī)中的該類型的數(shù)值范圍.由于

Java中涉及表達(dá)式運(yùn)算時(shí)的類型自動(dòng)提升,我們無(wú)法用byte類型來做演示這種問題和現(xiàn)象的實(shí)驗(yàn),大家

可以用下面一個(gè)使用整數(shù)做實(shí)驗(yàn)的例子程序體驗(yàn)一下:

inta=Integer.MAX_VALUE;

intb=Integer.MAX_VALUE;

intsum=a+b;

System.out.println("a="+a+",b="+b+,,,sum="+sum);

先不考慮long類型,由于int的正數(shù)范圍為2的31次方,表示的最大數(shù)值約等于

2*1000*1000*1000,也就是20億的大小,所以,要實(shí)現(xiàn)一個(gè)一百億的計(jì)算器,我們得自己設(shè)計(jì)一個(gè)類

可以用于表示很大的整數(shù),并且提供了與另外一個(gè)整數(shù)進(jìn)行加減乘除的功能,大概功能如下:

()這個(gè)類內(nèi)部有兩個(gè)成員變量,一個(gè)表示符號(hào),另一個(gè)用字節(jié)數(shù)組表示數(shù)值的二進(jìn)制數(shù)

()有一個(gè)構(gòu)造方法,把一個(gè)包含有多位數(shù)值的字符串轉(zhuǎn)換到內(nèi)部的符號(hào)和字節(jié)數(shù)組中

()提供加減乘除的功能

publicclassBiginteger

intsign;

byte[]val;

publicBiginteger(Stringval)

sign=;

val=;

}

publicBigintegeradd(Biglntegerother)

|

}

publicBigintegersubtract(Biglntegerother)

(

}

publicBigintegermultiply(Biglntegerother)

{

}

publicBigintegerdivide(Biglntegerother)

(

)

)

備注:要想寫出這個(gè)類的完整代碼,是非常復(fù)雜的,如果有興趣的話,可以參看jdk中自帶的

java.math.Biginteger類的源碼。面試的人也知道誰(shuí)都不可能在短時(shí)間內(nèi)寫出這個(gè)類的完整代碼的,他要

的是你是否有這方面的概念和意識(shí),他最重要的還是考查你的能力,所以,你不要因?yàn)樽约簾o(wú)法寫出完整

的最終結(jié)果就放棄答這道題,你要做的就是你比別人寫得多,證明你比別人強(qiáng),你有這方面的思想意識(shí)就

可以了,畢竟別人可能連題目的意思都看不懂,什么都沒寫,你要敢于答這道題,即使只答了一部分,那

也與那些什么都不懂的人區(qū)別出來,拉開了距離,算是矮子中的高個(gè),機(jī)會(huì)當(dāng)然就屬于你了。另外,答案

中的框架代碼也很重要,體現(xiàn)了一些面向?qū)ο笤O(shè)計(jì)的功底,特別是其中的方法命名很專業(yè),用的英文單詞

很精準(zhǔn),這也是能力、經(jīng)驗(yàn)、專業(yè)性、英語(yǔ)水平等多個(gè)方面的體現(xiàn),會(huì)給人留下很好的印象,在編程能力

和其他方面條件差不多的情況下,英語(yǔ)好除了可以使你獲得更多機(jī)會(huì)外,薪水可以高出一千元。

10、使用final關(guān)鍵字修飾一個(gè)變量時(shí),是引用不能變,還

是引用的對(duì)象不能變?

使用final關(guān)鍵字修飾一個(gè)變量時(shí),是指引用變量不能變,引用變量所指向的對(duì)象中的內(nèi)容還是可以改

變的。例如,對(duì)于如下語(yǔ)句:

finalStringBuffera=newStringBufferC'immutable");

執(zhí)行如下語(yǔ)句將報(bào)告編譯期錯(cuò)誤:

a=newStringBufferC);

但是,執(zhí)行如下語(yǔ)句則可以通過編譯:

a.append("broken!");

有人在定義方法的參數(shù)時(shí),可能想采用如下形式來阻止方法內(nèi)部修改傳進(jìn)來的參數(shù)對(duì)象:

publicvoidmethod(finalStringBufferparam)

}

實(shí)際上,這是辦不到的,在該方法內(nèi)部仍然可以增加如下代碼來修改參數(shù)對(duì)象:

param.append("a");

11、”=="和equals方法究竟有什么區(qū)別?

(單獨(dú)把一個(gè)東西說清楚,然后再說清楚另一個(gè),這樣,它們的區(qū)別自然就出來了,混在一起說,則

很難說清楚)

==操作符專門用來匕修交兩個(gè)變量的值是否相等,也就是用于b匕較變量所對(duì)應(yīng)的內(nèi)存中所存儲(chǔ)的數(shù)值是

否相同,要匕徽兩個(gè)基本類型的數(shù)據(jù)或兩個(gè)引用變量是否相等,只能用==操作符。

如果一個(gè)變量指向的數(shù)據(jù)是對(duì)象類型的,那么,這時(shí)候涉及了兩塊內(nèi)存,對(duì)象本身占用一塊內(nèi)存(堆

內(nèi)存),變量也占用一塊內(nèi)存,例如Objetobj=newObject。;變量obj是一個(gè)內(nèi)存,newObject。是另

一個(gè)內(nèi)存,此時(shí),變量obj所對(duì)應(yīng)的內(nèi)存中存儲(chǔ)的數(shù)值就是對(duì)象占用的那塊內(nèi)存的首地址。對(duì)于指向?qū)ο?/p>

類型的變量,如果要匕檄兩個(gè)變量是否指向同一個(gè)對(duì)象,即要看這兩個(gè)變量所對(duì)應(yīng)的內(nèi)存中的數(shù)值是否相

等,這時(shí)候就需要用==操作符進(jìn)行比較。

equals方法是用于匕檄兩個(gè)獨(dú)立對(duì)象的內(nèi)容是否相同,就好比去比較兩個(gè)人的長(zhǎng)相是否相同,它匕徽

的兩個(gè)對(duì)象是獨(dú)立的。例如,對(duì)于下面的代碼:

Stringa=newStringC'foo");

Stringb=newString("foo");

兩條new語(yǔ)句創(chuàng)建了兩個(gè)對(duì)象,然后用a,b這兩個(gè)變量分別指向了其中一個(gè)對(duì)象,這是兩個(gè)不同的對(duì)

象,它們的首地址是不同的,即a和b中存儲(chǔ)的數(shù)值是不相同的,所以,表達(dá)式a==b將返回false,而

這兩個(gè)對(duì)象中的內(nèi)容是相同的,所以,表達(dá)式a.equals(b)將返回true.

在實(shí)際開發(fā)中,我們經(jīng)常要比較傳遞進(jìn)行來的字符串內(nèi)容是否等,例如,Stringinput

=..Jnput.equalsC'quiO,許多人稍不注意就使用==進(jìn)行比較了,這是錯(cuò)誤的,隨便從網(wǎng)上找?guī)讉€(gè)項(xiàng)目

實(shí)戰(zhàn)的教學(xué)視頻看看,里面就有大量這樣的錯(cuò)誤。記住,字符串的比較基本上都是使用equals方法。

如果一個(gè)類沒有自己定義equals方法,那么它將繼承Object類的equals方法,Object類的equals

方法的實(shí)現(xiàn)代碼如下:

booleanequals(Objecto){

returnthis==o;

}

這說明,如果一個(gè)類沒有自己定義equals方法,它默認(rèn)的equals方法(從Object類繼承的)就是

使用==操作符,也是在比較兩個(gè)變量指向的對(duì)象是否是同一對(duì)象,這時(shí)候使用equals和使用==會(huì)得到

同樣的結(jié)果,如果比較的是兩個(gè)獨(dú)立的對(duì)象則總返回false。如果你編寫的類希望能夠bH交該類創(chuàng)建的兩個(gè)

實(shí)例對(duì)象的內(nèi)容是否相同,那么你必須覆蓋equals方法,由你自己寫代碼來決定在什么情況即可認(rèn)為兩

個(gè)對(duì)象的內(nèi)容是相同的。

12、靜態(tài)變量和實(shí)例變量的區(qū)別?

在語(yǔ)法定義上的區(qū)別:靜態(tài)變量前要加static關(guān)鍵字,而實(shí)例變量前則不加。

在程序運(yùn)行時(shí)的區(qū)別:實(shí)例變量屬于某個(gè)對(duì)象的屬性,必須創(chuàng)建了實(shí)例對(duì)象,其中的實(shí)例變量才會(huì)被

分配空間,才能使用這個(gè)實(shí)例變量。靜態(tài)變量不屬于某個(gè)實(shí)例對(duì)象,而是屬于類,所以也稱為類變量,只

要程序加載了類的字節(jié)碼,不用創(chuàng)建任何實(shí)例對(duì)象,靜態(tài)變量就會(huì)被分配空間,靜態(tài)變量就可以被使用了。

總之,實(shí)例變量必須創(chuàng)建對(duì)象后才可以通過這個(gè)對(duì)象來使用,靜態(tài)變量則可以直接使用類名來引用。

例如,對(duì)于下面的程序,無(wú)論創(chuàng)建多少個(gè)實(shí)例對(duì)象,永遠(yuǎn)都只分配了一個(gè)staticVar變量,并且每創(chuàng)

建一個(gè)實(shí)例對(duì)象,這個(gè)staticVar就會(huì)加1;但是,每創(chuàng)建一個(gè)實(shí)例對(duì)象,就會(huì)分配一個(gè)instanceVar,即

可能分配多個(gè)instanceVar,并且每個(gè)instanceVar的值都只自加了1次。

publicclassVariantTest

(

publicstaticintstaticVar=0;

publicintinstanceVar=0;

publicVariantTestO

{

staticVar++;

instanceVar++;

System.out.println("staticVar="+staticVar+”,instanceVar="+instanceVar);

}

)

備注:這個(gè)解答除了說清楚兩者的區(qū)別外,最后還用一個(gè)具體的應(yīng)用例子來說明兩者的差異,體現(xiàn)了

自己有很好的解說問題和設(shè)計(jì)案例的能力,思維敏捷,超過一般程序員,有寫作能力!

13、是否可以從一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法

的調(diào)用?

不可以。因?yàn)榉莝tatic方法是要與對(duì)象關(guān)聯(lián)在一起的,必須創(chuàng)建一個(gè)對(duì)象后,才可以在該對(duì)象上進(jìn)行

方法調(diào)用,而static方法調(diào)用時(shí)不需要?jiǎng)?chuàng)建對(duì)象,可以直接調(diào)用。也就是說,當(dāng)一個(gè)static方法被調(diào)用時(shí),

可能還沒有創(chuàng)建任何實(shí)例對(duì)象,如果從一個(gè)static方法中發(fā)出對(duì)非static方法的調(diào)用,那個(gè)非static方法

是關(guān)聯(lián)到哪個(gè)對(duì)象上的呢?這個(gè)邏輯無(wú)法成立,所以,一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用。

14、Integer與int的區(qū)別

int是java提供的8種原始數(shù)據(jù)類型之一Java為每個(gè)原始類型提供了封裝類Integer是java為int

提供的封裝類。int的默認(rèn)值為0,而Integer的默認(rèn)值為null,即Integer可以區(qū)分出未賦值和值為0的

區(qū)別,int則無(wú)法表達(dá)出未賦值的情況,例如,要想表達(dá)出沒有參加考試和考試成績(jī)?yōu)?的區(qū)別,則只能

使用Integer.在JSP開發(fā)中,Integer的默認(rèn)為null,所以用el表達(dá)式在文本框中顯示時(shí),值為空白字

符串,而int默認(rèn)的默認(rèn)值為0,所以用el表達(dá)式在文本框中顯示時(shí),結(jié)果為0,所以,int不適合作為

web層的表單數(shù)據(jù)的類型。

在Hibernate中,如果將0ID定義為Integer類型,那么Hibernate就可以根據(jù)其值是否為null而

判斷一個(gè)對(duì)象是否是臨時(shí)的,如果將OID定義為了int類型,還需要在hbm映射文件中設(shè)置其

unsaved-value屬性為0?

另外,Integer提供了多個(gè)與整數(shù)相關(guān)的操作方法,例如,將一個(gè)字符串轉(zhuǎn)換成整數(shù),Integer中還定

義了表示整數(shù)的最大值和最小值的常量。

15、Math.round。1.5)等於多少?Math.round(-11.5)等

於多少?

Math類中提供了三個(gè)與取整有關(guān)的方法:ceil、floor,round,這些方法的作用與它們的英文名稱的

含義相對(duì)應(yīng),例如,ceil的英文意義是天花板,該方法就表示向上取整,所以,Math.ee*11.3)的結(jié)果為

12,1^由4口(-11.3)的結(jié)果是-11;floor的英文意義是地板,該方法就表示向下取整,所以,

Math.floor。1.6)的結(jié)果為11,Math.floor(-l1.6)的結(jié)果是-12;最難掌握的是round方法,它表示"四

舍五人"算法為Math.floor(x+0.5),即將原來的數(shù)字加上0.5后再向下取整所以,Math.round。1.5)

的結(jié)果為12,Math.round(-11.5)的結(jié)果為-11。

15、下面的代碼有什么不妥之處?

1.if(username.equals("zxx"){}

2.intX=1;

returnx==l?true:false;

lx請(qǐng)說出作用域public,private,protected,以及不寫

時(shí)的區(qū)別

這四個(gè)作用域的可見范圍如下表所示。

說明:如果在修飾的元素上面沒有寫任何訪問修飾符,則表示friendly。

作用域當(dāng)前類同一package子孫類其他package

publicVVVV

protectedVVVx

friendlyVVxx

privateVxxx

備注:只要記住了有4種訪問權(quán)限,4個(gè)訪問范圍,然后將全選和范圍在水平和垂直方向上分別按排

從小到大或從大到小的順序排列,就很容易畫出上面的圖了。

2、Overload和Override的區(qū)別。Overloaded的方法是

否可以改變返回值的類型?

Overload是重載的意思,Override是覆蓋的意思,也就是重寫。

重載Overload表示同一個(gè)類中可以有多個(gè)名稱相同的方法,但這些方法的參數(shù)列表各不相同(即參

數(shù)個(gè)數(shù)或類型不同入

重寫Override表示子類中的方法可以與父類中的某個(gè)方法的名稱和參數(shù)完全相同,通過子類創(chuàng)建的

實(shí)例對(duì)象調(diào)用這個(gè)方法時(shí),將調(diào)用子類中的定義方法,這相當(dāng)于把父類中定義的那個(gè)完全相同的方法給覆

蓋了,這也是面向?qū)ο缶幊痰亩鄳B(tài)性的一種表現(xiàn)。子類覆蓋父類的方法時(shí),只能比父類拋出更少的異常,

或者是拋出父類拋出的異常的子異常,因?yàn)樽宇惪梢越鉀Q父類的一些問題,不能比父類有更多的問題。子

類方法的訪問權(quán)限只能比父類的更大,不能更小。如果父類的方法是private類型,那么,子類則不存在

覆蓋的限制,相當(dāng)于子類中增加了一個(gè)全新的方法。

至于Overloaded的方法是否可以改變返回值的類型這個(gè)問題,要看你倒底想問什么呢?這個(gè)題目很

模糊。如果幾個(gè)Overloaded的方法的參數(shù)列表不一樣,它們的返回者類型當(dāng)然也可以不一樣。但我估計(jì)

你想問的問題是女口果兩個(gè)方法的參數(shù)列表完全一樣,是否可以讓它們的返回值不同來實(shí)現(xiàn)重載Overload。

這是不行的,我們可以用反證法來說明這個(gè)問題,因?yàn)槲覀冇袝r(shí)候調(diào)用一個(gè)方法時(shí)也可以不定義返回結(jié)果

變量,即不要關(guān)心其返回結(jié)果,例如,我們調(diào)用map.remove(key)方法時(shí),雖然remove方法有返回值,

但是我們通常都不會(huì)定義接收返回結(jié)果的變量,這時(shí)候假設(shè)該類中有兩個(gè)名稱和參數(shù)列表完全相同的方法,

僅僅是返回類型不同,java就無(wú)法確定編程者倒底是想調(diào)用哪個(gè)方法了,因?yàn)樗鼰o(wú)法通過返回結(jié)果類型來

判斷.

override可以翻譯為覆蓋,從字面就可以知道,它是覆蓋了一個(gè)方法并且對(duì)其重寫,以求

達(dá)到不同的作用。對(duì)我們來說最熟悉的覆蓋就是對(duì)接口方法的實(shí)現(xiàn),在接口中一般只是對(duì)方

法進(jìn)行了聲明,而我們?cè)趯?shí)現(xiàn)時(shí),就需要實(shí)現(xiàn)接口聲明的所有方法。除了這個(gè)典型的用法以

外,我們?cè)诶^承中也可能會(huì)在子類覆蓋父類中的方法。在覆蓋要注意以下的幾點(diǎn):

1、覆蓋的方法的標(biāo)志必須要和被覆蓋的方法的標(biāo)志完全匹配,才能達(dá)到覆蓋的效果;

2、覆蓋的方法的返回值必須和被覆蓋的方法的返回一致;

3、覆蓋的方法所拋出的異常必須和被覆蓋方法的所拋出的異常一致,或者是其子類;

4、被覆蓋的方法不能為private,否則在其子類中只是新定義了一個(gè)方法,并沒有對(duì)其進(jìn)

行覆蓋。

overload對(duì)我們來說可能比較熟悉,可以翻譯為重載,它是指我們可以定義一些名稱相同

的方法,通過定義不同的輸入?yún)?shù)來區(qū)分這些方法,然后再調(diào)用時(shí),VM就會(huì)根據(jù)不同的參

數(shù)樣式,來選擇合適的方法執(zhí)行。在使用重載要注意以下的幾點(diǎn):

1、在使用重載時(shí)只能通過不同的參數(shù)樣式。例如,不同的參數(shù)類型,不同的參數(shù)個(gè)數(shù),不

同的參數(shù)順序(當(dāng)然,同一方法內(nèi)的幾個(gè)參數(shù)類型必須不一樣,例如可以是fun(int,float),

但是不能為fun());

2、不能通過訪問權(quán)限、返回類型、拋出的異常進(jìn)行重載;

3、方法的異常類型和數(shù)目不會(huì)對(duì)重載造成影響;

4、對(duì)于繼承來說,如果某一方法在父類中是訪問權(quán)限是priavte,那么就不能

在子類對(duì)其進(jìn)行重載,如果定義的話,也只是定義了一個(gè)新方法,而不會(huì)達(dá)到重

載的效果。

3、4月21號(hào)班同學(xué)貢獻(xiàn)的一些題?

朱wenchao,女:3500,21歲

搞了多個(gè)重載方法,參數(shù)分別是int,char,和double,然后將doublex=2,

傳遞進(jìn)去,會(huì)選擇哪個(gè)方法?

說說對(duì)javaee中的session的理解,你是怎么用session的?

陳yong,4000

一個(gè)房子里有椅子,椅子有腿和背,房子與椅子是什么關(guān)系,椅子與腿和背是什么關(guān)系?

如果房子有多個(gè)椅子,就是聚合關(guān)系,否則是一種關(guān)聯(lián)關(guān)系,當(dāng)然,聚合是一種特殊的關(guān)聯(lián)。

椅子與腿和背時(shí)組合關(guān)系。

說說hasa與isa的區(qū)別。

答:is-a表示的是屬于得關(guān)系。比如兔子屬于一種動(dòng)物(繼承關(guān)系\

has-a表示組合,包含關(guān)系。比如兔子包含有腿,頭等組件;

工廠模式的類圖

4.5月15號(hào)班同學(xué)貢獻(xiàn)的一些題?

1.線程如何同步和通訊。同學(xué)回答說synchronized方法或代碼塊!面試官似乎不太滿意!

只有多個(gè)synchronized代碼塊使用的是同一個(gè)監(jiān)視器對(duì)象,這些synchronized代碼塊

之間才具有線程互斥的效果,假如a代碼塊用objl作為監(jiān)視器對(duì)象,假如b代碼塊用。切2

作為監(jiān)視器對(duì)象,那么,兩個(gè)并發(fā)的線程可以同時(shí)分別進(jìn)入這兩個(gè)代碼塊中?!@里還可

以分析一下同步的原理。

對(duì)于同步方法的分析,所用的同步監(jiān)視器對(duì)象是this

接著對(duì)于靜態(tài)同步方法的分析,所用的同步監(jiān)視器對(duì)象是該類的Class對(duì)象

接著對(duì)如何實(shí)現(xiàn)代碼塊與方法的同步進(jìn)行分析。

2.ClassLoader如何力口載class。

jvm里有多個(gè)類加載,每個(gè)類加載可以負(fù)責(zé)加載特定位置的類,例如,bootstrap類加

載負(fù)責(zé)加載jre/lib/rt.jar中的類,我們平時(shí)用的jdk中的類都位于rt.jar中。

extclassloader負(fù)責(zé)加載jar/lib/ext/*.jar中的類,appclassloader負(fù)責(zé)classpath指定

的目錄或jar中的類。除了bootstrap之外,其他的類加載器本身也都是java類,它們的

父類是

ClassLoadero

3.Servlet的生命周期

4.抽象類的作用

5.ArrayList如何實(shí)現(xiàn)插入的數(shù)據(jù)按自定義的方式有序存放

classMyBeanimplementsComparable(

publicintcompareTo(Objectobj){

if(!objinstanceofMyBean)

thrownewClassCastExceptionO〃具體異常的名稱,我要查jdk文檔。

MyBeanother=(MyBean)obj;

returnage>other.age?l:age==other.age?0:-l;

}

}

classMyTreeSet{

privateArrayListdatas=newArrayListO;

p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論