華為Java筆試題庫,讓大家面試機(jī)會增大

華為Java筆試題庫,讓大家面試機(jī)會增大

長沙牛耳教育      2022-03-25 08:50:01     3

華為Java筆試題庫,讓大家面試機(jī)會增大,  1.面向?qū)ο蠛兔嫦蜻^程的區(qū)別  面向過程  優(yōu)點(diǎn):性能比面向?qū)ο蟾?,因?yàn)轭愓{(diào)用時(shí)需要實(shí)例化,開銷比較大,比較消耗資源;

課程價(jià)格 請咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹



  1.面向?qū)ο蠛兔嫦蜻^程的區(qū)別


  面向過程


  優(yōu)點(diǎn):性能比面向?qū)ο蟾撸驗(yàn)轭愓{(diào)用時(shí)需要實(shí)例化,開銷比較大,比較消耗資源;比如單片機(jī)、嵌入式開發(fā)、Linux/Unix等一般采用面向過程開發(fā),性能是最重要的因素。


  缺點(diǎn):沒有面向?qū)ο笠拙S護(hù)、易復(fù)用、易擴(kuò)展


  面向?qū)ο?/p>


  優(yōu)點(diǎn):易維護(hù)、易復(fù)用、易擴(kuò)展,由于面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特性,可以設(shè)計(jì)出低耦合的系統(tǒng),使系統(tǒng)更加靈活、更加易于維護(hù)


  缺點(diǎn):性能比面向過程低


  2.Java的四個(gè)基本特性(抽象、封裝、繼承,多態(tài))


  抽象:就是把現(xiàn)實(shí)生活中的某一類東西提取出來,用程序代碼表示,我們通常叫做類或者接口。抽象包括兩個(gè)方面:一個(gè)是數(shù)據(jù)抽象,一個(gè)是過程抽象。數(shù)據(jù)抽象也就是對象的屬性。過程抽象是對象的行為特征。


  封裝:把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作,對不可信的進(jìn)行封裝隱藏。封裝分為屬性的封裝和方法的封裝。


  繼承:是對有著共同特性的多類事物,進(jìn)行再抽象成一個(gè)類。這個(gè)類就是多類事物的父類。父類的意義在于抽取多類事物的共性。


  多態(tài):允許不同類的對象對同一消息做出響應(yīng)。方法的重載、類的覆蓋正體現(xiàn)了多態(tài)。


  3.重載和重寫的區(qū)別


  重載:發(fā)生在同一個(gè)類中,方法名必須相同,參數(shù)類型不同、個(gè)數(shù)不同、順序不同,方法返回值和訪問修飾符可以不同,發(fā)生在編譯時(shí)。


  重寫:發(fā)生在父子類中,方法名、參數(shù)列表必須相同,返回值小于等于父類,拋出的異常小于等于父類,訪問修飾符大于等于父類;如果父類方法訪問修飾符為private則子類中就不是重寫。


  4.構(gòu)造器Constructor是否可被override


  構(gòu)造器不能被重寫,不能用static修飾構(gòu)造器,只能用public


  privateprotected這三個(gè)權(quán)限修飾符,且不能有返回語句。


  5.訪問控制符public,protected,private,以及默認(rèn)的區(qū)別


  private只有在本類中才能訪問;


  public在任何地方都能訪問;


  protected在同包內(nèi)的類及包外的子類能訪問;


  默認(rèn)不寫在同包內(nèi)能訪問。


  6.是否可以繼承String類


  String類是final類故不可以繼承,一切由final修飾過的都不能繼承。


  7.String和StringBuffer、StringBuilder的區(qū)別


  可變性String類中使用字符數(shù)組保存字符串,privatefinalcharvalue[],所以string對象是不可變的。StringBuilder與StringBuffer都繼承自AbstractStringBuilder類,在AbstractStringBuilder中也是使用字符數(shù)組保存字符串,char[]value,這兩種對象都是可變的。


  線程安全性String中的對象是不可變的,也就可以理解為常量,線程安全。AbstractStringBuilder是StringBuilder與StringBuffer的公共父類,定義了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。StringBuffer對方法加了同步鎖或者對調(diào)用的方法加了同步鎖,所以是線程安全的。StringBuilder并沒有對方法進(jìn)行加同步鎖,所以是非線程安全的。


  性能每次對String類型進(jìn)行改變的時(shí)候,都會生成一個(gè)新的String對象,然后將指針指向新的String對象。StringBuffer每次都會對StringBuffer對象本身進(jìn)行操作,而不是生成新的對象并改變對象引用。相同情況下使用StirngBuilder相比使用StringBuffer僅能獲得10%~15%左右的性能提升,但卻要冒多線程不安全的風(fēng)險(xiǎn)。


  8.hashCode和equals方法的關(guān)系


       equals相等,hashcode必相等;hashcode相等,equals可能不相等。


  9.抽象類和接口的區(qū)別


  語法層次抽象類和接口分別給出了不同的語法定義。


  設(shè)計(jì)層次抽象層次不同,抽象類是對類抽象,而接口是對行為的抽象。抽象類是對整個(gè)類整體進(jìn)行抽象,包括屬性、行為,但是接口卻是對類局部(行為)進(jìn)行抽象。抽象類是自底向上抽象而來的,接口是自頂向下設(shè)計(jì)出來的。


  跨域不同抽象類所體現(xiàn)的是一種繼承關(guān)系,要想使得繼承關(guān)系合理,父類和派生類之間必須存在"is-a"關(guān)系,即父類和派生類在概念本質(zhì)上應(yīng)該是相同的。對于接口則不然,并不要求接口的實(shí)現(xiàn)者和接口定義在概念本質(zhì)上是一致的,僅僅是實(shí)現(xiàn)了接口定義的契約而已,"like-a"的關(guān)系。


  10.自動裝箱與拆箱裝箱:將基本類型用它們對應(yīng)的引用類型包裝起來;


  拆箱:將包裝類型轉(zhuǎn)換為基本數(shù)據(jù)類型;


  Java使用自動裝箱和拆箱機(jī)制,節(jié)省了常用數(shù)值的內(nèi)存開銷和創(chuàng)建對象的開銷,提高了效率,由編譯器來完成,編譯器會在編譯器根據(jù)語法決定是否進(jìn)行裝箱和拆箱動作。



  以上就是長沙牛耳教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“華為Java筆試題庫,讓大家面試機(jī)會增大”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


相關(guān)推薦


最新最全java面試題及答案(初級到高級)


史上最全的中高級JAVA工程師面試題及答案匯總


Java高級開發(fā)工程師面試題


2019史上最全java面試題題庫大全800題


哪有資深java工程師面試題


Java筆試題 Java筆試題庫

培訓(xùn)啦提醒您:交易時(shí)請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。