第一篇:java程序員面試必讀
Java程序員,面試必讀
☆★☆★快來!10月25日讀者見面會(huì)☆★☆★
清華大學(xué)出版社《Java程序員,上班那點(diǎn)事兒》作者:鐘聲 章節(jié):1.2.2:
面試是一個(gè)“簡(jiǎn)單”而又“復(fù)雜”的事情,正因?yàn)樗哂小昂?jiǎn)單”和“復(fù)雜”的雙重性質(zhì),才使我們對(duì)這個(gè)問題不敢掉以輕心。介紹如何面試,有時(shí)候甚至可以寫一本書,而有時(shí)候,你什么都不準(zhǔn)備卻可以面試成功。
因?yàn)椋嬖嚨某晒εc否完全取決于主考官,因此,這門學(xué)問的主要科目就是研究主考官的招聘心理。
我們研究好主考官的招聘心理,自然就可以做到“知己知彼”了。
本小節(jié)只是說說面試的“心理戰(zhàn)”,而想真正的能夠?qū)Υ鹑缌鳎枰氖恰罢婀Ψ颉保刖邆洹罢婀Ψ颉边€是需要真正的技術(shù)水平作為前提的,本小節(jié)的內(nèi)容只是給那些已經(jīng)具備相應(yīng)技術(shù)水平的應(yīng)聘者提供一定的應(yīng)聘技巧而已,以避免沒有把自己的“真功夫”完全展示出來從而喪失工作機(jī)會(huì)。
面試前對(duì)自己的心理暗示:
面試并不是考試,只是和未來的同事聊聊天。
“心理戰(zhàn)”對(duì)象,可能出現(xiàn)的主考官如下幾類:
人物1,人力資源部主管(HR)
人物2,你未來的主管
人物3,你未來主管的主管
我們分別來分析遇到不同類型的主考官的不同情況。
人物1:人力資源部主管(HR)
“人物1”的出現(xiàn)往往是進(jìn)行該職位的初審,給出一個(gè)概觀定論,如果合格將會(huì)提交給“人物2”。“人物1”他們所要進(jìn)行的是對(duì)人的心理和基本技能方面的一個(gè)判斷。
不過,也有一些公司,首次面試仍然是由業(yè)務(wù)主管來進(jìn)行,然后再將初審合格的人交給人力部門來復(fù)試,如果,是這種情況,你應(yīng)該就算90%入職成功了,因?yàn)椋@個(gè)復(fù)試往往是走個(gè)形式,看看此人有沒有被主管忽略的大問題,如果沒有,基本就差不多了。
那么,我們僅僅以第一種情況為例,看看“人物1”大多提出的是哪些問題。
常見提問1:請(qǐng)你自我介紹一下
這個(gè)問題,是人力部主考官必問的問題,這個(gè)問題的提問并不是真的想了解你的個(gè)人情況,因?yàn)椋愕那闆r基本上在簡(jiǎn)歷上都寫著呢。他提出這個(gè)問題的主要目的是來考察你的語(yǔ)言表達(dá)能力,和你在表達(dá)過程中的一些細(xì)節(jié)表現(xiàn)。
所以,我們應(yīng)該怎么回答呢?
看看如下對(duì)話:
HR:“請(qǐng)你自我介紹一下”
A君:“您看簡(jiǎn)歷吧,基本上我都寫在簡(jiǎn)歷上了。”
HR:汗?
HR:“請(qǐng)你自我介紹一下”
B君:“我叫XXX,年齡24,性別男,籍貫??”
HR:倒?
HR:“請(qǐng)你自我介紹一下”
C君:“這話從何說起呢?話說10年前??”
HR:暈?
首先,不要認(rèn)為主考官?zèng)]有認(rèn)真的看你的簡(jiǎn)歷,沒有看你的簡(jiǎn)歷就讓你來面試,是在浪費(fèi)他自己的時(shí)間,所以絕對(duì)是首先認(rèn)為簡(jiǎn)歷比較合適,才約你來的。
第二,自我介紹并不是讓你重復(fù)一下你簡(jiǎn)歷上的所有內(nèi)容,那些內(nèi)容簡(jiǎn)歷上都有,主考官主要是想聽聽你如何表達(dá)和語(yǔ)言的邏輯能力。
第三,這個(gè)表達(dá)不要滔滔不絕,要有張有弛,有收有放,主要將自己的想說的優(yōu)勢(shì)部分分別道來,能夠通過你的介紹讓人感覺到你的“親和力”為佳。
“語(yǔ)言表達(dá)能力”并非我們?nèi)粘Kf的“能侃”或者“口才”,這是片面的理解,在面試過程中,我們要展現(xiàn)的“語(yǔ)言表達(dá)能力”是指,“語(yǔ)言親和力”,能夠讓人感受到你的“溝通”能力。
回答范例:
您好!我來自XXX大學(xué),是應(yīng)屆畢業(yè)生,所學(xué)專業(yè)是計(jì)算機(jī)應(yīng)用技術(shù),我在校期間參加多項(xiàng)課余工作,參與了多個(gè)應(yīng)用系統(tǒng)的開發(fā)與設(shè)計(jì),熟練掌握J(rèn)ava開發(fā)工具和應(yīng)用系統(tǒng)的各種開發(fā)方法。在學(xué)習(xí)與工作期間,總結(jié)與實(shí)踐了各種技術(shù)實(shí)現(xiàn)手段,有了一些小的積累。
近期已經(jīng)畢業(yè),看到您公司的招聘信息,感覺自己的技術(shù)與能力非常合適,就投遞了簡(jiǎn)歷。希望能過了您這關(guān),呵呵??(注:最后的微笑最好不要太牽強(qiáng),目的是緩和氣氛)
大家看到了,這個(gè)回答范例的自我介紹非常簡(jiǎn)練,但是,什么也沒有落下。既實(shí)事求是的說了自己是應(yīng)屆畢業(yè)生,又說明了自己雖然是應(yīng)屆畢業(yè)生,但是參加了很多的課余工作,并且具有實(shí)際的項(xiàng)目開發(fā)經(jīng)驗(yàn),而且有了一些小的積累。
既說了自己的對(duì)這份工作和自己能力之間的考量,又表達(dá)了自己對(duì)主考官的期望。
意思表達(dá)時(shí)不卑不亢,言簡(jiǎn)意賅,讓人聽起來就感覺很舒服。
這時(shí)候你的目的就達(dá)到了,展現(xiàn)出自己的“語(yǔ)言表達(dá)能力”和“語(yǔ)言親和力”,同時(shí)又能夠讓人感受到你的“溝通”能力。
常見提問2:你最大的優(yōu)點(diǎn)是什么?
這個(gè)問題如果是HR問,則最好回答了。
回答這個(gè)問題的關(guān)鍵是“圍繞自己的技術(shù)特長(zhǎng)”展開話題,為什么這樣?
因?yàn)椋鵋R都不懂技術(shù),圍繞技術(shù)說自己的特長(zhǎng)很容易給他說暈(當(dāng)然,個(gè)別懂技術(shù)的HR除外)。這里要注意的是,在說技術(shù)問題的時(shí)候,不要讓HR感覺自己什么都不懂,要注意說話的節(jié)奏,不要太快,不要太驕傲。
常見提問3:你最大的缺點(diǎn)是什么?
這個(gè)問題是HR的殺手锏,可以說這是HR的狠招,這個(gè)問題最難回答,一般應(yīng)聘者都本著“揚(yáng)長(zhǎng)避短”的心態(tài)去面試,冷不防冒出這么一個(gè)問題,還真是挺棘手的。
需要清楚HR問這個(gè)問題的目的,其目的仍然不是要真的需要知道你的缺點(diǎn)是什么,還是看看你的表達(dá)能力,尤其是需要考察應(yīng)聘者面對(duì)危機(jī)的時(shí)候的處理能力。所以,我們不要用下列方式作答:
1、說出自己的真實(shí)缺點(diǎn),尤其是在前面談話中沒有暴露出來的缺點(diǎn)
2、認(rèn)為說說某些大眾化的缺點(diǎn)即可,認(rèn)為說一兩個(gè)無妨
3、說自己沒有缺點(diǎn),強(qiáng)調(diào)自己比較完美
總之,HR心里想的是:需要了解他面前的這個(gè)人在面對(duì)困難的時(shí)候,是如何處理問題的,從處理危機(jī)的方法來判斷此人的處理事情的靈活性。當(dāng)然,如果此人自己暴露出自己的缺點(diǎn)當(dāng)然更好,省得需要去想辦法問更多的問題去發(fā)現(xiàn)了。
所以,在回答這個(gè)問題的時(shí)候,要看起來“真誠(chéng)”、“坦白”,同時(shí),說出來的并非自己的缺點(diǎn),而是最好在別人看來是優(yōu)點(diǎn)的那些方面。
這個(gè)問題問的概率很大,通常如果求職者說自己小心眼、愛忌妒人、非常懶、脾氣大、工作效率低,肯定不會(huì)錄用你。HR喜歡求職者從自己的優(yōu)點(diǎn)說起,中間加一些小缺點(diǎn),最后再把問題轉(zhuǎn)回到優(yōu)點(diǎn)上,目的還是突出自己優(yōu)點(diǎn)的部分。
HR喜歡聰明的求職者。
這一點(diǎn)比較難掌握,我們也給出范例:
回答范例:
呵呵,這個(gè)問題好難回答啊!我想想??(親和力表現(xiàn),也緩解了自己的緊張情緒)
我的缺點(diǎn)是,比較執(zhí)著,比如在技術(shù)方面比較愛鉆研,有的時(shí)候會(huì)為一個(gè)技術(shù)問題加班到深夜。還有就是,工作比較按部就班,總是按照主管的要求完成任務(wù)。另外的缺點(diǎn)是,總在自己的工作范圍內(nèi)有創(chuàng)新意識(shí),并沒有擴(kuò)展給其他同事。這些問題我想我可以進(jìn)入公司以后以最短的時(shí)間來解決,我的學(xué)習(xí)能力很強(qiáng),我相信可以很快融入公司的企業(yè)文化,進(jìn)入工作狀態(tài)。
嗯??,我想就這些吧。
這個(gè)回答范例開頭第一句話就讓人覺得很自然,因?yàn)檫@個(gè)求職者所說的話恰恰表達(dá)了一般人聽到這個(gè)問題后的心理狀態(tài),還有你一定會(huì)有一個(gè)思考的時(shí)間,因?yàn)椋l(shuí)也不會(huì)立刻說出自己的缺點(diǎn)。
后面說出的幾個(gè)缺點(diǎn)都是一環(huán)套一環(huán)的,說了自己“比較執(zhí)著”,但又說自己其實(shí)是“比較愛鉆研”,說自己總是“按部就班”,但又補(bǔ)充了其實(shí)那是“按照主管的要求完成任務(wù)”,這時(shí)候,如果用人單位覺得,此人是不是沒有“創(chuàng)新思維”的時(shí)候,馬上就補(bǔ)充道“在自己的范圍內(nèi)有創(chuàng)新意識(shí)”,至于“沒有擴(kuò)展給其他同事”這件事,其實(shí)無關(guān)緊要,干脆就賣給HR吧。
以上回答確實(shí)賣弄了些“技巧”,相信HR也一定能看的出來,但是,即使看出來了也無妨,HR也會(huì)心領(lǐng)神會(huì),知道你是一個(gè)比較善于溝通并且善于表達(dá)的人。
人物2:你未來的主管
當(dāng)見到未來主管的時(shí)候,往往是應(yīng)聘者已經(jīng)過了HR那一關(guān),或者應(yīng)聘者已經(jīng)過了筆試的那一關(guān),因此見到這位人物意味著距離成功已經(jīng)向前進(jìn)了一步。
“人物2”的面試也有他的目的,他是和你在日常工作中接觸最多的人,作為你的直接上司,他需要在工作中經(jīng)常給你分配任務(wù),他需要對(duì)他的主管負(fù)責(zé),因此,他招聘的這個(gè)人選必須是可以幫助他完成他整個(gè)Team的目標(biāo)的人。
往往那個(gè)吸引你來面試的“招聘啟示”就是這個(gè)人物所撰寫的,因此,其實(shí)在你和他見面以前,早已經(jīng)通過“招聘啟示”和他有過交往了。因此,從“招聘啟示”中就可以初顯這位主管的端倪。
注意,主管同志并不是人事領(lǐng)域的高手,不會(huì)用各種語(yǔ)言技巧去發(fā)掘你身上的缺點(diǎn)或者優(yōu)點(diǎn),往往問題都是實(shí)打?qū)嵉模蛘弑容^一針見血的,而且,更偏重于日常工作。
那么,我們下面和他過過招。
常見提問1:請(qǐng)你自我介紹一下
這個(gè)問題,HR也問過了,到他那里有可能還會(huì)問,主管問這個(gè)問題和HR雖然問的問題一致,但是,其目的并不是完全相同的。
他不僅僅想考察一下你的表達(dá)能力,同時(shí)還想考察一下你思路的清晰程度。
我們?cè)诨卮鹚膯栴}前,一定要想清楚一件事:他是該技術(shù)領(lǐng)域的高手,就是我們“程序員修煉三境界”中描述的“第二層境界”的那個(gè)人物,如果還想更清楚的了解這個(gè)人物,可以去重新看看前面的那個(gè)章節(jié)。
這個(gè)自我介紹最好說的較為簡(jiǎn)潔,不要過分炫耀自己的技術(shù)如何如何強(qiáng),免得引起這位主管的興趣,引起他的技術(shù)興趣沒有什么好處,只會(huì)帶來更多的技術(shù)問題的發(fā)問。
常見提問2:你最引以為自豪的項(xiàng)目是什么?
他問這個(gè)問題的意圖是想考察你的成長(zhǎng)路徑和編程習(xí)慣,因?yàn)椋钭屇阕院赖捻?xiàng)目往往是你成長(zhǎng)最快的項(xiàng)目,那個(gè)成長(zhǎng)最快的項(xiàng)目往往會(huì)給你今后的編程習(xí)慣留下很多痕跡。
所以,通過你對(duì)那個(gè)引以為豪的項(xiàng)目的描述,有經(jīng)驗(yàn)的他會(huì)很快鎖定你技術(shù)成長(zhǎng)中的缺陷和閃光點(diǎn),從而判斷是否能夠“為我所用”。
你最好拿出一個(gè)自己最擅長(zhǎng)技術(shù)的那個(gè)項(xiàng)目進(jìn)行介紹,這個(gè)項(xiàng)目最好能夠比較貼近招聘要求的那些指標(biāo)。如果,沒有做過什么有規(guī)模的正規(guī)項(xiàng)目,你就拿些自己非常擅長(zhǎng)或者有創(chuàng)意的開發(fā)作品來說。這樣做的好處是,他聽完你的介紹后,會(huì)接下來進(jìn)行提問,他所有發(fā)問,你都成竹在胸了。
切忌拿一個(gè)別人的項(xiàng)目,或者自己參與很少的項(xiàng)目來介紹,如果這樣的話,一旦他深入的詢問這個(gè)項(xiàng)目的問題,很可能你會(huì)所答非所問,反而造成更嚴(yán)重的影響。你大可以和他大談特談你在那個(gè)項(xiàng)目中獲得的經(jīng)驗(yàn),那會(huì)引起此君的共鳴,有可能的話,說出一些你自己的小技巧,他會(huì)很高興。
常見提問3:如果我錄用你,你將怎樣開展工作
他問這個(gè)問題的意圖是,希望看看你對(duì)這個(gè)職位工作展開的一些設(shè)想,仍然是“實(shí)打?qū)崱睆墓ぷ鞒霭l(fā)來提問的。所以,你在回答這個(gè)問題的時(shí)候也要“實(shí)打?qū)崱保屑商摕o縹緲的一通“高、大、全”。
一般要列出自己的入職之后的工作計(jì)劃,而這些計(jì)劃需要詳盡,同時(shí)需要體現(xiàn)出你工作的嚴(yán)謹(jǐn)性,也不能是想當(dāng)然的說出一些與工作無關(guān)的計(jì)劃,這都有可能適得其反。
回答范例:
針對(duì)這個(gè)如何展開工作的問題,我目前僅僅是對(duì)咱們公司的大體情況有一個(gè)了解,因此,對(duì)這個(gè)職位的工作性質(zhì)僅僅是自己的一個(gè)理解。
所以呢,我也不知道是否合適,我只能說一個(gè)大概。
作為這個(gè)職位而言,我想我首先要對(duì)本公司的主營(yíng)業(yè)務(wù)要有一個(gè)相當(dāng)?shù)牧私猓私馕覀児镜臉I(yè)務(wù)組成部分、業(yè)務(wù)的發(fā)展方向、我們面向的客戶性質(zhì)等等。
第二,我要了解所屬部門在公司中的地位,以及部門的工作目標(biāo),從而確定自身的工作努力方向。
第三,了解我參與項(xiàng)目的開發(fā)方式,架構(gòu)方式,緊密配合領(lǐng)導(dǎo)工作,盡快投入具體的開發(fā)工作。
這就是我開展工作的計(jì)劃。
從大到小的方式進(jìn)行了解,這么說可以讓領(lǐng)導(dǎo)知道你不是一個(gè)盲目工作的人,而是一個(gè)按部就班,穩(wěn)扎穩(wěn)打的人,使人覺得和你合作很踏實(shí)。另外,一定要強(qiáng)調(diào)所屬項(xiàng)目或部門的目標(biāo),因?yàn)檫@關(guān)系到面試你的主管的切身利益。最后,強(qiáng)調(diào)“盡快”投入開發(fā)工作,這樣,領(lǐng)導(dǎo)就放心了,你不是一個(gè)“只了解,不工作”的人。
面對(duì)主管唯一要盡量表現(xiàn)的就是,你看起來非常像一個(gè)“工具”,入職后馬上就可以發(fā)揮作用。
人物3:主管的主管
遇到“主管的主管”的時(shí),往往已經(jīng)是復(fù)試,這說明基本上已經(jīng)是最后一關(guān)了。但要注意,這個(gè)最后一關(guān)是非常關(guān)鍵的一“關(guān)”。因?yàn)椋绻阄磥淼闹鞴茉诠局心硞€(gè)專業(yè)夠權(quán)威的話,他的主管一般不會(huì)管招聘的事情。因此,你看到這位“老大”的原因,多半是你未來的那位主管的專業(yè)地位還沒有“穩(wěn)定”。
最后的“搏殺”
過程大概是這樣的,一般會(huì)將兩個(gè)或三個(gè)人提交給“老大”,讓“老大”定奪,去選擇其中的一個(gè)人,因此,這個(gè)階段是一個(gè)最后的“搏殺”關(guān)鍵階段。老大”關(guān)注的問題:成本+人員素質(zhì)
所以,我們?cè)诤汀袄洗蟆边^招的時(shí)候,一定要注意自己的言行,切忌不要穿“奇裝異服”,或者男士留有個(gè)性的頭發(fā)或胡子,總之一定要讓人看起來特別的“平常”,雖然不是“西裝革履”但也要“衣冠整潔”。
因?yàn)椋习鍌冏畈幌矚g“個(gè)性”員工,而最喜歡的是“優(yōu)秀”的普通員工。
清華大學(xué)出版社《Java程序員,上班那點(diǎn)事兒》作者:鐘聲 章節(jié):1.2.2。
本文來自CSDN博客,轉(zhuǎn)載請(qǐng)http://blog.csdn.net/useway/archive/2009/08/02/4402385.aspx
標(biāo)
明
出
處
:
第二篇:JAVA程序員面試技巧
java程序員面試題 第一部分:選擇題 question no: 1
1、public class test { public static void changestr(string str){ } public static void main(string[] args){ string str=1234;changestr(str);system.out.println(str);} } please write the output result : question no:2 1.public class test { 2.static boolean foo(char c){ 3.system.out.print(c);4.return true;5.} 6.public static void main(string[] argv){ 7.int i =0;8.for(foo(a);foo(b)&&(i<2);foo(c)){ 9.i++;10.foo(d);12.} 13.} 14.} what is the result? a.abdcbdcb b.abcdabcd d.an exception is thrown at runtime.question no: 3 1.class a { 2.protected int method1(int a, int b){ return 0;} 3.} which two are valid in a class that extends class a?(choose two)a.public int method1(int a, int b){ return 0;} b.private int method1(int a, int b){ return 0;} c.private int method1(int a, long b){ return 0;} d.public short method1(int a, int b){ return 0;} e.static protected int method1(int a, int b){ return 0;} question no: 4 1.public class outer{ 2.public void someoutermethod(){ 3.// line 3 4.} 5.public class inner{} 6.public static void main(string[]argv){ 7.outer o = new outer();8.// line 8 9.} 10.} which instantiates an instance of inner? a.new inner();// at line 3 b.new inner();// at line 8 c.new o.inner();// at line 8 d.new outer.inner();// at line 8//new outer().new inner()question no: 5 which method is used by a servlet to place its session id in a url that is written to the servlet’s response output stream? question no: 6 which two are equivalent?(choose two)a.b.c.d.e.f.g.question no: 7 which of the following statements regarding the lifecycle of a session bean are correct? 1.java.lang.illegalstateexception is thrown if sessioncontext.getejbobject()is invoked when a stateful session bean instance is passivated.2.sessioncontext.getrollbackonly()does not throw an exception when a session bean with bean-managed transaction demarcation is activated.3.an exception is not thrown when sessioncontext.getusertransaction()is called in the afterbegin method of a bean with container-managed transactions.5.accessing resource managers in the sessionsynchronization.afterbegin method of a stateful session bean with bean-managed transaction does not throw an exception.第二部分:概念題
1.描述struts體系結(jié)構(gòu)?對(duì)應(yīng)各個(gè)部分的開發(fā)工作主要包括哪些? 3.jsp有哪些內(nèi)置對(duì)象和動(dòng)作?它們的作用分別是什么?
4、sql問答題
select * from table 和
select * from table where name like %% and addr like %% and(1_addr like %% or 2_addr like %% or 3_addr like %% or 4_addr like %%)的檢索結(jié)果為何不同?
5、sql問答題
表結(jié)構(gòu):
1、表名:g_cardapply 字段(字段名/類型/長(zhǎng)度): g_applyno varchar 8;//申請(qǐng)單號(hào)(關(guān)鍵字)g_applydate bigint 8;//申請(qǐng)日期 g_state varchar 2;//申請(qǐng)狀態(tài)
2、表名:g_cardapplydetail 字段(字段名/類型/長(zhǎng)度): g_applyno varchar 8;//申請(qǐng)單號(hào)(關(guān)鍵字)g_name varchar 30;//申請(qǐng)人姓名 g_idcard varchar 18;//申請(qǐng)人身份證號(hào) g_state varchar 2;//申請(qǐng)狀態(tài)
其中,兩個(gè)表的關(guān)聯(lián)字段為申請(qǐng)單號(hào)。
題目:
1、查詢身份證號(hào)碼為***的申請(qǐng)日期
2、查詢同一個(gè)身份證號(hào)碼有兩條以上記錄的身份證號(hào)碼及記錄個(gè)數(shù)
3、將身份證號(hào)碼為***的記錄在兩個(gè)表中的申請(qǐng)狀態(tài)均改為07
4、刪除g_cardapplydetail表中所有姓李的記錄
華為java筆試題
一、單項(xiàng)選擇題
1.java是從()語(yǔ)言改進(jìn)重新設(shè)計(jì)。a.a(chǎn)da b.c++ c.pasacal d.basic篇二:java程序員面試注意事項(xiàng)
一、回答問題的思路
先正面敘述一些基本的核心知識(shí),然后描述一些特殊的東西,最后再來一些錦上添花的東西。要注意有些不是錦上添花,而是畫蛇添足的東西,不要隨便寫上。把答題像寫書一樣寫。我要回答一個(gè)新技術(shù)的問題大概思路和步驟是:我們想干什么,干這個(gè)遇到了什么問題,現(xiàn)在用什么方式來解決。其實(shí)我們講課也是這樣一個(gè)思路。
答題時(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)村!少數(shù)人基礎(chǔ)確實(shí)很好,在校期間確實(shí)又做過一些項(xiàng)目,那仍然是可以要到相對(duì)高的工資的。
初級(jí)程序員薪水:2000-4500 中級(jí)程序員薪水:4000-7000 高級(jí)程序員薪水:7000以上
公司招聘程序員更看重的要用到的編碼技術(shù)、而不是那些業(yè)務(wù)不太相關(guān)的所謂項(xiàng)目經(jī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)來的,而是通過各種手段挖過來的,這情況不再我今天要討論的范圍中。
四、公司面試會(huì)問什么,.技術(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)目,采用的無非都是我們學(xué)習(xí)的那些目前流行和常用的技術(shù)。技術(shù)好、經(jīng)驗(yàn)豐富,則項(xiàng)目做出來的效率高些,程序更穩(wěn)定和更容易維護(hù)些;技術(shù)差點(diǎn),碰碰磕磕最后也能把項(xiàng)目做出來,無非是做的周期長(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ù)面試官也無法在項(xiàng)目上甄別你的真?zhèn)巍?/p>
五、簡(jiǎn)歷怎么寫
簡(jiǎn)歷該怎么寫:精通哪些技術(shù),有一些什么項(xiàng)目經(jīng)歷
六、怎樣達(dá)到簡(jiǎn)歷上的標(biāo)準(zhǔn)(培訓(xùn)中心教項(xiàng)目的目的)教項(xiàng)目是為了鞏固和靈活整合運(yùn)用技術(shù),增強(qiáng)學(xué)習(xí)的趣味性,熟悉做項(xiàng)目的流程,或得一些專業(yè)課程中無法獲得的特有項(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í)的趣味性,但無法獲得實(shí)際的項(xiàng)目經(jīng)驗(yàn)。
第三篇:java程序員面試要點(diǎn)
第一,談?wù)刦inal, finally, finalize的區(qū)別。
final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize是 Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。
第二,Anonymous Inner Class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?
可以繼承其他類或完成其他接口,在swing編程中常用此方式。
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。
Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。
第四,&和&&的區(qū)別。
&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and).第五,HashMap和Hashtable的區(qū)別。
HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable.第六,Collection 和 Collections的區(qū)別。
Collection是集合類的上級(jí)接口,繼承與他的接口主要有Set 和List.Collections是針對(duì)集合類的一個(gè)幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。
第七,什么時(shí)候用assert。
1.4新增關(guān)鍵字(語(yǔ)法),用于測(cè)試boolean表達(dá)式狀態(tài),可用于調(diào)試程序。使用方法 assert,表示如果表達(dá)式為真(true),則下面的語(yǔ)句執(zhí)行,否則拋出AssertionError。另外的使用方式assert < boolean表達(dá)式>:,表示如果表達(dá)式為真,后面的表達(dá)式忽略,否則后面表達(dá)式的值用于AssertionError的構(gòu)建參數(shù)。注意編譯時(shí)要增加-source 1.4 參數(shù),否則報(bào)錯(cuò)。]運(yùn)行時(shí)要增加 –ea參數(shù),否則assert行被忽略
第八,GC是什么? 為什么要有GC?
GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動(dòng)監(jiān)測(cè)對(duì)象是否超過作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,Java語(yǔ)言沒有提供釋放已分配內(nèi)存的顯示操作方法。
第九,String s = new String(“xyz”);創(chuàng)建了幾個(gè)String Object?
兩個(gè)
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)==12Math.round(-11.5)==-11round方法返回與參數(shù)最接近的長(zhǎng)整數(shù),參數(shù)加1/2后求其floor.第十一,short s1 = 1;s1 = s1 + 1;有什么錯(cuò)? short s1 = 1;s1 += 1;有什么錯(cuò)?
short s1 = 1;s1 = s1 + 1;(s1+1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)short s1 = 1;s1 += 1;(可以正確編譯)
第十二,sleep()和 wait()有什么區(qū)別?
sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用 sleep不會(huì)釋放對(duì)象鎖。wait是Object類的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。
第十三,Java有沒有g(shù)oto?
沒有
很十三的問題,如果哪個(gè)面試的問到這個(gè)問題,我勸你還是別進(jìn)這家公司。
第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?
數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。
String有有l(wèi)ength()這個(gè)方法。
第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?
方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。
第十六,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
Set里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。equals()是判讀兩個(gè)Set是否相等。
equals()和==方法決定引用值是否指向同一對(duì)象equals()在類中被覆蓋,為的是當(dāng)兩個(gè)分離的對(duì)象的內(nèi)容和類型相配的話,返回真值。
第十七,給我一個(gè)你最常見到的runtime exception。
參考如下:
ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException
第十八,error和exception有什么區(qū)別?
error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。
exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
第十九,List, Set, Map是否繼承自Collection接口?
List,Set是
Map不是
第二十,abstract class和interface有什么區(qū)別?
聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。
接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個(gè) 有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對(duì)象的類是否實(shí)現(xiàn)了接口。
第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
都不能
第二十二,接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concrete class)?
接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。
第二十三,啟動(dòng)一個(gè)線程是用run()還是start()?
啟動(dòng)一個(gè)線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會(huì)立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個(gè)線程。
第二十四,構(gòu)造器Constructor是否可被override?
構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。
第二十五,是否可以繼承String類?
String類是final類故不可以繼承。
第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?
不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問。
第二十七,try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?
會(huì)執(zhí)行,在return前執(zhí)行。
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問這種問題。< < 3
第二十九,兩個(gè)對(duì)象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對(duì)不對(duì)?
不對(duì),有相同的hash code。
第三十,當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
是值傳遞。Java 編程語(yǔ)言只由值傳遞參數(shù)。當(dāng)一個(gè)對(duì)象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對(duì)該對(duì)象的引用。對(duì)象的內(nèi)容可以在被調(diào)用的方法中改變,但對(duì)象的引用是永遠(yuǎn)不會(huì)改變的。
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語(yǔ)句的參數(shù)應(yīng)該是 int、short、char 或者 byte。long,string 都不能作用于swtich。
第三十二,編程題: 寫一個(gè)Singleton出來。
Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類Class只有一個(gè)實(shí)例存在。
一般Singleton模式通常有幾種種形式:
第一種形式: 定義一個(gè)類,它的構(gòu)造函數(shù)為private的,它有一個(gè)static的private的該類變量,在類初始化時(shí)實(shí)例話,通過一個(gè)public的getInstance方法獲取對(duì)它的引用,繼而調(diào)用其中的方法。
public class Singleton {
private Singleton(){}
//在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很奇怪?
//注意這是private 只供內(nèi)部調(diào)用
private static Singleton instance = new Singleton();
//這里提供了一個(gè)供外部訪問本class的靜態(tài)方法,可以直接訪問
public static Singleton getInstance(){
return instance;
} }
第二種形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance(){
//這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對(duì)象,只是第一次
//使用時(shí)生成實(shí)例,提高了效率!
if(instance==null)
instance=new Singleton();
return instance;} }
其他形式:
定義一個(gè)類,它的構(gòu)造函數(shù)為private的,所有方法為static的。
一般認(rèn)為第一種形式要更加安全些
其中也存在一些問題,下面補(bǔ)充一下.希望大家繼續(xù)補(bǔ)充
1.最好介紹一下final修飾變量的情形(分開說明基本類型變量和引用類型變量)。
2.不知道如何描述比較好,匿名內(nèi)部類本身是一個(gè)實(shí)現(xiàn)了特定接口或繼承了其他類的類。
3.非靜態(tài)類不能有static的方法。參考一下java collections framework的代碼,還能說出很多東西來。
4.&既是位運(yùn)算符,也是邏輯操作符。
&和&&都是邏輯運(yùn)算符,它們的區(qū)別是,&&進(jìn)行短路計(jì)算。
6.可以補(bǔ)充一下,參考文檔。
11.說一下具體的原因可能更好。
13.java有g(shù)oto這個(gè)keyword,不過還沒有使用。
15.overload和多態(tài)沒有任何關(guān)系。多態(tài)是面向?qū)ο蟮幕咎卣鳎呛屠^承、overriding相關(guān)的。原來以為把overload當(dāng)作多態(tài)的一種是從C++來的,后來翻了基本c++的經(jīng)典的書,也強(qiáng)調(diào)多態(tài)只是和繼承,虛函數(shù),overriding相關(guān),所以不知道這個(gè)錯(cuò)誤思想從哪來的了.16.public interface Set
看文檔就是了.22.“抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。”什么意思?誰(shuí)規(guī)定的?
27.這個(gè)比較復(fù)雜,例如
public class Main {
public static void main(String[] args){
System.out.println(test());}
public static boolean test(){
boolean b = false;
try {
return b = 4 > 3;
} finally {
System.out.println(b);
//return false;} } }
這個(gè)例子中可以看出,return后面的表達(dá)式已經(jīng)計(jì)算了,感覺return語(yǔ)句這里被掛起了,如果finally中沒有return,這個(gè)return就返回.如果finally也有return,那么就是finally中的return返回了.29.碰上不守規(guī)矩的程序員誰(shuí)也沒辦法.31.還有枚舉呢
32.注釋有問題.
第四篇:Java程序員面試
Java程序員面試三十二問
第一,談?wù)刦inal,finally,finalize的區(qū)別。
Fanal 修飾符 可以修飾類,屬性和方法。被修飾的類不可以派生子類,不能被作為父類被繼承。它修飾的屬性和方法必須在聲明的時(shí)候給定初值,以后不能修改。
Fanaly 在捕獲異常的時(shí)候最后執(zhí)行的語(yǔ)句,可以不寫。
Fanalize 是Object類中定義的,所以所有的類都繼承了它,這個(gè)方法是垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要的清理工作。
第二,Anonymous Inner Class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?
可以繼承其他類,也可以實(shí)現(xiàn)其他接口。匿名內(nèi)部類在swing中比較常見。
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。
靜態(tài)內(nèi)部類,普通的內(nèi)部類
靜態(tài)內(nèi)部類是不能直接調(diào)用外部的類,可以通過外部類的引用來調(diào)用
非靜態(tài)類inner class 可以自由的引用外部類的屬性和方法,但是它與一個(gè)實(shí)例綁定在了一起,不可以定義靜態(tài)的屬性、方法。
第四,&和&&的區(qū)別。
&和&&都是java中的邏輯運(yùn)算符
&兩邊的表達(dá)式的結(jié)果都是true的,整個(gè)的運(yùn)算結(jié)果才是true,只要有任意一個(gè)是false,其結(jié)果就是false的
&&是短路與,既第一個(gè)表達(dá)式是false 就不用判斷第二個(gè)表達(dá)式,結(jié)果就是false
第五,HashMap和Hashtable的區(qū)別。
它們實(shí)現(xiàn)了將key 映射到 value的對(duì)象,鍵和值都是對(duì)象,不能有重復(fù)的鍵,可以有重復(fù)的值
Hashtable是基于陳舊的Dictionary類的,HashMap是Map接口的一個(gè)實(shí)現(xiàn) HashMap可以定義null key 和null 的value,而HashTable不可以
HashMap是線程不安全的,而HashTable線程安全,所以HashMap的效率比HashTable的要高些
第六,Collection 和 Collections的區(qū)別。
Collection是所有集合的父接口。
List 和set是Collection的子接口
Collections是操作有關(guān)集合的工具類。
第七,什么時(shí)候用assert.斷言 Debug模式下才有效
第八,GC是什么? 為什么要有GC?
GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。
第九,String s = new String(“xyz”);創(chuàng)建了幾個(gè)String Object?
2個(gè),一個(gè)是引用對(duì)象s 還有字符串對(duì)象xyz
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
-11 第十一,short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?
S1 =s1+1 會(huì)出錯(cuò),因?yàn)?默認(rèn)為int型。相加會(huì)出錯(cuò)。
S1+=1;雖然是一個(gè)意思,但是在jvm里面是不同的方法做的,是運(yùn)算符重載,所以是不一樣的。
第十二,sleep()和 wait()有什么區(qū)別?
Sleep()是線程的休眠,方法里邊要有毫秒值。意思是過了多少毫秒后會(huì)執(zhí)行一次。不釋放系統(tǒng)資源
Wait()是線程的等待,必須喚醒notify才能夠執(zhí)行,不占用系統(tǒng)的資源
第十三,Java有沒有g(shù)oto?
沒有,不過它是java語(yǔ)言中的保留字
第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?
數(shù)組中沒有l(wèi)ength()方法,有l(wèi)ength屬性。
String有l(wèi)ength()方法,字符串的長(zhǎng)度。
第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?
Overload是重載 重載的方法名字必須相同,參數(shù)表不同,可以改變返回類型
Override 是重寫 重寫是子類繼承父類的虛方法重新定義參數(shù)表要相同,返回類型也要和父類相同。
Overloaded可以改變返回類型
第十六,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
set里的元素是不能重復(fù)的,用iterator()方法來區(qū)分重復(fù)與否。
equals 方法(是String類從它的超類Object中繼承的)被用來檢測(cè)兩個(gè)對(duì)象是否相等,即兩個(gè)對(duì)象的內(nèi)容是否相等。
==用于比較引用和比較基本數(shù)據(jù)類型時(shí)具有不同的功能: 比較基本數(shù)據(jù)類型,如果兩個(gè)值相同,則結(jié)果為true
而在比較引用時(shí),如果引用指向內(nèi)存中的同一對(duì)象,結(jié)果為true
第十八,error和exception有什么區(qū)別?
Error 是編輯時(shí)出現(xiàn)的錯(cuò)誤,不能通過編譯,也就是不能生成.class的文件
Exception是異常,異常是可以避免和捕獲的,程序能夠通過編譯。第十九,List,Set,Map是否繼承自Collection接口?
List set
是繼承Collection 接口的。Map不是 第二十,abstract class和interface有什么區(qū)別?
abstract class是抽象類,可以定義普通方法,也可以定義只有方法名,沒有實(shí)現(xiàn)的方法。抽象類是被繼承的 interface是接口,所有的方法都是抽象方法。實(shí)現(xiàn)接口就是重寫接口里的所有方法。
第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
Abstract和method是不可以static的,因?yàn)槌橄箢愂且焕^承的。
native是映射本地方法,不存在被子類繼承,所以也不能與abstract混用
抽象類沒有具體的實(shí)現(xiàn),覺得定義成synchronized是沒有必要的,修飾具體的方法
才有意義
第二十二,接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concrete class)?
接口可以繼承接口,extends
抽象類可以實(shí)現(xiàn)接口。
抽象類是可以繼承實(shí)體類的,但實(shí)體類中要有明確的構(gòu)造函數(shù)。第二十三,啟動(dòng)一個(gè)線程是用run()還是start()?
啟動(dòng)線程要是start()方法。
第二十四,構(gòu)造器Constructor是否可被override?
構(gòu)造器不能被重寫的,可以重載。第二十五,是否可以繼承String類?
不能,String是final的。
第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?
如果其他的方法不是同步的,是可以進(jìn)去的。
第二十七,try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?
finally里的代碼會(huì)執(zhí)行,在return之前執(zhí)行
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
2<<3 第十七,給我一個(gè)你最常見到的runtime exception.NullPointerException 空指針
ArrayIndexOutOfBoundException
數(shù)組下標(biāo)越界
ClassCastException 造型異常 第二十九,兩個(gè)對(duì)象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對(duì)不對(duì)?
這是對(duì)的,equals方法是比較兩個(gè)值。而不是內(nèi)存地址。
第三十,當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,編程題: 寫一個(gè)Singleton出來。
Public class Singleton{ Private static Singleton s = new Singleton();Private Singleton(){ } Public static Singleton getInstance(){ Return s;}
}
第五篇:程序員面試個(gè)人簡(jiǎn)歷(JAVA)
個(gè)人簡(jiǎn)歷
基本信息:
姓
名:張三
性
別:女
年 齡:23 工作經(jīng)驗(yàn):2年 專
業(yè):軟件技術(shù) 教育程度:專科
聯(lián)系電話:xxxxxxxxx E-mail: xxxxxxxxxxx@126.com 職業(yè)技能與特長(zhǎng):
熟練掌握java語(yǔ)言,深入理解OOP編程思想,有良好的編程習(xí)慣;
熟練掌握J(rèn)SP、Servlet、JavaScript、XML等開發(fā)技術(shù);
熟練掌握Struts2+Spring+Hibernate進(jìn)行JavaEE項(xiàng)目開發(fā),深入理解Struts2核心思想;
熟練掌握J(rèn)bpm工作流,理解Jbpm流程實(shí)例、任務(wù)、執(zhí)行、候選人、泳道等工作流概念.熟練掌握l(shuí)ucene(全文檢索)、mybatis、WebService等流行框架和技術(shù);
熟悉掌握J(rèn)avascript、Ajax、jQuery等前臺(tái)頁(yè)面技術(shù);
熟悉Sql語(yǔ)句編寫。熟悉Jdbc、數(shù)據(jù)源、DBUtil;熟悉Mybatis對(duì)象關(guān)系映射框架;
熟悉Tomcat、JBoss等Web服務(wù)器的安裝和配置,熟悉JAVA相關(guān)開發(fā)工具(Eclipse, Jbuilder)及項(xiàng)目管理工具SVN、Maven的使用;
熟悉關(guān)系型數(shù)據(jù)庫(kù)的理論和E-R圖的編寫和使用PowerDesigner建模工具, 熟練使用MySQL、Oracle等數(shù)據(jù)庫(kù), 熟悉PL/SQL語(yǔ)法及事務(wù)及存儲(chǔ)過程的設(shè)計(jì);
熟悉軟件工程,能迅速接受新技術(shù),快速學(xué)習(xí)和應(yīng)用。有中型項(xiàng)目開發(fā)經(jīng)驗(yàn),能獨(dú)立完成軟件某個(gè)模塊的分析,設(shè)計(jì)開發(fā),單元測(cè)試;
具備一定的英語(yǔ),邏輯思維能力,有很好的團(tuán)隊(duì)合作精神。職業(yè)概況 求職意向:
工作性質(zhì):全職 目標(biāo)地點(diǎn):北京 目標(biāo)職能:JavaEE開發(fā)工程師 期望待遇:具體值 工作經(jīng)驗(yàn):
2012/4—至今
北京神舟國(guó)際旅行社集團(tuán)有限公司
職務(wù):JavaEE開發(fā)工程師 工作描述:負(fù)責(zé)相關(guān)開發(fā)文檔的編寫、代碼功能模塊的編寫等工作。項(xiàng)目經(jīng)驗(yàn):
項(xiàng)目名稱:東華國(guó)旅管理平臺(tái)
開發(fā)環(huán)境:Eclipse6.5+JDK6.0+Apache2.2+Tomcat6+Oracle+SVN
(Apache和Tomcat之間采用mod_jk作為橋梁,使用AJP協(xié)議通訊)使用技術(shù):Struts2+Spring+Hibernate+Jbpm+Ajax+Jquery 開發(fā)周期:9個(gè)月
網(wǎng)
址:http://www.tmdps.cn 項(xiàng)目描述:
1.本系統(tǒng)擁有實(shí)時(shí)的機(jī)票查詢系統(tǒng),實(shí)時(shí)連接國(guó)內(nèi)唯一機(jī)票預(yù)訂系統(tǒng)中航信,信息全面,價(jià)格透明,預(yù)訂便捷。最好的三方協(xié)議價(jià)格控制商業(yè)旅行成本,是企業(yè)商旅的最佳選擇;
2.本系統(tǒng)主要分為價(jià)格政策、訂單管理、會(huì)員管理、企業(yè)客戶、基礎(chǔ)數(shù)據(jù)、酒店管理、系統(tǒng)管理等核心模塊;
3.通過對(duì)基礎(chǔ)數(shù)據(jù)、機(jī)票、酒店、旅游線路、網(wǎng)站信息等數(shù)據(jù)的維護(hù)實(shí)現(xiàn)前臺(tái)網(wǎng)站的所有功能;
4.對(duì)會(huì)員和企業(yè)客戶的相關(guān)功能進(jìn)行管理;
5.對(duì)客戶在網(wǎng)站上形成的機(jī)票、酒店、訂單進(jìn)行管理。責(zé)任描述:
1.2. 3. 4.
自我介紹: 本人熱愛IT行業(yè)、積極樂觀、良好的表達(dá)與溝通能力。目前單身,能接受外派等工作。