Java的主要工作是通過編程語言來制作互聯網頁面、制作動態效果以及網站等技術。下面是CN人才網小編為大家整理的,希望對大家有所幫助。
1.基本儀容和禮儀
其實不是針對面試,基本儀容和禮儀在日常生活也是非常重要的,是一個人是否有教養,是否有素質的基本要求。
穿著:如無特別需要,不要著正裝,休閑裝即可。但是不要光腳丫子大拖鞋,背心吊帶,男士不要穿露腳趾涼鞋。干凈整潔即可,表示對本次面試的重視和對面試官的尊重。
儀容:女士如果想化妝的話,淡妝即可,素顏也可以。男士頭發理一下,胡子剃掉。還是那句話,干凈整潔,萬萬不可口腔有異味,或者身上有體味(特別是腳丫子臭味,絕對不行!)
禮儀:多說“請”,“您”,“謝謝”,記得進門后關門,前臺給你倒的水走的時候記得拿出去扔掉。坐下來面對面試官要有坐像,不要跟在家里一樣太隨便,說話口齒清楚,慢一點說,不要跟打機關槍一樣。切記,不可做作,細節處把握尺度就行。如果遇到和面試官有分歧的時候,立即閉嘴并閉嘴,不要爭論,不要試圖說服面試官,更不可恥笑或者蔑視面試官,哪怕你確實不知道比面試官高到哪里去了。記住,這是禮貌,跟你技術有多牛逼無關。
謙虛:任何時候,把自己放在一個相對低的姿態,你是來面試,不是來教育面試官的,抱著一種接受檢閱和學習的態度面對面試,千萬千萬不要覺得自己主角光環加身,天下之大老子第一。相信我,這個世界牛人大把的,別人不說穿是因為給雙方留面子,你可別認為是你真牛逼。謙虛,起碼不會讓你有成為一個跳梁小丑的機會。
2.專業基礎知識
什么重要的話說三遍已經爛大街了,我就不說了。對于程序猿來說,專業基礎知識絕對是重中之重,是面試成功的最基礎要素。我說的專業基礎知識,不是說你做了多少個項目,寫了多少行代碼,而是軟件開發的基礎知識。
我在面試的時候,有時候會遇到一些候選人,乍一看簡歷也有好幾年工作經驗,項目也寫的滿滿的,但是卻連“值類型引用類型本質區別”,“構造函數有哪些特點,何時被調用”,“類和接口區別是什么”這樣的問題也回答不了,注意,是回答不了,也就是不知道,不是知道意思但是組織不了語言。這類候選人通常在連續回答不上幾個問題后,開口為自己辯解:“我動手比較強,寫代碼都沒問題,但是書上的概念我真的不太清楚”。能說出這個話,就說明此人根本就明白作為一個技術工作者最基本的專業素質是什么。(我在這里就不展開談基礎知識在開發中的作用以及對自身成長的作用,以后會專門撰文來討論)所以千萬不要覺得自己工作幾年,有些代碼經驗就已經可以挑戰更加高薪的工作。
在面試前,一定要先審視一下自身的基礎知識掌握程度,如果有必要,自己買書回來或者網上找一些資料,利用空余時間系統的學習一遍,比如你所使用的語言本身,比如你擅長的框架底層實現,比如編譯原理,比如多線程的知識,比如Http相關的知識等等。千萬不要沒有一點點基礎知識儲備或者基礎知識儲備不豐富就跑去面試,失敗的幾率非常大,如果眼睜睜的看著自己心儀的工作機會擦肩而過,我想是誰都會難過的吧。
3.溝通能力
面試的過程本質上就是一次溝通的過程,候選人在短短的時間內要盡量的向對方展現自己的長處,隱藏自己的短處,盡量讓對方問題得到圓滿答復并且留下較好印象。有些程序猿性格內向,在陌生人面前比較靦腆,話語不多。當然,這不能說是做錯了,只能說是一些性格上的短處而已(如果很嚴重,那就有自卑的可能,需要重視并且糾正)。在面試時,候選人一定要精神煥發,昂首挺胸,眼神堅定,切記切記眼神不要飄忽不定,切記切記不要甕聲甕氣。有人會問我,“那我回答不上面試官的問題,或者一時沒有想起來,心里沒底了怎么辦?”,怎么辦??回答不上也不能被嚇尿了啊,是吧,咱們遇到不會的問題,就老老實實的說“這個我不清楚”,或者“這個我不會”,千萬千萬不要不懂裝懂,顧左右而言他,打算糊弄過去,我告訴大家,搗糨糊是過不去的,面試官的問題肯定是他非常清楚答案的,你忽悠面試官就是在忽悠你自己,有意思嗎?當然,也不要胡亂回答,否則只會成為面試官和他的同事茶余飯后的笑話。
在面試時,盡量雙眼直視面試官(但不要瞪著人家。。。),背挺直,手機開飛行模式,說話口齒清楚,利落干脆,回答得上就盡量說,回答不上直接說不知道,不要羅里吧嗦,特別是談到薪酬,對方問你期望時,最好在現有基礎上增加10%-20%,不要漫天要價,也不要不好意思,放心大膽的說出你的期望,如果對方覺得略高,會再跟你商量。務必一開口就給人真誠,干練,干脆,專業的印象。
4.過往項目經驗
很多面試者不大重視自己的過往項目經驗,這是我不能理解的地方。我每個做過的項目,雖然我在其中可能只是做一個模塊甚至一個功能,但是我都會想辦法搞清楚整個項目的業務流程,研發背景,內部模塊功能,和外部如何實現集成,底層數據庫的設計,整體系統架構設計等等。我在面試候選人的時候,通常都會問最近一個項目相關的東西,有很多候選人都會表示是ta自己一個人設計開發了這個項目,但是連有哪些功能模塊,系統結構(注意,不是架構)都回答不出來。有些面試者,在面試一些中高級的程序員時,很喜歡從過往經驗入手,你再一遍介紹的時候他可能隨時提問。因為這樣有2個好處,第一是預防一問一答的形式,候選人事先背了很多問題的答案,第二是從候選人過往項目經驗入手,除了可以看出候選人是否虛假構建了項目經驗,還可以判斷該候選人對開發細節的把握以及對一些技術點的反應能力和掌握情況,畢竟“突然襲擊”比“瞄準射擊”要更加考驗候選人。
所以,在面試前,應該好好把自己以前的項目經驗都捋一捋,特別是上一個項目,從業務流程到產品設計到系統開發,特別是項目內一些你做過的細節地方,你準備在面試時拿出來說的,必須以此為點,相關的東西都查查資料看一看。再一個就是項目里面的閃光點,什么叫閃光點,就是高大上的東西,需要自己多了解了解,在面試的時候拿出來說也可以加分。比如我以前做過一個項目,是一個類似網頁爬蟲的東西,把爬下來的東西根據數據庫里面的地址上傳到設置的路徑,再刪除這個文件。當時我還是比較小白的階段,懵懵懂懂的聽人說多線程好像效率比較高,于是就用到了new Thread的多線程方式,確實解決了一些效率上的問題。后來換工作時,我又把這個項目拿出來看了一遍,并且著重看了看多線程相關的東西,知道了還有異步編程(當時好像C#還沒有Task),于是就自己學習了一番,然后動手做做實驗什么的,把多線程這一塊理論聯系實際又鞏固了一遍。果然,后來面試的時候談到這個上面的時候,面試官對這一塊很有興趣,越問越深,我也知無不言,為自己增分不少。
5.不要作弊
有些企業在面試程序員的時候,喜歡一開始扔一張試卷讓候選人先做,然后再去面試。暫且先不談做卷子考察方式的好壞,在做試卷的時候,萬萬不要用移動設備上網查詢答案。本身作弊的行為就讓人不齒,如果面試官在暗處進行觀察,發現你作弊,那就太尷尬了。會就是會,不會就是不會,即便你用手機查答案把試卷寫的滿滿的,在接下來面試的時候,面試官再就試卷上的問題展開一問你,你還是不會。所以不管有沒有人監督,在面試的做試卷環節,千萬不要作弊。
6.熱門技術點的掌握
其實這是個增分項目,如果上面幾點都已經通過面試的考核,那么這一點就會成為你絕對的亮點。首先要先自己了解一下當前熱門的技術,然后通過分析自己申請的職位,去看看可能涉及到哪些熱門的技術,然后再去專門的找資料進行學習和動手實驗。比如你是搞互聯網的,那么最好學習一下負載均衡相關的技術,學習分布式數據庫的技術,學習緩存技術,學習頁面靜態化的技術;如果你是搞數據分析的,那么最好學習一下Hadoop,學習一下微軟的Cube,學習一下惠普的Vertical;如果你是搞iOS的,那么可以看看Swift,可以看看Xamarin,可以看看WebSocket等等,當然,我只是舉幾個例子,不一定非要這樣對應,你如果是搞Java的,也可以去看看Pathon如果你是搞.net的,也可以去看看Ruby on rails等等。所謂技多不壓身,就是這個道理。
#拓展知識#
java基礎:
1.接口的意義(百度)
規范、擴展、回調
2.抽象類的意義(樂視)
為其子類提供一個公共的類型
封裝子類中得重復內容
定義抽象方法,子類雖然有不同的實現但是定義是一致的
3.內部類的作用(百度,樂視)
內部類可以用多個實例,每個實例都有自己的狀態信息,并且與其他外圍對象的信息相互獨立。
在單個外圍類中,可以讓多個內部類以不同的方式實現同一個接口,或者繼承同一個類。
創建內部類對象的時刻并不依賴于外圍類對象的創建。
內部類并沒有令人迷惑的“is-a”關系,他就是一個獨立的實體。
內部類提供了更好的封裝,除了該外圍類,其他類都不能訪問
4.父類的靜態方法能否被子類重寫,為什么?(獵豹)
不能
子類繼承父類后,用相同的靜態方法和非靜態方法,這時非靜態方法覆蓋父類中的方法(即方法重寫),父類的該靜態方法被隱藏(如果對象是父類則調用該隱藏的方法),另外子類可繼承父類的靜態與非靜態方法,至于方法重載我覺得它其中一要素就是在同一類中,不能說父類中的什么方法與子類里的什么方法是方法重載的體現
5.舉1-2個排序算法,并使用java代碼實現(美團)
6.java虛擬機的特性(百度、樂視)
Java語言的一個非常重要的特點就是與平臺的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平臺上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機后,Java語言在不同平臺上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。Java虛擬機在執行字節碼時,把字節碼解釋成具體平臺上的機器指令執行。