搜狐2022JAVA工程師面試題(應(yīng)聘求職面試準(zhǔn)備資料)_第1頁
搜狐2022JAVA工程師面試題(應(yīng)聘求職面試準(zhǔn)備資料)_第2頁
搜狐2022JAVA工程師面試題(應(yīng)聘求職面試準(zhǔn)備資料)_第3頁
搜狐2022JAVA工程師面試題(應(yīng)聘求職面試準(zhǔn)備資料)_第4頁
搜狐2022JAVA工程師面試題(應(yīng)聘求職面試準(zhǔn)備資料)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

搜狐2022JAVA工程師面試題第1題:一、單選題1、以下程序運(yùn)行的結(jié)果為()publicclassExampleextendsThread{(?Overridepublicvoidrun(){try{Thread.sleep(lOOO);}catch(InterruptedExceptione){e.printStackTrace();)System.out.print("run");}publicstaticvoidmain(String[]args){Exampleexample=newExample();example.run();System.out.print("main");})A、runmainB、mainrunC>mainD、runE、不能確定1、A這個(gè)類雖然繼承了Thread類,但是并沒有真正創(chuàng)建一個(gè)線程。創(chuàng)建一個(gè)線程需要掩蓋Thread類的run方法,然后調(diào)用Thread類的start。方法啟動這里直接調(diào)用run()方法并沒有創(chuàng)建線程,跟一般方法調(diào)用一樣,是挨次執(zhí)行的第2題:2、Java中用正則表達(dá)式截取字符串中第一個(gè)消失的英文左括號之前的字符串。比如:北京市(海淀區(qū))(朝陽區(qū))(西城區(qū)),截取結(jié)果為:北京市。正則表達(dá)式為()A、*.*?(?=\\()*B、*.*?(?=\()*C、*.*(?=\\()*2、AStringstr="北京市(海淀區(qū)乂朝陽區(qū))(西城區(qū))";StringpatStr=".*?(?=\\0";Patternpattern=Ppile(patStr);Matchermatcher=pattern.matcher(str);if(matcher.find())(System.out.println(matcher.group(0));)else(System.out.println(matcher.group(0));第3題:3、下列關(guān)于Java并發(fā)的說法中正確的是()A、CopyOnWriteArrayList適用于寫多讀少的并發(fā)場景B、ReadWriteLock適用于讀多寫少的并發(fā)場景C、ConcurrentHashMap的寫操作不需要加鎖,讀操作需要加鎖D、只要在定義int類型的成員變量i的時(shí)候加上volatile關(guān)鍵字,那么多線程并發(fā)執(zhí)行i++這樣的操作的時(shí)候就是線程平安的了3、BCopyOnWriteArrayList適用于寫少讀多的并發(fā)場景ReadWriteLock即為讀寫鎖,他要求寫與寫之間互斥,讀與寫之間互斥,讀與讀之間可以并發(fā)執(zhí)行。在讀多寫少的狀況下可以提高效率ConcurrentHashMap是同步的HashMap,讀寫都加鎖volatile只保證多線程操作的可見性,不保證原子性第4題:4、以下JAVA程序的輸出是什么()publicclassHelloSogou{publicstaticsynchronizedvoidmain(String[]a){Threadt=newThread(){publicvoidrun(){Sogou();});t.run();System.out.print("Hello");}staticsynchronizedvoidSogou(){System.out.printf'Sogou");))A、HelioSogouB、SogouHelloC、HelloD、結(jié)果不確定4、B這里調(diào)用t.run();并沒有啟動一個(gè)新的線程,啟動一個(gè)新線程要用t.start();所以執(zhí)行挨次是先執(zhí)行run(),再執(zhí)行System.out.print("HELLO");第5題:5、下面哪段程序能夠正確的實(shí)現(xiàn)了GBK編碼字節(jié)流到UTF-8編碼字節(jié)流的轉(zhuǎn)換:byte[]src,dst;A、dst=String.fromBytes(src,"GBK").getBytes("UTF-8")B、dst=newString(src,"GBK").getBytes("UTF-8")C、dst=newString("GBK",src).getBytes()D、dst=String.encode(String.decode(src,"GBK")),"UTF-8")5^B操作步驟就是先解碼再編碼用newString(src,"GBK")解碼得到字符串用getBytes("UTF-8")得到UTF8編碼字節(jié)數(shù)組第6題:6、如下代碼,執(zhí)行test。函數(shù)后,屏幕打印結(jié)果為()publicclassTest2(publicvoidadd(Byteb)b=b++;}publicvoidtest()(Bytea=127;Byteb=127;add(++a);System.out.print(a+"");add(b);System.out.print(b+))A、127127B、128127C、129128D、以上都不對6、Dpublicvoidadd(Byteb){b=b++;}這里涉及java的自動裝包/自動拆包(AutoBoxing/UnBoxing)Byte的首字母為大寫,是類,看似是引用傳遞,但是在add函數(shù)內(nèi)實(shí)現(xiàn)++操作,會自動拆包成byte值傳遞類型,所以add函數(shù)還是不能實(shí)現(xiàn)自增功能。也就是說add函數(shù)只是個(gè)擺設(shè),沒有任何作用。Byte類型值大小為-128?127之間。add(++a);這里++a會越界,a的值變?yōu)?128add(b);前面說了,add不起任何作用,b還是127第7題:7、staticStringstr0="0123456789";staticStringstrl="0123456789";Stringstr2=strl.substring(5);Stringstr3=newString(str2);Stringstr4=newString(str3.toCharArray());strO=null;假定strO,…,str4后序代碼都是只讀引用。Java7中,以上述代碼為基礎(chǔ),在發(fā)生過一次FullGC后,上述代碼在Heap空間(不包括PermGen)保留的字符數(shù)為()A、5B、10C、15D、207、Csubstring實(shí)際是new,5字符str3和4也都是new,每個(gè)5字符分別都會創(chuàng)建新的對象常量池是PermGen的因此應(yīng)當(dāng)是一共15字符第8題:8、對于JVM內(nèi)存配置參數(shù):-Xmxl024m-Xmsl0240m-Xmn5120m-XXSurvivorRatio=3,其最小內(nèi)存值和Survivor區(qū)總大小分別是()A、5120m,1024mB、5120m,2048mC、10240m,1024mD、10240m,2048m8、D-Xmx:最大堆大小-Xms:初始堆大小-Xmn:年輕代大小-XXSurvivorRatio:年輕代中Eden區(qū)與Survivor區(qū)的大小比值年輕代5120m,Eden:Survivor=3,Survivor區(qū)大小=1024m(Survivor區(qū)有兩個(gè),即將年輕代分為5份,每個(gè)Survivor區(qū)占一份),總大小為2048mo-Xms初始堆大小即最小內(nèi)存值為10240m第9題:二、多選題9、以下哪些類是線程平安的()A、VectorB、HashMapC、ArrayListD、StringBufferE、Properties9、ADEVector相當(dāng)于一個(gè)線程平安的ListHashMap是非線程平安的,其對應(yīng)的線程平安類是HashTableArraylist是非線程平安的,其對應(yīng)的線程平安類是VectorStringBuffer是線程平安的,相當(dāng)于一個(gè)線程平安的StringBuilderProperties實(shí)現(xiàn)了Map接口,是線程平安的第10題:10>實(shí)現(xiàn)或繼承了collection接口的是()A、mapB、ListC>vectorD、IteratorE、Set10、BCE在java.util包中供應(yīng)了一些集合類,常用的有List>Set和Map類,其中List類和Set類繼承了Collection接口。這些集合類又稱為容器,長度是可變的,數(shù)組用來存放基本數(shù)據(jù)類型的數(shù)據(jù),集合用來存放類對象的引用。List接口、Set接口、Map接口以及Collection接口的主要特征如下:Collection接口是List接口和Set接口的父接口,通常狀況下不被直接使用。List接口繼承了Collection接口,List接口允許存放重復(fù)的對象,排序方式為根據(jù)對象的插入挨次。Set接口繼承了Collectio

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論