當前位置:首頁 » 工作應聘 » 程序員面試

程序員面試

發布時間: 2020-12-27 14:16:43

① 程序員面試的自我介紹

每天對著鏡子說3遍自我介紹.
對面試官可能提到的問題做些准備.
例如:你覺得你的性格對你的工版作有影響權嗎?
你的5年計劃是什麼?
之類的問題

關鍵不是你說了什麼.
而是你說話的語氣.
要對自己有信心.

絕對不能結結巴巴.
也不要太急迫

② java程序員面試著裝要求

1.衣服不能太花哨

對於著裝,從顏色上來講,我們選擇深藍或是灰色等素色的比較好,不能夠太過於花哨;最好穿上西裝參加面試。

女性在著裝上需要注意,的衣服領口不能過大,裙子也不能過短。

2.著裝要干凈、整潔

我們參加面試,沒有必要為了面試而特意去買新衣服、新鞋,而更需要注意的是一些細節,比如看看服裝鞋子等是否干凈、整潔,衣服上的扣子是否掉落。

一個干凈整潔的外表會美化面試官對你的印象。

③ 程序員面試要准備些什麼東西

技術方面的技巧
第一:ABC(Always Be Coding)。
一力降十惠,說的多不如做的多,所有工作都是這樣,程式也不例外。你寫過的程式越多,你的能力也就越高。但是,你必須做到有目的的程式,在寫程式之前做到心中有數,明白自己的短板並且加強訓練,堅持不懈的挑戰自己的極限,努力使自己在各方面都很優秀。我強烈建議你把自己做過的每個項目——不管是否完成——都整理成作品集,在這里推薦GitHub,非常專業的程式分享社區,你可以把自己的作品集放到這。
第二:精通至少一種多重範式程式語言。
精通一門諸如C++這樣的語言能讓你從根本上理解程式,因為這類語言風格多樣,如何寫程式完全取決於你自己的風格,你能在一種語言里體會到不同風格的程式在執行上的差別,同時要達到這樣的水平還需要大量的實戰與練習。而且這類語言通常在各個社區中也是最活躍的板塊,你可以很容易就找到志同道合的朋友來分享經驗。其他也支持多風格程式的語言還有C#、Java、PHP、Python及Ruby。
關於C++ 的題外話:有一個跟著名的面試題,許多面試官都喜歡問,是這樣:「如果把C++ 分為十個等級,1 為最低,10 為最高,你認為你自己處在哪一級?」希望上帝保佑那些回答9 或者10 的人,Bjarne Stroustrup 估計也只會給自己打到8 分甚至更低(此人為C++ 之父)。主要原因是這個語言經過這麼多年無數大能的不懈努力,已經超級復雜,被稱為主流設計語言中最復雜的一款也不為過。
第三:熟悉各種演算法的優劣。
先看看這份關於各種演算法的對比圖,確定都理解了之後,試著把這些演算法都用自己的方式寫一遍。這樣你就會對各種演算法有更深刻的理解。面試的時候這幾乎是必考題哦。
第四:熟悉所有常用函數。
你最好把所有的常用函數都用自己使用的語言寫一遍,不要依賴於現成的函數庫,這樣會加深你對各個函數以及語言本身的理解。試著快速寫出下列函數:向量(動態數組)、鍊表、堆棧、隊列、哈希映射、集合、優先順序隊列等等。
第五:要更務實。
臨時抱佛腳早就沒有用了,踏踏實實的打好基本功才是王道,花更多的時間去解決各種程式中遇到的問題,這里推薦多去TopCoder看看,那裡有很多不錯的資源。里邊有各種案例可供學習,試著學習里邊的思考方式來解決自己遇到的問題。我當初花了整整兩個禮拜在TopCoder上,到最後我都能閉著眼一隻手寫出迪科斯徹演算法,幾乎能解決所有的圖形問題。所做的不過是不斷重復程式。這可能是Google最終要我的原因之一吧。Eric Schmidt說:「重復從不青睞祈禱者。」
第六:程式是最簡單的。
這麼多年的工作經驗使我明白了一條,寫程式是一個工程師所有工作中最簡單明確的一部分。我常掛在嘴邊的一句話是:「簡單的就像寫段程式一樣。」我相信對於一個工程師來講,事前准備和事後維護才是更艱難的工作。比如說,你需要在程式前計劃好你需要寫什麼以及確保寫好的程式能順利運行。盡量讓面試官知道,你不是一個只懂寫程式的獃子。
需要注意地是,在別人面前寫程式可能會略為彆扭,最好提前做些這方面的練習,可以參考下我前任同事Dan寫的這篇《Whiteboarding》。
非技術方面的技巧
需要提前說明的是我在這方面並不專業,僅供參考而已。
第一:明白你為什麼選擇這個公司這分工作。
不管大公司還是小公司,還是極度飢渴的創業公司,都不會要一個連公司是乾嘛的都不知道的人,哪怕這個人技術牛到一塌糊塗也不行。
第二:一定要滿懷激情。
程序猿是一種沒有固定工作時間的動物,如果你只是想找一份朝九晚五、有固定工資、只在偶爾加加班的工作,你還是別乾這行的好,你一定要愛程式,不管什麼時間什麼地點,只要有需要,就能隨時投入工作。愛一行,乾一行,對於程式設計師來說尤其如此。
第三:不懂就問。
面試的時候如果碰到沒有聽明白的問題,一定不要不懂裝懂,我曾經見過有些面試的人花了老牛鼻子的勁去解決根本沒問過的問題,這不只是浪費你的時間,也是浪費我的時間。
第四:保持微笑。
所有面試寶典上都有這條,但是,不要做太過了,適當的微笑能產生很大的效果。我有時候會在面試完一個人後特別受打擊,但是下一個面試者簡單而真誠的微笑能讓我一下子心情好起來。
參考自:David Byttow是一名程式設計師,曾在Google和Square等公司工作過

④ java程序員面試怎麼回答在上家公司情況

「談談你自己的情況如何?」這是面試中的第一個問題。此刻,你應把在此之前所有緊張不安的情緒穩定下來。因為這個問題,應試者已經做了充分的准備,並且有足夠的信心和勇氣相信自己能回答好這個問題。
1、面試自我介紹的內容
首先請報出自己的姓名和身份。可能應試者與面試考官打招呼時,已經將此告訴了對方,而且考官們完全可以從你的報名表、簡歷等材料中了解這些情況,但仍請你主動提及。這是禮貌的需要,還可以加深考官對你的印象。
其次,你可以簡單地介紹一下你的學歷、工作經歷等基本個人情況。請提供給考官關於你個人情況的基本的、完整的信息,如:學歷、工作經歷、家庭概況、興趣愛好、理想與報負等。 這部分的陳述務必簡明扼要、抓住要點。例如介紹自己的學歷,一般只需談本專科以上的學歷。工作單位如果多,選幾個有代表性的或者你認為重要的介紹,就可以了,但這些內容一定要和面試及應考職位有關系。請保證敘述的線索清晰,一個結構混亂、內容過長的開場自,會給考官們留下雜亂無章、個性不清晰的印象,並且讓考官倦怠,削弱對繼續進行的面試的興趣和注意力。
應試者還要注意這部份內容應與個人簡歷、報名材料上的有關內容相一致,不要有出入。在介紹這些內容時,應避免書面語言的嚴整與拘束,而使用靈活的口頭語進行組織。這些個人基本情況的介紹沒有對或錯的問題——都屬於中性問題,但如果因此而大意就不妥了。
接下來由這部份個人基本情況,自然地過渡到一兩個自己本科或工作期間圓滿完成的事件,以這一兩個例子來形象地、明晰他說明自己的經驗與能力,例如:在學校擔任學生幹部時成功組織的活動;或者如何投入到社會實踐中,利用自己的專長為社會公眾服務;或者自己在專業上取得的重要成績以及出色的學術成就。
接下來要著重結合你的職業理想說明你應考這個公務員職位的原因,這一點相當重要。你可以談你對應考單位或職務的認識了解,說明你選擇這個單位或職務的強烈願望。原先有工作單位的應試者應解釋清楚自己放棄原來的工作而做出新的職業選擇的原因。你還可以談如果你被錄取,那麼你將怎樣盡職盡責地工作,並不斷根據需要完善和發展自己。當然這些都應密切聯系你的價值觀與職業觀。不過,如果你將自己描述為不食人間煙火的、不計較個人利益的「聖人」,那麼考官們對你的求職動機的信任,就要大打折扣了。
這里我們介紹了一條清晰的線索,便於你組織你的自我介紹。為了保證結構明確,有條有理,你可以多用短句子以便於口語表述,並且在段與段之間使用過渡句子,口語也要注意思路、敘述語言的流暢,盡量避免顛三倒四,同一句話反復說幾遍的「粘糊勁,同時不要用過於隨便的表述。
2、面試自我介紹的時間
一般情況下,自我介紹應該是三~五分鍾較適宜。時間分配上,可根據情況靈活掌握。一般地,第一部分可以用約二分鍾,第二部分可以用約一分鍾,第三部分用1~二分鍾。
好的時間分配能突出重點,讓人印象深刻,而這就取決於你面試准備工作做得好壞了。如果你事先分析了自我介紹的主要內容,並分配了所需時間,抓住這三、五分鍾,你就能中肯、得體地表達出你自己。有些應試者不了解自我介紹的重要性,只是簡短地介紹一下自己的姓名、身份,其後補充一些有關自己的學歷、工作經歷等情況,大約半分鍾左右就結束了自我介紹,然後望著考官,等待下面的提問。但也有的應試者想把面試的全部內容都壓縮在這幾分鍾里。要知道面試考官會在下面的面試中間向你提有關問題的,你應該給自己也給他人留下這個機會。
3、面試自我介紹的重要性:通過自我介紹,主動地向面試考官推薦自己,這是面試組成結構的重要內容,同時也是面試測評的重要指標。
4、面試自我介紹的要點
(1)自我介紹是應以面試的測評為導向。
自我介紹也是一種說服的手段與藝術,聰明的應試者會以公務員考錄的要求與測試重點而組織自我介紹的內容,你不僅僅要告訴考官們你是多麼優秀的人,你更要告訴考官,你如何地適合這個工作崗位。而與面試無關的內容,既使是你引以為榮的優點和長處,你也要忍痛舍棄,以突出重點。
(2)自我介紹要有充分的信心。
要想讓考官們欣賞你,你必須明確地告訴考官們你具有應考職位必需的能力與素質,而只有你對此有信心並表現出這種信心後,你才證明了自己。
應試者在談自己的優點的一個明智的辦法是:在談到自己的優點時,保持低調。也就是輕描淡寫、語氣平靜,只談事實,別用自己的主觀評論。同時也要注意適可而止,重要的、關鍵的,要談,與面試無關的特長最好別談。另外,談過自己的優點後,也要談自己的缺點,但一定要強調自己克服這些缺點的願望和努力。
特別指出的是,不要誇大自己。一方面從應試者的綜合素養表現,考官能夠大體估計應試者的能力;另一方面,如果考官進一步追問有關問題,將令「有水份」的應試者下不了台。
面試中應試者的自我介紹,可以讓考官觀察到簡歷等書面材料以外的內容,如你對自己的描述與概括能力,你對自己的綜合評價以及你的精神風貌等。自信、為人等是其中的重要的潛台詞,應試者務必注意。
5、面試自我介紹的注意事項
(1)應試者應充分利用各種個人資源。除了前面提到的面帶微笑、目光交流、坐姿端正等表情、身體語言外,請以沉穩平靜的聲音、以中等語速、以清晰的吐字發音、以開朗響亮的聲調給考官以愉悅的聽覺享受,聲音小而模糊、吞吞吐吐的人,一定是膽怯、緊張、不自信和缺乏活力與感染力的。
(2)情緒也是一個需要控制的重要方面。情緒,做為個人的重要素養,如果在自我介紹中起伏波動,就會產生負面影響。例如在介紹自己的基本情況時面無表情、語調生硬;在談及自己的優點時眉飛色舞。興奮不已;而在談論自己的缺點時又無精打采、萎糜不振。
(3)有的應試者談及自己的興趣愛好時,說自己喜歡唱歌,便自做主張,一展歌喉,在面試考場上為考官們唱它一曲,直到被考官客氣地打斷後,才反應過來行為有些出格。
(4)有的應試者描述自己喜歡這樣、愛好那樣,如:文學、藝術、旅遊、攝影等等,由此考官進一步詢問其拍攝過什麼作品,這位考生的回答卻是她喜歡別人給她拍照,還說家裡的幾本影集都已經滿了。
(5)有的應試者在介紹家庭關系時,似乎「漫不經心」地告訴考官們,自己的某位遠房親戚是應考單位的上司單位的某領導。
(6)有的應試者表示將來踏上工作崗位,將「一定要……「絕對……諸如此類的保證,似乎在做就職演講。

⑤ 你要面試一個程序員,應該問他什麼問題

首先面試程序員分有沒有經驗
面試沒有經驗的程序員就隨便問問點版ssm,ssh五大框架問題,多線程什權么的,再問問是否會點前端技術
有經驗就看看他的簡歷,問他簡歷項目上的問題,可以圍繞著簡歷上的項目問,通過他的回答涉及到的技術點之類的,拓展出去問其他的

⑥ 程序員面試時需要注意哪些

1 說得太少
尤其是那些開放式的問題,如「請介紹下你自己」或「請講一下你曾經解決過的復雜問題」。面試官會通過你對這些技術和非技術問題的回答來評估你的經驗和能力。
所以,僅僅只用兩三句話來回答不但不能顯示出你對這個專業的興趣,還會讓整個面試過程顯得非常無聊。如果你不能很好地說明你的經驗、成就和技能給企業帶來的價值,那麼你的競爭力毫無疑問就高不起來。所以,你需要對一些最常見的開放式問答作充分的准備,學會推銷自己。
2 說得太多
不斷地說,不斷地說,卻並沒有什麼實質性的內容。換句話說,就是廢話連篇,言之無物。如果你不能簡潔的解釋問題,那麼面試官就會懷疑你在工作時的表現是不是也會像你的談話一樣拖泥帶水?可以先問問面試官,確定是否真的需要詳細解釋。
解釋也是一門藝術,關鍵是確定重點,如果需要的話再深入到細節。當聊到業務的時候,就應該從業務的角度看問題,不要涉及任何技術術語。學會用簡潔明了的方式解釋問題。如果你能時刻把握主旨,那麼這一點也不是問題。
3 回答不出一些必知的基本技術問題
面試不是技術競賽,不是看誰答對的問題多,但是有一些「必須知道」的核心Java和Web基礎知識,你不能不知。例如,對於Java開發人員
1)不知道「==」和equals之間的區別。
2)不知道equals和hashCode方法被隱式調用時的約定。
3)不能解釋曾投入精力過的應用程序的高層體系結構。
4)不知道OO的概念和設計原則。
5)不能很好地處理多線程。
6)不知道如何在HTTP客戶端與伺服器端之間保持狀態。
7)不知道SQL。

4 既寫不好簡單的代碼,又回答不出如何解決棘手的問題
作為一個開發人員,你應該根據自己的經驗水平,來針對給定的問題和情況編寫代碼。如果碰到一些比較棘手的問題,那麼即使你還沒有解決方案,也應該將你的思路講給面試官聽。當然這在面試時會讓人特別緊張,尤其是在還有時間限制的情況下,但是你也必須保持冷靜,至少應該說明你將如何試著去解決問題的方法。
5 糟糕的禮儀和態度
遲到,不適宜的著裝,抖手抖腳,沒有眼神接觸,過於緊張,沒有提問,顯示不出對這份職業的興趣,「我什麼都知道」的高傲態度,貶低你的現在和以前的僱主,遇到技術問題時煩躁不安或者垂頭喪氣,為自己找理由而不是虛心接受錯誤,與面試官發生爭執,隨波逐流而沒有自己的看法,過於呆板,撒謊,嗓門太大,無法成為良好的傾聽者,等等。
提示:面試官要找的不是技術明星,而是實實在在具備了合適的技術技能、軟技能、端正的態度以及能為企業獲取利益、全面的專業人才。因此,不妨先研究下想要應聘的機構,深入了解其工作規范以調整回答問題時的方向和重點。將每一場面試都當作免費的培訓課程,積極調整心態,不但能達到一個雙贏的局面,還可以減少緊張的情緒,從而獲得更好的表現。這樣即使你並沒有得到那份工作,也可以由此學到點什麼,獲得進步

⑦ 程序員面試該注意什麼

閑聊
面試過程中,背景往往是初始話題,通過閑聊,他們可以得知你對編碼的認知、你的個人能力或領導力、溝通問題、技術經驗等。因此,你可以通過舉出能表明自己以上能力的例子,凸顯出自己熱愛技術、自信陽光的特性,這是基本能給面試官留下不錯的印象。
溝通
涉及到編碼問題的時候,溝通是關鍵。一個在工作時需要幫助卻能和人正確溝通的求職者比那些能輕松解決問題的求職者甚至更好。充分了解面試官出的問題到底是什麼類型,如果你開始編寫代碼,並且面試官並不想多說廢話,切忌高談闊論。讓人感覺你有團隊精神,敢於表達自己的想法,如果是是在解決不了的問題那就不要裝作自己很懂,凡是要先思考再做決定。
擺脫困境
有時候你會陷入僵局,放鬆,盡量巧妙地尋求解決辦法,不要浪費時間在腦袋裡思考,動手操作會更加形象;為解決問題尋找簡單版本,寫一個簡潔低效的解決方案,然後對其進行優化;與面試官多交流方法技巧,展示出自己的思路;要察言觀色,偶爾觀察面試官的神態或許對解決或有幫助;考慮空間和運行時的界限。
寫下你的思路想法
憑空地想很容易自我矛盾,把你的想法寫下來,然後再去考慮細節;調用幫助函數,繼續前進,不要擔心語法問題,為自己預備足夠的空間,用以在代碼行之間添加代碼或筆記;最後寫一個重頭檢查的標志,不要擔心你寫的for循環是否應該有「<」或「<=」。在代碼的最後畫個勾選提醒自己最後再檢查一遍。先按自己的思路走;使用描述性的變數名,標准化很有意義。
完成之後的整理
瀏覽解決方案,當程序運行時記錄下變數保存的值——如果你只是記在腦子里,不會讓你贏得任何加分,這有助於你發現bug和消除面試官的困惑;尋找差一錯誤,測試邊緣情況,措施包括空集合,單項目集合或負數;不要做惹人厭煩的事。
實踐
最後,運行實踐問題是沒有捷徑的。好記性不如爛筆頭,對自己誠實,用筆寫可能一開始會讓你覺得別扭,但是如果你現在就能克服這個難題,那麼當面試的時候,你就不會覺得笨拙和不順手了。准備充分,放輕松,技術在手,終能收獲一席之地。

⑧ 程序員面試經常被提到的問題

java 程序員常用面試題- -

Java程序員面試三十二問

Java程序員面試三十二問
作者:佚名 來自:未知

第一,談談final, finally, finalize的區別。

第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以

implements(實現)interface(介面)?

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。

第四,&和&&的區別。

第五,HashMap和Hashtable的區別。

第六,Collection 和 Collections的區別。

第七,什麼時候用assert.

第八,GC是什麼? 為什麼要有GC?

第九,String s = new String("xyz");創建了幾個String Object?

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?

第十二,sleep() 和 wait() 有什麼區別?

第十三,Java有沒有goto?

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?

第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?

第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()?

它們有何區別?

第十七,給我一個你最常見到的runtime exception.

第十八,error和exception有什麼區別?

第十九,List, Set, Map是否繼承自Collection介面?

第二十,abstract class和interface有什麼區別?

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是

synchronized?

第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體

類(concrete class)?

第二十三,啟動一個線程是用run()還是start()?

第二十四,構造器Constructor是否可被override?

第二十五,是否可以繼承String類?

第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它

方法?

第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行

,什麼時候被執行,在return前還是後?

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?

第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對



第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後

的結果,那麼這里到底是值傳遞還是引用傳遞?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

第三十二,編程題: 寫一個Singleton出來。

以下是答案

第一,談談final, finally, finalize的區別。

final?修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父

類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,

可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能

讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載finally?再異常處理時提供 finally

塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入

finally 塊(如果有的話)。

finalize?方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去

之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是

在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執

行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。

第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以

implements(實現)interface(介面)?

匿名的內部類是沒有名字的內部類。不能extends(繼承) 其它類,但一個內部類可以作為一個介面

,由另一個內部類實現。

第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。

Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內部類與C++嵌套

類最大的不同就在於是否有指向外部的引用上。具體可見http:

//www.frontfree.net/articles/services/view.asp?id=704&page=1

註: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2

不能從一個static內部類的一個對象訪問一個外部類對象

第四,&和&&的區別。

&是位運算符。&&是布爾邏輯運算符。

第五,HashMap和Hashtable的區別。

都屬於Map介面的類,實現了將惟一鍵映射到特定的值上。

HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。

Hashtable 類似於 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步

的。

第六,Collection 和 Collections的區別。

Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。

Collection是個java.util下的介面,它是各種集合結構的父介面。

第七,什麼時候用assert。

斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為 true。如果表達式計算為

false,那麼系統會報告一個 AssertionError。它用於調試目的:

assert(a > 0); // throws an AssertionError if a <= 0

斷言可以有兩種形式:

assert Expression1 ;
assert Expression1 : Expression2 ;

Expression1 應該總是產生一個布爾值。
Expression2 可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的 String 消息。

斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標記:

javac -source 1.4 Test.java

要在運行時啟用斷言,可使用 -enableassertions 或者 -ea 標記。
要在運行時選擇禁用斷言,可使用 -da 或者 -disableassertions 標記。
要系統類中啟用斷言,可使用 -esa 或者 -dsa 標記。還可以在包的基礎上啟用或者禁用斷言。

可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。

不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參

數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任

何方式改變程序的狀態。

第八,GC是什麼? 為什麼要有GC? (基礎)。

GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收

集,可以調用下面的方法之一:

System.gc()
Runtime.getRuntime().gc()

第九,String s = new String("xyz");創建了幾個String Object?

兩個對象,一個是"xyx",一個是指向"xyx"的引用對象s。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?

short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉化為short型。可修改為

s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。

第十二,sleep() 和 wait() 有什麼區別? 搞線程的最愛

sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿後,線程不一定立即恢復執行。

這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執行,除非(a)"醒來"的線程具有更

高的優先順序,(b)正在運行的線程因為其它原因而阻塞。

wait()是線程交互時,如果線程對一個同步對象x 發出一個wait()調用,該線程會暫停執行,被調對

象進入等待狀態,直到被喚醒或等待時間到。

第十三,Java有沒有goto?

Goto?java中的保留字,現在沒有在java中使用。

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?

數組沒有length()這個方法,有length的屬性。
String有有length()這個方法。

第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?

方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類

之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其

父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子

類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或

有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改

變返回值的類型。

第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它

們有何區別?

Set里的元素是不能重復的,那麼用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相

等。

equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的

內容和類型相配的話,返回真值。

第十七,給我一個你最常見到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException,

BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException,

CMMException, , DOMException, EmptyStackException,

IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException,

IllegalStateException, ImagingOpException, IndexOutOfBoundsException,

MissingResourceException, NegativeArraySizeException, NoSuchElementException,

NullPointerException, ProfileDataException, ProviderException, RasterFormatException,

SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException,

UnsupportedOperationException

第十八,error和exception有什麼區別?

error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能

處理這樣的情況。

exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。

第十九,List, Set, Map是否繼承自Collection介面?

List,Set是

Map不是

第二十,abstract class和interface有什麼區別?

聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用於要創建一個體現某些基

本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而

可以創建一個變數,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象

靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代

之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。

介面(interface)是抽象類的變體。在介面中,所有方法都是抽象的。多繼承性可通過實現這樣的

介面而獲得。介面中的所有方法都是抽象的,沒有一個有程序體。介面只可以定義static final成員變數

。介面的實現與子類相似,除了該實現類不能從介面定義中繼承行為。當類實現特殊介面時,它定義(即

將程序體給予)所有這種介面的方法。然後,它可以在實現了該介面的類的任何對象上調用介面的方法。

由於有抽象類,它允許使用介面名作為引用變數的類型。通常的動態聯編將生效。引用可以轉換到介面類

型或從介面類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了介面。

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是

synchronized?

都不能

第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類

(concrete class)?

介面可以繼承介面。抽象類可以實現(implements)介面,抽象類是否可繼承實體類,但前提是實體類

必須有明確的構造函數。

第二十三,啟動一個線程是用run()還是start()?

啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由

JVM調度並執行。這並不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。

第二十四,構造器Constructor是否可被override?

構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

第二十五,是否可以繼承String類?

String類是final類故不可以繼承。

第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它

方法?

不能,一個對象的一個synchronized方法只能由一個線程訪問。

第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行

,什麼時候被執行,在return前還是後?

會執行,在return前執行。

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?

有C背景的程序員特別喜歡問這種問題。

2 << 3

第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?

不對,有相同的hash code。

第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後

的結果,那麼這里到底是值傳遞還是引用傳遞?

是值傳遞。Java 編程語言只由值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數

的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一個整數表達式。因此傳遞給 switch 和 case 語句的參數應該是 int

、 short、 char 或者 byte。long,string 都不能作用於swtich。

第三十二,編程題: 寫一個Singleton出來。

Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。

一般Singleton模式通常有幾種種形式:

第一種形式: 定義一個類,它的構造函數為private的,它有一個static的private的該類變數,

在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調用其中的方法。

public class Singleton {
private Singleton(){}
//在自己內部定義自己一個實例,是不是很奇怪?
//注意這是private 只供內部調用
private static Singleton instance = new Singleton();
//這里提供了一個供外部訪問本class的靜態方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}

第二種形式:

public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次
//使用時生成實例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}

其他形式:

定義一個類,它的構造函數為private的,所有方法為static的。

一般認為第一種形式要更加安全些

第三十三 Hashtable和HashMap

Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現

HashMap允許將null作為一個entry的key或者value,而Hashtable不允許

還有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為

contains方法容易讓人引起誤解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,

不需要自己為它的方法實現同步,而HashMap就必須為之提供外同步。

Hashtable和HashMap採用的hash/rehash演算法都大概一樣,所以性能不會有很大的差異。

⑨ hr面試程序員問什麼問題,程序員在面試的時候的注意事項

01 和優秀開發者溝通
如果你本身沒有編程背景,那就盡量找到一些優秀的開發人員給你指點迷津。
02 問專業的問題

1. 簡要介紹一下你自己以及你最近在做的項目嗎?
作用:這個問題可以讓你更好地了解你的候選人,而談論近期工作能了解他對工作的熱情和奉獻。

2. 其他時間有別的項目要做嗎
作用:鑒於你的項目的時間長短和工作復雜程度,你可能只想找一個能完全投入到這個項目的人。但是很多程序員都會同時兼顧好幾個項目,你要確保彼此雙方的需求是什麼。

3. 你是怎麼看待自己的身份的?開發?產品經理?還是二者都是?
作用:理想的回答一般是『二者都是』, 但是你要認真評估每個候選人可能給你團隊帶來的有利和不利影響。產品經理可以幫助設計新的功能和交互,但是你也需要足夠的開發才能跟上方向從而建構你想要的內容。

4. 你會如何管理一個程序員團隊?
作用:這個問題可以幫你了解候選人的領導能力和風格。

5. 告訴他們公司想要的人是怎樣的。
作用:直截了當地告訴對方你的期望。像工作時間,項目長短,目標等等,這些都是對方很想知道的。就像你評價他是否適合公司一樣,對方也會評價你的公司是否適合他。

03 去合適的地方招聘
你不能指望天上會掉下個好程序員給你,微軟和谷歌的優秀程序員也不會自己蹦到你跟前。你的機會在於,很多這樣的程序員都擁有或追求商業想法。
你可以多去一些網站、活動大賽等地方探索發掘,這比你在社交網站上找到他們的運氣要大得多。

· 編程大賽
編程大賽就是程序員高手們雲集在一起,合作共同完成一個軟體的開發。
猿圈會定期舉辦此類招聘編程大賽,幫助企業挑選優質人才,提高企業品牌僱主形象。

· 開放性源代碼貢獻者
一些網站比如GitHub,提供在線代碼存儲庫, 程序員可以自由對開源項目貢獻自己的代碼。
所以,在招聘之前,你可以先去這種網站上找一找有潛力的候選人。

· 大學
· 軟體開發大會
盡可能多的去參加一些和你的產品相關的軟體開發大會。

· 技術博客
你能根據他們的博客判斷他們的技術技能、解決問題的能力以及寫作和溝通能力。

04 沒通過編程測試,堅決不錄用

你只能記住一條原則,那必須是,沒有讓候選人參加編程測試之前,千萬不能決定錄用與否。

通常情況下,出於項目的緊迫,我們會傾向於選擇看起來靠譜的第一個程序員,但是不拿到他的編程測試結果,不要沖動地下offer。

我也是個不懂代碼的HR,但是我善於利用各種各樣的工具,前段時間發現了一個猿圈測評的工具,我用它測試程序員候選人,通過測試結果判斷是否值得邀約來面試,這個我覺得很贊,你可以試試看

熱點內容
鬼片高清畫質。電影。 發布:2024-08-19 09:14:10 瀏覽:650
一家看電影網 發布:2024-08-19 08:57:54 瀏覽:155
韓國大屍度電影推薦 發布:2024-08-19 08:55:58 瀏覽:719
接吻電影的名字美國 發布:2024-08-19 08:41:41 瀏覽:758
韓劇女主高中就懷孕了劇名 發布:2024-08-19 08:00:29 瀏覽:692
藍色頭發電影女主角 發布:2024-08-19 07:51:59 瀏覽:849
台灣電影老師上了學生 發布:2024-08-19 07:36:20 瀏覽:964
兩人吃屎的電影 發布:2024-08-19 07:25:07 瀏覽:450
有裸露下體的大尺度電影嗎 發布:2024-08-19 07:20:50 瀏覽:790
好看的電影在線觀看免費 發布:2024-08-19 06:55:37 瀏覽:912