- 相關(guān)推薦
Java面試技巧攻略
Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計語言。下面是CN人才網(wǎng)小編為大家整理的,希望對大家有所幫助。
1、說得太少
尤其是那些開放式的問題,如“請介紹下你自己”或“請講一下你曾經(jīng)解決過的復(fù)雜問題”。面試官會通過你對這些技術(shù)和非技術(shù)問題的回答來評估你的激情。他們也會通過模擬團隊氛圍和與你的交流互動來判斷你的經(jīng)驗和能力。
所以,僅僅只用兩三句話來回答不但不能顯示出你對這個專業(yè)的興趣,還會讓整個面試過程顯得非常無聊。如果你不能很好地說明你的經(jīng)驗、成就和技能可以給企業(yè)帶來的價值,那么你的競爭力毫無疑問就高不起來。所以,你需要對一些最常見的開放式問答作充分的準(zhǔn)備,學(xué)會推銷自己。
2、說得太多
不斷地說,不斷地說,卻并沒有什么實質(zhì)性的內(nèi)容。換句話說,就是廢話連篇,言之無物。如果你不能簡潔的解釋問題,那么面試官就會懷疑你在工作時的表現(xiàn)是不是也會像你的談話一樣拖泥帶水?可以先問問面試官,確定是否真的需要詳細(xì)解釋。
解釋也是一門藝術(shù),關(guān)鍵是確定重點,如果需要的話再深入到細(xì)節(jié)。當(dāng)聊到業(yè)務(wù)的時候,就應(yīng)該從業(yè)務(wù)的角度看問題,不要涉及任何技術(shù)術(shù)語。學(xué)會用簡潔明了的方式解釋問題。如果你能時刻把握主旨,那么這一點也不是問題。
3、回答不出一些必知的基本技術(shù)問題
面試不是技術(shù)競賽,不是看誰答對的問題多,但是有一些“必須知道”的核心Java和Web基礎(chǔ)知識,你不能不知。例如,對于Java開發(fā)人員
1)不知道“==”和equals()之間的區(qū)別。
2)不知道equals()和hashCode()方法被隱式調(diào)用時的約定。
3)不知道OO的概念和設(shè)計原則。
4)不能很好地處理多線程。
5)不知道如何在HTTP客戶端與服務(wù)器端之間保持狀態(tài)。
6)不能解釋曾投入精力過的應(yīng)用程序的高層體系結(jié)構(gòu)。
7)不知道SQL。
…
4、既寫不好簡單的代碼,又回答不出如何解決棘手的問題
作為一個開發(fā)人員,你應(yīng)該根據(jù)自己的經(jīng)驗水平,來針對給定的問題和情況編寫代碼。特別是如果碰到一個比較棘手的問題,那么即使你還沒有解決方案,也 應(yīng)該將你的思路講給面試官聽。當(dāng)然這在面試時會讓人特別緊張,尤其是在還有時間限制的情況下,但是你也必須保持冷靜,至少應(yīng)該說明你將如何試著去解決問題 的方法。
5、糟糕的禮儀和態(tài)度
遲到,不適宜的著裝,抖手抖腳,沒有眼神接觸,過于緊張,沒有提問,顯示不出對這份職業(yè)的興趣,“我什么都知道”的高傲態(tài)度,貶低你的現(xiàn)在和以前的 雇主,遇到技術(shù)問題時煩躁不安或者垂頭喪氣,為自己找理由而不是虛心接受錯誤,與面試官發(fā)生爭執(zhí),不好的肢體語言,隨波逐流而沒有自己的看法,過于呆板, 撒謊,嗓門太大,無法成為良好的傾聽者,等等。
#拓展知識#
Java的特點:
1.平臺無關(guān)性
平臺無關(guān)性是指Java能運行于不同的平臺。Java引進虛擬機 原理,并運行于虛擬機,實現(xiàn)不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與 機器無關(guān),Java虛擬機(Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實現(xiàn)Java二進制代碼的解釋執(zhí)行功能, 提供于不同平臺的接口的。
2.安全性
Java的編程類似C++,學(xué)習(xí)過C++的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序運行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。Java對程序提供了安全管理器,防止程序的非法訪問。
3.面向?qū)ο?/strong>
Java吸取了C++面向?qū)ο蟮母拍睿瑢?shù)據(jù)封裝于類中,利用類的優(yōu)點,實現(xiàn)了程序的簡潔性和便于維護性。類的封裝性、繼承性等有關(guān)對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計和應(yīng)用上。Java提供了眾多的一般對象的類,通過繼承即可使用父類的方法。在Java中,類的繼承關(guān)系是單一的非多重的,一個子類只有一個父類,子類的父類又有一個父類。Java提供的Object類及其子類的.繼承關(guān)系如同一棵倒立的樹形,根類為Object類,Object類功能強大,經(jīng)常會使用到它及其它派生的子類。
4.分布式
Java建立在擴展TCP/IP網(wǎng)絡(luò)平臺上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機文件一樣容易。
5.健壯性
Java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。Java自己操縱內(nèi)存減少了內(nèi)存出錯的可能性。Java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大提高了開發(fā)Java應(yīng)用程序的周期。并且Java還提供了Null指針檢測、數(shù)組邊界檢測、異常出口、Byte code校驗等功能。
6.解釋型
我們知道C,C++等語言,都是針對CPU芯片進行編譯,生成機器代碼,該代碼的運行就和特定的CPU有關(guān)。Java不像C或C++,它不針對CPU芯片進行編譯,而是把程序編譯成稱為自字節(jié)碼的一種“中間代碼”。字節(jié)碼是很接近機器碼的文件,可以在提供了java虛擬機(JVM)的任何系統(tǒng)上被解釋執(zhí)行。
7.動態(tài)
java程序的基本組成單元就是類,有些類是自己編寫的,有些是從類庫中引入的,而類又是運行時動態(tài)裝載的,這就使得Java可以在分部環(huán)境中動態(tài)的維護程序及分類,而不像C++那樣,沒檔期類庫升級以后,如果想讓程序具有新類庫提供的功能,就需要修改程序,重新編譯。