黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 阿里巴巴常見的Java開發(fā)筆試題

阿里巴巴常見的Java開發(fā)筆試題

更新時間:2020-08-13 16:19:34 來源:動力節(jié)點 瀏覽2802次

阿里巴巴常見的Java開發(fā)筆試題,面試在求職中是一項非常重要的內(nèi)容,面試中表現(xiàn)往往決定著求職者是否可以被錄用。面試過程中做好充足準(zhǔn)備,有技巧地應(yīng)對考官的提問可能會給整個面試加分。

阿里巴巴java開發(fā)筆試題

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

面向過程

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

缺點:沒有面向?qū)ο?/span>易維護(hù)、易復(fù)用、易擴(kuò)展

面向?qū)ο?/span>

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

缺點:性能比面向過程低。

2、java的四個基本特性

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

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

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

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

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

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

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

4、采用字節(jié)碼的好處

Java語言通過字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋型語言執(zhí)行效率低的問題,同時又保留了解釋型語言可移植的特點。

所以Java程序運行時比較高效,而且,由于字節(jié)碼并不專對一種特定的機(jī)器,因此,Java程序無須重新編譯便可在多種不同的計算機(jī)上運行。

5、構(gòu)造器Constructor是否可被override

構(gòu)造器不能被重寫,不能用static修飾構(gòu)造器,只能用public、private、protected這三個權(quán)限修飾符,且不能有返回語句。

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

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

public在任何地方都能訪問;

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

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

7、是否可以繼承String類

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

8、String、StringBuffer、StringBuilder區(qū)別

可變性

String類中使用字符數(shù)組保存字符串,private final char value[],所以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)行改變的時候,都會生成一個新的String對象,然后將指針指向新的String對象。

StringBuffer每次都會對StringBuffer對象本身進(jìn)行操作,而不是生成新的對象并改變對象引用。相同情況下使用StirngBuilder相比使用StringBuffer僅能獲得10%~15%左右的性能提升,但卻要冒多線程不安全的風(fēng)險。

9、hashCode和equals方法的關(guān)系

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

Java語言采用的編碼方案

Java語言采用Unicode編碼標(biāo)準(zhǔn),Unicode(標(biāo)準(zhǔn)碼),它為每個字符制訂了一個唯一的數(shù)值,因此在任何的語言,平臺,程序都可以放心的使用。

10、Java抽象類和接口的區(qū)別

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

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

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

11、自動裝箱與拆箱

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

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

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

12:什么是泛型、為什么要使用以及泛型擦除

泛型,即“參數(shù)化類型”。

創(chuàng)建集合時就指定集合元素的類型,該集合只能保存其指定類型的元素,避免使用強(qiáng)制類型轉(zhuǎn)換。

Java編譯器生成的字節(jié)碼是不包涵泛型信息的,泛型類型信息將在編譯處理是被擦除,這個過程即類型擦除。

泛型擦除可以簡單的理解為將泛型java代碼轉(zhuǎn)換為普通java代碼,只不過編譯器更直接點,將泛型java代碼直接轉(zhuǎn)換成普通java字節(jié)碼。

類型擦除的主要過程如下:

1)將所有的泛型參數(shù)用其最左邊界(最頂級的父類型)類型替換。

2)移除所有的類型參數(shù)。

13、Java中的集合類及關(guān)系圖

List和Set繼承自Collection接口。

Set無序不允許元素重復(fù)。HashSet和TreeSet是兩個主要的實現(xiàn)類。List有序且允許元素重復(fù)。

ArrayList、LinkedList和Vector是三個主要的實現(xiàn)類。

Map也屬于集合系統(tǒng),但和Collection接口沒關(guān)系。Map是key對value的映射集合,其中key列就是一個集合。key不能重復(fù),但是value可以重復(fù)。HashMap、TreeMap和Hashtable是三個主要的實現(xiàn)類。

SortedSet和SortedMap接口對元素按指定規(guī)則排序,SortedMap是對key列進(jìn)行排序。

14、HashMap實現(xiàn)原理

HashMap基于hashing原理,通過put()和get()方法儲存和獲取對象。當(dāng)將鍵值對傳遞給put()方法時,它調(diào)用鍵對象的hashCode()方法來計算hashcode,讓后找到bucket位置來儲存值對象。

當(dāng)獲取對象時,通過鍵對象的equals()方法找到正確的鍵值對,然后返回值對象。

HashMap使用LinkedList來解決碰撞問題,當(dāng)發(fā)生碰撞了,對象將會儲存在LinkedList的下一個節(jié)點中。HashMap在每個LinkedList節(jié)點中儲存鍵值對對象。

當(dāng)兩個不同的鍵對象的hashcode相同時會發(fā)生什么?它們會儲存在同一個bucket位置的LinkedList中。鍵對象的equals()方法用來找到鍵值對。

15、HashTable實現(xiàn)原理

和HashMap一樣,Hashtable也是一個散列表,它存儲的內(nèi)容是鍵值對(key-value)映射。

Hashtable繼承于Dictionary,實現(xiàn)了Map、Cloneable、java.io.Serializable接口。

Hashtable的函數(shù)都是同步的,這意味著它是線程安全的。它的key、value都不可以為null。

此外,Hashtable中的映射不是有序的。

阿里巴巴java開發(fā)筆試題

以上就是動力節(jié)點java培訓(xùn)機(jī)構(gòu)的小編針對“阿里巴巴常見的Java開發(fā)筆試題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美激情一区二区三区在线播放 | 91丝袜足控免费网站xx | 永久在线观看视频 | 色视频网站免费 | 日韩一区二区三区免费视频 | 国产免费一区不卡在线 | 怡红院免费全部视频在线视频 | 中国免费毛片 | 人人爽人人爽人人片av免费 | 日韩精品一区二区三区中文3d | 久久久亚洲欧美综合 | 国产在线观看一区二区三区 | 国产亚洲精品午夜高清影院 | 一个人看的www日本高清视频 | 日韩欧美亚洲中字幕在线播放 | 国产成人ae在线观看网站站 | 午夜三级影院 | 九九全国免费视频 | 无遮羞肉体动漫影院免费版 | 琪琪色在线视频 | 欧美日韩亚洲一区二区 | 色吧色吧色吧网 | 欧美a网站 | 性激烈的欧美三级视频中文字幕 | 最近2019中文字幕mv免费看 | 一个人看的www视频高清免费 | 美女伊人 | 波多野结衣中文字幕一区二区三区 | 一级毛毛片毛片毛片毛片在线看 | 日韩性大片免费 | 美女视频永久黄网站免费观看韩国 | 热热色原原网站 | 影音先锋亚洲资源 | 美女视频黄a全部免费专区一 | 中国妞xxxx | 久久伊人中文字幕有码 | 日本国产一区在线观看 | 亚州 色 图 综合 | 成人影院在线免费观看 | 国产精品视频无圣光一区 | 69堂午夜精品视频在线 |