第一篇:java求職寶典習(xí)9
1)http session的原理是什么?
如果能夠回答上來,再問如果服務(wù)器是多臺機器,如何解決session的問題?
2)談?wù)勈裁词抢^承,封裝,多態(tài)和抽象。
3)Java中的基本數(shù)據(jù)類型是什么?列舉一下
4)String和StringBuffer有什么區(qū)別
5)運行時異常與一般異常有何異同?
6)http協(xié)議中post和get的區(qū)別
7)final, finally, finalize的區(qū)別。
8)HashMap取數(shù)據(jù)為什么快,描述一下hash算法。[基本清楚]
9)同步和異步有何異同,在什么情況下分別使用他們?舉例說明。
10)heap和stack有什么區(qū)別。[清楚]
11)forward 和redirect的區(qū)別
12)GC是什么? 為什么要有GC?工作原理。【清楚,回收算法,階段清楚,回收算法不清】
13)描述一下JVM加載class文件的原理機制?
14)Struts干什么的,說說如何配置,配置文件的結(jié)構(gòu),目錄等
15)Spring干什么的,說說如何配置,配置文件的結(jié)構(gòu),目錄等
16)Ibatis干什么的,說說如何配置,配置文件的結(jié)構(gòu),目錄等
17)了解FreeMarker么?如何使用,原理
18)了解Ajax么?說說如何做,如何使用Jquery
19)用過httpwatch/firebug/yslow么?
1、運算符優(yōu)先級問題,下面代碼的結(jié)果是多少?(筆試)
package test;
public class Test {
public static void main(String[] args){
int k = 0;
int ret = ++k + k++ + ++k + k;
// ret的值為多少
System.err.println(ret);
}
}
2.運算符問題,下面代碼分別輸出什么?(筆試)
package test;
public class Test {
public static void main(String[] args){
int i1 = 10, i2 = 10;
os忙,System.err.println(“i1 + i2 = ” + i1 + i2);
System.err.println(“i1 – i2 = ” + i1 – i2);
System.err.println(“i1 * i2 = ” + i1 * i2);
System.err.println(“i1 / i2 = ” + i1 / i2);
}
}
3.下面代碼的結(jié)果是什么?還是拋出異常?(筆試)
package test;
public class Test {
public void myMethod(String str){
System.err.println(“string”);
}
public void myMethod(Object obj){
System.err.println(“object”);
}
public static void main(String[] args){
Test t = new Test();
t.myMethod(null);
}
}
4.假設(shè)今天是9月8日,下面代碼輸出什么?(筆試)
package test;
import java.util.Date;
public class Test {
public static void main(String[] args){
Date date = new Date();
System.err.println(date.getMonth()+ ” ” + date.getDate());}
}
5.下面代碼的輸出結(jié)果是什么?
package test;
public class Test {
public static void main(String[] args){
double val = 11.5;
System.err.println(Math.round(val));
System.err.println(Math.floor(val));
System.err.println(Math.ceil(val));
}
}
6.編程輸出一個目錄下的所有目錄及文件名稱,目錄之間用tab。(筆試)package test;
import java.io.File;
public class Test {
public static void main(String[] args){
new Test().read(“D:/test”, “”);
}
public void read(String path, String tab){
File file = new File(path);
File[] childFiles = file.listFiles();
for(int i = 0;childFiles!= null && i < childFiles.length;i++){ System.err.println(tab + childFiles.getName());
if(childFiles.isDirectory()){
read(childFiles.getPath(), tab + “t”);
}
}
}
}
不要覺得很簡單,最起碼你要記得返回當(dāng)前文件夾下的所有文件的方法是listFiles(),isDirectory別拼錯了。
7、從鍵盤讀入10個整數(shù),然后從大到小輸出。(筆試)
package test;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
// 注意這里的數(shù)組,不是int的Integer[] arr = new Integer[10];
for(int i = 0;i < 10;i++){
arr = in.nextInt();
}
Arrays.sort(arr, new Comparator
@Override
public int compare(Integer o1, Integer o2){
if(o1 > o2)return-1;
if(o1 < o2)return 1;
return 0;
}
});
System.err.println(Arrays.toString(arr));
}
}
自己手寫排序算法的可以無視此題,如果是Arrays.sort()的,請注意Comparator與Comparable接口的區(qū)別,別搞混了。
8、下面代碼的結(jié)果是什么?
package test;
public class Test extends Base {
public static void main(String[] args){
Base b = new Test();
b.method();
Test t = new Test();
t.method();
}
@Override
public void method(){
System.err.println(“test”);
}
}
class Base {
public void method()throws InterruptedException {
System.err.println(“base”);
}
}
9、以下代碼的結(jié)果是什么?
package test;
public class Test extends Base {
public static void main(String[] args){
new Test().method();
}
public void method(){
System.err.println(super.getClass().getName());
System.err.println(this.getClass().getSuperclass().getName());}
}
class Base {
}
10、true or false?
package test;
public class Test {
public static void main(String[] args){
String str1 = new String(“abc”);
String str2 = new String(“abc”);
System.err.println(str1.equals(str2));
StringBuffer sb1 = new StringBuffer(“abc”);
StringBuffer sb2 = new StringBuffer(“abc”);
System.err.println(sb1.equals(sb2));
}
}
第二篇:Java求職寶典
Java求職寶典
我能夠取得今天的成就,與我從小就喜歡電腦是分不開的,回想起來,我不過是選擇了自己喜歡的事,愛做的事。
要么不做,要做就做得最好。
堅持,是每一個成功者的秘訣。
所謂的奇跡,不過是堅持的結(jié)果。--比爾·蓋茨
如何在學(xué)習(xí)和工作中培養(yǎng)編程興趣:在工作中建立高標(biāo)準(zhǔn);要樹立遠(yuǎn)大的夢想,同時要有合理的目標(biāo)來實施;把別人不愿意做的時做好;要打好基礎(chǔ),多實踐,多閱讀代碼;不要過于計較個人得失;要有韌性,經(jīng)受住各種磨難;你到底是想要成功,還是一定要成功?
面試問題的準(zhǔn)備:1.回答個人信息時應(yīng)與簡歷上的信息一致;2.回答問題時多體現(xiàn)工作經(jīng)驗;
3.正確看待名利與金錢;4.個人的計劃與目標(biāo)
面試時的心理準(zhǔn)備:1.充滿自信;2.做放松練習(xí);3.放慢語速;3.主動與面試官進行親切的眼神交流;5.尋找面試官的缺點,提高心理優(yōu)勢
面試中的著裝技巧:1.傳統(tǒng)、保守的職業(yè)裝;2.避免一身名牌;3.潔凈、平整如新;4.端莊的發(fā)型
面試過程中的利益技巧:1.遵時守信;2.如何敲開面試官的門;3.專業(yè)化的握手方式;4.語言交流技巧
增加校園現(xiàn)場招聘獲勝概率:有時間觀念,遵守秩序;提前準(zhǔn)備好簡歷;保持良好的精神面貌;充滿自信,但不盲目。
第一天上班:1.注意衣著;2.保持好心態(tài);3.想想辦法;4.做到優(yōu)秀
最初幾周:多問問題;微笑面對每個人;除了日常的相處外,午飯也是非常重要的交流時間;工作中不要喧賓奪主;在社交過程中,難免會聽到一些流言蜚語;千萬不要跟任何人說自己
老板的壞話;剛剛到新公司,要養(yǎng)成早到公司的習(xí)慣;上班要早到,下班的時候不要早走;自己要有一份好心情
幾點忠告:1.態(tài)度決定高度;2.眼界決定境界;3.心態(tài)決定狀態(tài)(作為一名員工:歸零的心態(tài);學(xué)習(xí)的心態(tài);創(chuàng)新的心態(tài);付出的心態(tài));4.細(xì)節(jié)決定成敗
如何度過試用期:1.謙虛謹(jǐn)慎;2.融入工作氛圍;3.把握機會;4.愛崗敬業(yè);5.工作專心致志(忽略不相關(guān)的雜務(wù);量力而為;遠(yuǎn)離是非人群);6.加倍努力;7.衣著得體
盡快進入公司的角色:1.學(xué)習(xí)公司文化;2.虛心加入團隊;3.注重第一印象;4.提出問題與建議;5.調(diào)整期望值,提高適應(yīng)力
與老員工相處:1.面對嚴(yán)謹(jǐn)治學(xué)的員工;2.面對才華橫溢的員工;3.應(yīng)對倚老賣老的員工;
4.應(yīng)對牙尖嘴利的員工
保持激情,提高自己:1.加強學(xué)習(xí);2.搞好人際關(guān)系;3.保持工作激情
升職加薪六大秘訣:1.掌握最新薪金行情;2.職責(zé)擴大理應(yīng)加薪;3.強調(diào)自己新的技能;4.坦白說自己的優(yōu)點;5.滿懷自信提出要求;6.明確是誰決定你的薪金
升職加薪六大禁忌:1.伴娘型;2.鴿子型;3.幕后型;4.仇視型;5.抱怨型;6.水牛型
你愿意做一個大池塘里的小魚,還是愿意做一個小池塘里的大魚?做一個小池塘里的大魚--那么池塘就是屬于我了,但是在沒有什么可讓我征服的一個大池塘里做一條小魚--這樣的話我就有很多成功的機會!--斯科特
人不能兩次走進同一條河流。--古希臘哲學(xué)家赫拉克利特
第三篇:java求職寶典習(xí)題6[最終版]
1.Java語言特點是什么?
Java語言具有如下特性:簡單性、面向?qū)ο蟆⒎植际健⒔忉屝汀⒖煽俊踩⑵脚_無關(guān)、可移植、高性能、多線程、動態(tài)性等。
2.什么叫Java虛擬機?什么叫Java平臺?Java虛擬機與Java平臺的關(guān)系如何? Java虛擬機(Java Virtual Machine)簡稱JVM。Java虛擬機是一個想象中的機器,在實際的計算機上通過軟件模擬來實現(xiàn)。Java虛擬機有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。
3.Java程序是由什么組成的?一個程序中必須有public類嗎?Java源文件的命名規(guī)則是怎樣的?
一個Java源程序是由若干個類組成。一個Java程序不一定需要有public類:如果源文件中有多個類時,則只能有一個類是public類;如果源文件中只有一個類,則不將該類寫成public也將默認(rèn)它為主類。源文件命名時要求源文件主名應(yīng)與主類(即用public修飾的類)的類名相同,擴展名為.java。如果沒有定義public類,則可以任何一個類名為主文件名,當(dāng)然這是不主張的,因為它將無法進行被繼承使用。另外,對Applet小應(yīng)用程序來說,其主類必須為public,否則雖然在一些編譯編譯平臺下可以通過(在BlueJ下無法通過)但運行時無法顯示結(jié)果。
4.開發(fā)與運行Java程序需要經(jīng)過哪些主要步驟和過程?
(1)下載、安裝J2SDK;
(2)設(shè)置運行環(huán)境參數(shù):JAVA_HOME、PATH、CLASSPATH;
(3)使用文本編輯器編寫原代碼如HelloWorld.java;
(4)運行命令“javac HelloWorld.java” 編譯HelloWorld.java為HelloWorld.class;
(5)運行“java HelloWorld”生成HelloWorld.exe。
5.怎樣區(qū)分應(yīng)用程序和小應(yīng)用程序?應(yīng)用程序的主類和小應(yīng)用程序的主類必須用public修飾嗎?
Java Application是完整的程序,需要獨立的解釋器來解釋運行;而Java Applet則是嵌在HTML編寫的Web頁面中的非獨立運行程序,由Web瀏覽器內(nèi)部包含的Java解釋器來解釋運行。
兩者的主要區(qū)別是:任何一個Java Application應(yīng)用程序必須有且只有一個main方法,它是整個程序的入口方法;任何一個Applet小應(yīng)用程序要求程序中有且必須有一個類是系統(tǒng)類Applet的子類,即該類頭部分以extends Applet結(jié)尾。應(yīng)用程序的主類當(dāng)源文件中只有一個類時不必用public修飾,但當(dāng)有多于一個類時則主類必須用public修飾。小應(yīng)用程序的主類在任何時候都需要用public來修飾。
6.安裝JDK之后如何設(shè)置JDK系統(tǒng)的PATH,CLASSPATH?他們的作用是什么?
(1)PATH環(huán)境變量。設(shè)置環(huán)境變量path是因為window xp是多用戶操作系統(tǒng),支持不同用戶的個性化系統(tǒng)定制,這里設(shè)置的信息只影響當(dāng)前用戶,而不會影響其他用戶。假如只有一個用戶,只是運行.class文件,則也不需要設(shè)置path環(huán)境,因為JDK安裝之后會把java.exe等幾個關(guān)鍵文件復(fù)制到c:windowssystem32目錄中,而此目錄已經(jīng)存在于path變量,所以說用戶變量path隨不同用戶而設(shè)置的,設(shè)置路徑:“D:jdk1.5bin ”。PATH環(huán)境變量作用是指定命令搜索路徑,在命令行下面執(zhí)行命令如javac編譯java程序時,它會到PATH變量所指定的路徑中查找看是否能找到相應(yīng)的命令程序。我們需要把jdk安裝目錄下的bin目錄增加到現(xiàn)有的PATH變量中,bin目錄中包含經(jīng)常要用到的可執(zhí)行文件如
javac/java/javadoc等待,設(shè)置好PATH變量后,就可以在任何目錄下執(zhí)行javac/java等工具了。
(2)CLASSPATH環(huán)境變量。作用是指定類搜索路徑,要使用已經(jīng)編寫好的類,前提當(dāng)然是能夠找到它們了,JVM就是通過CLASSPTH來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設(shè)置到CLASSPATH中,當(dāng)然,當(dāng)前目錄“.”也必須加入到該變量中。設(shè)置classpath環(huán)境變量是為了運行一些特殊的java程序,如以.jar為后綴的文件或者是javac運行java程序,假如不運行這類程序,也就不必要設(shè)置classpath環(huán)境變量了,設(shè)置方法是:(安裝jdk是的目錄為:d:jdk1.5)那么就在“變量值”文本框中鍵入:
“.;D:jdk1.libdt.jar;D:jdk1.5libtools.jar ”;
第四篇:求職寶典
1“成就你的往往不是你所計劃的”。不記得在哪個面經(jīng)里看到的一句話,當(dāng)時就很有感觸。這個人也是夢想去PG,但后來去了強生,留下這句感言。跟我的經(jīng)歷蠻相似的,也許我的經(jīng)歷更坎坷。從大三開始,我就夢想去PG,一直在準(zhǔn)備,一直在努力,直到夢想破滅。完全沒想到自己最終會從事醫(yī)療行業(yè)。很有意思的是,在強生秋季招聘中,我投的全是強生中國的職位。而且在筆試就被掛掉了。可以說,我是受害于金融危機,亦受益于金融危機。因為,如果沒有金融危機,強生醫(yī)療可能不會春招,我也不會誤打誤撞進入這個行業(yè)。而且現(xiàn)在在我看來,醫(yī)療器械行業(yè)可能在某種程度上優(yōu)于快消行業(yè)。謹(jǐn)慎選擇,選擇后就不動搖。有的同學(xué)可能會早早的拿到OFFER,要還是不要?自己一定要想清楚。因為有的時候拿得早不一定是好事,你可能會錯過后面的很多機會。你可能說,拿到了再繼續(xù)投唄。但真正到那時,你會發(fā)現(xiàn),你的心態(tài)不一樣了,你沒有那么大緊迫感了,沒有那么大的動力了。我也有看到某些同學(xué),拿到很好的OFFER了還在到處投到處面,尤其在這樣的形式下,為什么不留點機會給別人呢?就我自己的經(jīng)歷來看,放棄也未必是件壞事。試想,如果我接受了廣州移動的OFFER,我的夢想可能永遠(yuǎn)都無法實現(xiàn)了。地點flexible一點,贏率會大很多。如果你很想很想進某家企業(yè),不妨地點服從分配,你贏的機會可能更大。武漢生源,如果你想去北京、上海這樣的城市,機會往往很少,因為當(dāng)?shù)氐纳淳鸵呀?jīng)很多了。坦白說,我終面PG感覺還不錯,最后與之無緣,事后我分析了一下,可能跟自己地點的選擇有關(guān)。當(dāng)時面試官問我理想的工作地點是哪?我卻在那傻笑,說自己是武漢人。當(dāng)然就被人家認(rèn)為是非武漢不去了。
4Be yourself, be confident, be different.很多人問面經(jīng),其實面經(jīng)并不是那么那么的重要。你只要搞清楚一點,面試就是要解決兩個問題“Why me, why you”。公司會問,“為什么選擇我,為什么我要選擇你”,把這兩個問題準(zhǔn)備好了,基本上就沒什么問題了。“企業(yè)為什么選擇你”考查得最多。你要用很多例子去告訴他,“你是合適的人選”。大家可以對照企業(yè)的職位要求去準(zhǔn)備。在這里推薦給大家PG八大題。先把你的經(jīng)歷梳理一遍,不要說你沒有什么經(jīng)歷,仔細(xì)想,一定有。再用STAR原則去準(zhǔn)備這八道題,基本上可以應(yīng)付任何企業(yè)的面試。我個人認(rèn)為,至少我參加過的企業(yè)面試難度都不高于PG。
最后強調(diào),在面試的過程當(dāng)中,不需要去偽裝自己,表現(xiàn)出一個真實的自己就夠了,自信一些,讓自己與別人區(qū)別開來(尤其在群面中)。我在面試中是走親民路線的,我從來不表現(xiàn)太強勢,無論何時,我的臉上都會掛著微笑。這也是平時中的我。如果你真的比較aggressive,也不需要再去偽裝自己了,因為有些公司,有些崗位需要這樣個性的人。比如,我在實習(xí)時還面了廣東移動的另一家分公司,直接就被BS了。這也是意料之中的,因為我根本就跟面試官不是同一類型的人。注意,面試官往往在找與他們相似的人。說到自信,不緊張,建議大家在面試前喝足水,做一做深呼吸。誰都會有點緊張,包括我自己,但我會保持臉部最飽滿的笑容。在進入房間的瞬間,我會全心投入,忘掉緊張。注意細(xì)節(jié),提高效率。“簡歷怎么做,網(wǎng)申怎么填”容易過,本文不做介紹,因為應(yīng)屆生里已經(jīng)說透了,說爛了。在這里,我只想提醒大家,如果有些細(xì)節(jié)你注意到了,可以大大提高網(wǎng)申的效率。你知道網(wǎng)申就是個體力活兒,搞不好一早上你只能申請一家公司。下面給出了我的一些具體做法,拋磚引玉,其核心思想就是“文檔化,統(tǒng)一管理,隨用隨取”。
1)用Excel做了一個《求職日志》,記錄下自己投遞簡歷的企業(yè)相關(guān)信息,包括企業(yè)名稱、網(wǎng)址、崗位、投遞狀態(tài)等等。這么做可以進行系統(tǒng)的管理,否則簡歷投多了,你自己都搞不清楚已經(jīng)投了哪些公司,而哪些還沒投。
2)提前掃描自己的證書和成績單原件,有的企業(yè)要上傳附件。一般有大小限制,所以還需要調(diào)整文件大小。
3)做一份證書清單,包括:證書名稱、頒發(fā)部門、頒發(fā)時間、備注(例如證書編號)等信息,因為網(wǎng)申經(jīng)常涉及這些內(nèi)容。雖然中華英才網(wǎng)一般都可以從標(biāo)準(zhǔn)簡歷導(dǎo)入,但不同的企業(yè)可能所要求的信息又有所不同。
4)系統(tǒng)地管理簡歷。
(1)制作不同版本的簡歷,例如我們營銷專業(yè),可能投遞的崗位有“銷售型”、“研究型”。前者要側(cè)重社會實踐活動,表現(xiàn)出溝通能力;而后者要側(cè)重項目經(jīng)驗,表現(xiàn)出學(xué)術(shù)能力。
(2)簡歷命名也很有講究,可以幫助你提高效率。如:公司中文全稱-XXX-應(yīng)聘崗位20090430
5)網(wǎng)申時使用“智能填表”。有時網(wǎng)申過程中,網(wǎng)絡(luò)斷掉,而如果你沒有保存的話,大半天的辛苦就白費了。所以建議大家使用傲游的“智能填表”,可以保存填表的數(shù)據(jù)。具體使用方法:工具-智能填表-保存當(dāng)前表單。此外,也建議大家網(wǎng)申完后,在預(yù)覽模式下,把整個網(wǎng)投簡歷粘貼到word中,然后以企業(yè)分別命名。特別是不在中華英才網(wǎng)上網(wǎng)申的企業(yè)(例如有企業(yè)自己的網(wǎng)站)。因為有的網(wǎng)申問題相似,可以直接ctrl+v過來。由word統(tǒng)一管理,很容易就能找到,而不需要到各大企業(yè)網(wǎng)站上找了。
6)開放性問題的積累。從你第一天寫開放問題后,就把它粘在word中,以“開放性問題”或“Open question”命名。此后每次填開放性問題,都記得放在一起。這種積累很重要。因為有些問題可以相互變通,你不需要為每一個問題準(zhǔn)備一個答案。而聰明的辦法是,找到以前做的一個相似問題的解答,然后針對本題進行微調(diào)。這樣可以大大節(jié)省時間。6 有用的資源:
大家注意,我這里列出的資源都是經(jīng)過自己精心挑選的,絕對的精品中的精品。不建議大家看很多很多的面經(jīng),關(guān)鍵在于動手去做——動手去回顧自己的經(jīng)歷,動手去寫簡歷,模擬面試,或者前期找?guī)讉€面試練練手。
1)關(guān)于職業(yè)生涯規(guī)劃:
職業(yè)生涯步步高:一位資深經(jīng)理人的職業(yè)生涯感悟
(非常好,對你的擇業(yè)會有很大幫助。不要別人投什么你也跟著投,想清楚自己到底要什么,想過怎樣的生活。)前HP大中華區(qū)總裁孫振耀在從HP退休15天后的九大職場感言
STAR法則的簡歷應(yīng)用
3)群面:
香港大學(xué)何偉幟老師的校內(nèi)網(wǎng)BLOG
(個人覺得,是所看群面面經(jīng)之中的佳作,強烈推薦!)
4)綜合:
一個HR人給應(yīng)屆生的面試建議
5)其他:
聽一位面試官這樣說
說明:如果鏈接不成功,可直接在百度中搜標(biāo)題
感謝
謹(jǐn)以此文獻給我的父母、GG、以及所有關(guān)心和支持我的朋友們~感謝我的父母,你們信任我,無論何時都支持我的選擇,給了女兒很大的自由;感謝GG在這個過程中對我的鼓勵和支持。沒有你,我可能早已放棄和絕望。是你不斷地鼓勵我,幫我調(diào)整心態(tài),讓我更客觀地去思考,更理智地去面對得失;還有很多支持和幫助過我的朋友們,包括但不僅限于:梅子、雅莎、小汪、孔姐姐、麗瑞、小南、周迪、王東師兄、呂瑛師姐、阿孟、梁虹、鄭瑞、正奇。。當(dāng)然還有與我一起并肩作戰(zhàn)的婷婷、小強、旭峰、熹熹、小康、超超。。
感謝廣州移動,感謝你選擇了我,在求職戰(zhàn)前,給我注入了無比的信心。二個月的實習(xí)生活非常精彩。最重要的是,我收獲了一幫朋友,藍海鯊魚、倩倩、夢妮、秦鵬、洪程亮、奕林。。感謝裘總、阿孟、郭明、紀(jì)哥、成宇姐。。就像我在郵件中寫的那樣,“感謝公司對我的培養(yǎng),以及貼心地照顧~尤其感謝人力資源部每一位同事的辛勤付出,想念你們,想念08廣州驕陽~”
感謝PG,感謝你放棄了我,因為在這個坎坷的求職道路中,我才能學(xué)會和收獲更多。我學(xué)會了——如何去選擇?關(guān)鍵在于自己想要什么。如何不受外界輿論影響?堅定信念,自我調(diào)節(jié)。如何不后悔?承擔(dān)后果。如何看待機會?看得長遠(yuǎn)。。
感謝強生醫(yī)療,感謝你選擇了我,讓我重拾新的希望~對于未來,我很期待,雖然我知道工作會很辛苦,但想到是自己真正想要的,就值得為之而努力!
最后,推薦給大家兩首歌,在自己悲傷、難過、無助的時候常聽的歌——《我要的世界》、《I can only imagine》。不論發(fā)生什么,樂觀以對,不拋棄不放棄,愿每個人的理想都能實現(xiàn)!
Vivien的求職面經(jīng)系列文章
接下來,我會陸續(xù)整理自己的面經(jīng),主要包括以下企業(yè):廣州移動、強生醫(yī)療、PG、美孚、TNT、雀巢、招總、中國信保。我的面經(jīng)大部分是面完當(dāng)天回憶的,因此會涉及比較多細(xì)節(jié),希望對大家更有幫助。
廣州移動(實習(xí)):
中國信用保險公司:http://bbs.yingjiesheng.com/viewthread.php?tid=180911&page=1&extra=
懷揣著一顆感恩的心,我寫下了自己的求職面經(jīng)系列文章(一篇求職經(jīng)歷總結(jié)+8家公司面經(jīng))。到今天已經(jīng)全部發(fā)布。這個整理工作相當(dāng)艱巨,但只要對大家有一點點的啟發(fā),我都會很開心。尤其是回帖當(dāng)中的很多朋友寫給我的鼓勵,讓我十分感動;還有一些朋友與我有著類似經(jīng)歷,但現(xiàn)在仍然還在堅持。想對你們說:加油,相信自己,會有好結(jié)果!
第五篇:Java程序員面試寶典
第3章
Java語法基礎(chǔ)
基礎(chǔ)類型和語法
1、變量及其作用范圍
Java變量可以分為:靜態(tài)變量、成員變量和局部變量3種。
靜態(tài)變量:在類中用static修飾的變量,它的生存周期是由類來決定的。
成員變量:在類中沒有用static修飾的變量,它的生存周期由對象來決定。
局部變量:定義在方法里的變量、方法的參數(shù)或代碼塊里定義的變量,它們的作用范圍用大括號{}來界定。
2、Java的變量分哪兩種大的數(shù)據(jù)類型
Java的變量分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。它們最大的區(qū)別在于,引用數(shù)據(jù)類型存 放的是數(shù)據(jù)所在的地址,而基本數(shù)據(jù)類型則是直接存放數(shù)據(jù)的值。
其他知識點:引用數(shù)據(jù)類型的變量存的值是一個內(nèi)存地址。對象一般是通過new語句創(chuàng)
建出來的,它保存在堆空間中,可以被多個引用類型的變量所引用。當(dāng)引 用a修改了對象的數(shù)據(jù)以后,其他的引用也是可以看到這些改變的。
3、Java包含哪些基本數(shù)據(jù)類型及其包裝類
Java一共有8種基本數(shù)據(jù)類型,分別是byte、short、int、long、float、double、boolean、char;存儲的數(shù)據(jù)量比較小,用二進制保存。其饈類分別是:Byte、Short、Integer、Float、Double、Boolean、Character。
Eg.Integer itg=new Integer.valueOf(100);
Itg.intValue();
4、如何理解Java中的裝箱和拆箱
從Java 5.0開始,有一種自動裝箱和拆箱的功能,就可以不必顯式的進行類型轉(zhuǎn)換,系統(tǒng)會自動的按照需要進行數(shù)據(jù)類型的轉(zhuǎn)換。
Java中的裝箱和拆箱指的是基本數(shù)據(jù)類型和包裝類型的自動相互的轉(zhuǎn)換。
裝箱:基本數(shù)據(jù)類型——>包裝類型 拆箱:包裝類型——>基本數(shù)據(jù)類型
5、Java中equal和==的區(qū)別是什么
“==”運用在基本數(shù)據(jù)類型的時候,通過比較它們實際的值來判定是否相同;而用于比較引用類型的時候,則是比較兩個引用的地址是否相等,也就是是否指向同一個對象。
Equal方法是java.lang.Object的方法,也就是所有的Java類都會有的方法。它可以被程序員覆蓋重寫,通過自定義的方式來判定兩個對象是否相等。對于字符串java.lang.String類來說,它的equal方法用來比較字符串的字符序列是否相等。
6、Java中的注釋有哪些
行注釋://
塊注釋:/* */,這種注釋不會出現(xiàn)在HTML文檔中。
文檔注釋:/** /,它的注釋信息可以進入到j(luò)avadoc文檔中。注釋文檔將用來生成HTML 格式的代碼API報告,還可以用@開頭的關(guān)鍵字進行注釋,以達到說明方法參數(shù)、返回 值、異常等各種詳細(xì)信息。
Annotation:它會進入到編譯層,并對程序結(jié)果產(chǎn)生影響。它最變通的作用就是用來替代 XML提供一些配置信息,例如,JPA、Spring等框架的配置信息就可以通過Annotation 來提供。
7、Java的引用和C++的指針有什么區(qū)別
Java的引用和C++的指針本質(zhì)上,它們兩者都是想通過一個叫做引用或者指針的東西,找到要操作的目標(biāo),方便在程序中操作。所不同的是Java的辦法更安全、方便,但失去了C++的靈活,也算是對指針的一種包裝和改進。
主要區(qū)別是:
對象和類型
1、類和對象有什么區(qū)別
類是一種抽象,而對象是類的實現(xiàn)。
Java的類通過class關(guān)鍵字進行定義,它代表了一種抽象的集合。在它的里面可以定義各種屬性和方法,它們代表了每個類實例的特定的數(shù)據(jù)和動作。Java虛擬機對類只加載一次,對它的靜態(tài)成員也只加載一次。
對象,指的是某一個特定抽象的實例,它屬于某一種類型,也就是對象是通過類來創(chuàng)建的。它必須從屬于某一個類,通過new關(guān)鍵字進行創(chuàng)建,它代表一個特定類型的實例,對象可以被多次創(chuàng)建。
2、Java中如何使用繼承來重用代碼
Java采用的是單繼承制,使用extends關(guān)鍵字。通過繼承之后,子類就擁有了父類除開私有成員以外的所有成員,從而達到代碼重用的目的。在繼承過程中,可以通過方法的覆蓋來實現(xiàn)多態(tài),讓子類擁用自己獨特的方法實現(xiàn)方式。
方法的覆蓋(或重寫)和重載是兩個不同的概念。重載是創(chuàng)建一個方法名相同,但參數(shù)列表不同的方法;而方法覆蓋則是子類對父類方法的覆蓋和重寫,定義一個名字、參數(shù)、返回值一樣的方法即可。
3、簡述Java中的多態(tài)
多態(tài)是建立在繼承的基礎(chǔ)之上的。
“多態(tài)”的本質(zhì)是,發(fā)送消息給某個對象,讓該對象自行決定響應(yīng)何種行為。通過將子類對象引用賦值給超類對象引用變量來實現(xiàn)動態(tài)方法調(diào)用。
4、Java中靜態(tài)成員的特點
類的靜態(tài)成員是通過static關(guān)鍵字修飾的成員,主要包括:靜態(tài)成員變量、靜態(tài)方法和靜態(tài)代碼塊,它們具有以下一些特點:
1、在類加載的時候,就進行創(chuàng)建和初始化或執(zhí)行代碼。
2、它們對于一個類來說,都只有一份。
3、類的所有實例都可以訪問到它們。
靜態(tài)代碼塊先執(zhí)行。
5、Java派生類中的構(gòu)造方法如何為父類傳遞參數(shù)
在Java中,使用super()的形式來為父類的構(gòu)造方法提供參數(shù),通過參數(shù)的數(shù)目和類型來決定調(diào)用哪一個構(gòu)造方法。如果調(diào)用的是父類的默認(rèn)的無參數(shù)構(gòu)造方法,則可以不必顯式地使用super()。super()的使用必須放在子類構(gòu)造方法的第一行,否則編譯時會有語法錯誤。
6、接口和抽象類的區(qū)別
包含抽象(abstract)方法的類,就是抽象類。抽象類不能夠?qū)嵗bstract class 接口所有的方法都是抽象的,它可以包含靜態(tài)的變量,這些變量的值不能修改。interface 抽象類是一種功能不全的類,接口只是一個抽象方法聲明和靜態(tài)不能被修改的數(shù)據(jù)的集合,兩者都不能被實例化。從某種意義上說,接口是一種特殊形式的抽象類,在Java語言中,抽象類表示一種繼承關(guān)系,一個類吸能繼承一個抽象類,而一個類卻可以實現(xiàn)多個接口。
Class A extends B implements C,D { }
7、簡述一下內(nèi)部類的實質(zhì)
包和訪問控制
1、包應(yīng)該如何被創(chuàng)建及使用
包是Java程序中關(guān)于命名空間的一種手段,它可以有效的解決類重名的問題。當(dāng)需要把一個類定義在某個包下的時候,需要使用package關(guān)鍵字進行定義;當(dāng)需要使用其他包下的類的時候,則需要使用import關(guān)鍵字進行導(dǎo)入。
2、說明private、protected、public、default(friendly)的區(qū)別
第4章
數(shù)據(jù)類型及類型轉(zhuǎn)換
整型數(shù)據(jù)
1、int 和Integer有什么區(qū)別
所有的整型字面量默認(rèn)為int 型。
裝箱:創(chuàng)建Integer對象:Integer a=new Integer(20);Integer b=Integer.valueOf(30);拆箱:int c=a.intValue();
2、Java中的八制字面量采用0開頭,十六進制采用0x開頭。
3、Int型數(shù)據(jù)采用4個字節(jié)進行存儲,一共是32位。第一位用于表示正負(fù)號,這的取值范圍是:-2^31~(2^31-1)。
Long型數(shù)據(jù)采用8個字節(jié)進行存儲,一共是64位。第一位用于表示正負(fù)號,這的取值范圍是:-2^63~(2^63-1)。
實型(浮點型)數(shù)據(jù)
1、float 和double的取值范圍各是多少
Float型定義的數(shù)據(jù)末尾必須有“f”或“F”,為了和double區(qū)別。而double末尾可以有“d”或“D”,也可以不寫。Java的浮點型數(shù)默認(rèn)為double型。
2、如何用BigDecimal類進行精確運算
布爾型數(shù)據(jù)
1、Java可以用非0來代表true嗎?
Java不能用非0代表true,也不能用0代表 false,只能用布爾型的true和false來進行條件判斷。
2、boolean和它的包裝類的區(qū)別在哪里
Boolean變量一般初始化為false。
字符型數(shù)據(jù)
1、char的取值范圍
Java中的char采用Unicode編碼格式,用兩個字節(jié)來表示一個字符,一共16位(bit),它所能表示的范圍是:0~2^16。
2、char能否存儲漢字
char是可以存儲漢字的,每個中文字符都有對應(yīng)的Unicode編碼。對于英文字母,它們所處的范圍是0~127之間,與ASCII碼相同,這是因為Unicode兼容ASCII碼。
3、如何使用轉(zhuǎn)義字符
在Java中,使用反斜線“”來代表轉(zhuǎn)義,它與緊跟在它后面的字符一起組成了轉(zhuǎn)義字符,從而達到轉(zhuǎn)義的目的。
String型數(shù)據(jù)
1、字符串字面量是否自動生成一個String對象
肯定會自動生成。字符串類具有一定的特殊性,JVM在執(zhí)行雙引號操作符的時候,會自動的創(chuàng)建一個String對象,并返回這個對象的引用。
2、字符串對象池的作用是什么?
Java虛擬機在啟動的時候會實例化9個對象池,這9個對象池分別且來存儲8種基本類型的包裝類對象和String對象,主要是為了效率問題。
對象池的存在是為了避免頻繁的創(chuàng)建和銷毀對象而影響系統(tǒng)性能。當(dāng)JVM在運行用雙引號引起來的一個字符串的代碼時,會到String的對象池中去檢查是否有一個字符序列相同的對象。如果有,就取現(xiàn)成的對象,如果沒有,則在對象池中創(chuàng)建一個對象,并返回。
3、StringBuffer和StringBuilder存在的作用是什么?
Java的字符串String對象,有一個特性:不變性,它只能被創(chuàng)建,不能改變其中的值。
在Java程序中,如果有大量拼接字符串的需要的話,應(yīng)該使用StringBuffer和StringBuilder類,它們可以避免不必要的String對象的產(chǎn)生,以提高程序的性能。它們的作用類似,只不過StringBuilder線程是安全的。
StringBuffer sb=new StringBuffer();
Sb.append(a);//用append方法追加字符串
4、如何輸出反轉(zhuǎn)過后的字符串
實現(xiàn)字符串的反轉(zhuǎn)一般來說有兩種手段,第一是利用字符串存儲字符數(shù)據(jù)的原理,取出它的char數(shù)組,進行重新排列并保存;第二則是生成StringBuffer對象,直接使用StringBuffer的reverse()方法。