華為java面試題
在華為的面試中,Java技術(shù)員要做好準(zhǔn)備了,提前了解面試題目很重要,下面小編已經(jīng)為你們整理了華為java面試題,希望可以幫到你。
華為java面試題1
1.Error與Exception有什么區(qū)別?
error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問(wèn)題。比如說(shuō)內(nèi)存溢出。不可能指望程序能處理這樣的情況。
exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問(wèn)題。也就是說(shuō),它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
2.statement 和preparestatement區(qū)別
1)創(chuàng)建時(shí)的區(qū)別:
Statement stm=con.createStatement();
PreparedStatement pstm=con.prepareStatement(sql);
執(zhí)行的時(shí)候:
stm.execute(sql);
pstm.execute();
2)pstm一旦綁定了SQL,此pstm就不能執(zhí)行其他的Sql,即只能執(zhí)行一條SQL命令。 stm可以執(zhí)行多條SQL命令。
3)對(duì)于執(zhí)行同構(gòu)的sql(只有值不同,其他結(jié)構(gòu)都相同),用pstm的執(zhí)行效率比較的高,對(duì)于異構(gòu)的SQL語(yǔ)句,Statement的執(zhí)行效率要高。
4)當(dāng)需要外部變量的時(shí)候,pstm的執(zhí)行效率更高.
華為java面試題2
1.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;(可以正確編譯)
2.float型float f=3.4是否正確?
不正確。精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=(float)3.4 或float f = 3.4f 在java里面,沒小數(shù)點(diǎn)的默認(rèn)是int,有小數(shù)點(diǎn)的默認(rèn)是 double;
3.ArrayList和Vector的區(qū)別,HashMap和Hashtable的區(qū)別。
ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差。
HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。
HashMap允許將null作為一個(gè)entry的key或者value,而Hashtable不允許。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因?yàn)閏ontains方法容易讓人引起誤解。 Hashtable繼承自Dictionary類,而HashMap是Java1.2引進(jìn)的Map interface的一個(gè)實(shí)現(xiàn)。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個(gè)線程訪問(wèn)Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap 就必須為之提供外同步。
華為java面試題3
1.Java有那些基本數(shù)據(jù)類型,String是不是基本數(shù)據(jù)類型,他們有何區(qū)別。
Java語(yǔ)言提供了八種基本類型:
六種數(shù)字類型(四個(gè)整數(shù)型,兩個(gè)浮點(diǎn)型)
字節(jié)型byte 8位 短整型short 16位 整型int 32位
長(zhǎng)整型long 64位 單精度f(wàn)loat 32位 雙精度double 64位
一種字符類型
字符型char 8位
還有一種布爾型
布爾型:boolean 8位 可存儲(chǔ)"True"和"false"。
String本身就是一個(gè)對(duì)象而不是基本數(shù)據(jù)類型,String的變量名是對(duì)String類的引用。
2.字符串的操作:
寫一個(gè)方法,實(shí)現(xiàn)字符串的反轉(zhuǎn),如:輸入abc,輸出cba
public static String reverse(String s){
int length=s.length();
StringBuffer result=new StringBuffer(length);
for(int i=length-1;i>=0;i--)
result.append(s.charAt(i));
return result.toString();
}
寫一個(gè)方法,實(shí)現(xiàn)字符串的替換,如:輸入bbbwlirbbb,輸出bbbhhtccc。 String s = "bbbwlirbbb";
s.replaceAll("wlirbbb","hhtccc");
看了“華為java面試題”