<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          阿里飛豬Java后臺-電話面(40min)已涼

          共 2154字,需瀏覽 5分鐘

           ·

          2021-03-22 15:05

          走過路過不要錯過

          點(diǎn)擊藍(lán)字關(guān)注我們


          1. 自我介紹

            • 本碩就讀院校,參加過的競賽、項目

          2. C語言和Java語言的核心區(qū)別,有什么特點(diǎn)?

            • C面向過程,Java面向?qū)ο?/span>

            • C需要自己管理內(nèi)存,Java自動實現(xiàn)(挖了個坑)

            • C不能跨平臺,Java可以跨平臺

          3. Java資源(內(nèi)存)管理是怎么管理的?

            Java的內(nèi)存管理就是對象的分配和釋放問題。(兩部分)

            分配 :內(nèi)存的分配是由程序完成的,程序員需要通過關(guān)鍵字new 為每個對象申請內(nèi)存空間 (基本類型除外),所有的對象都在堆 (Heap)中分配空間。

            釋放 :對象的釋放是由垃圾回收機(jī)制決定和執(zhí)行的,這樣做確實簡化了程序員的工作。但同時,它也加重了JVM的工作。因為,GC為了能夠正確釋放對象,GC必須監(jiān)控每一個對象的運(yùn)行狀態(tài),包括對象的申請、引用、被引用、賦值等,GC都需要進(jìn)行監(jiān)控。

          4. Java跨平臺的核心是什么?

            • Java虛擬機(jī)

          5. 數(shù)據(jù)結(jié)構(gòu)中的常見排序算法

            • 冒泡、快排、直接插入排序、歸并排序、堆排序、選擇排序(時間復(fù)雜度、穩(wěn)定性)

          6. 假如機(jī)器內(nèi)存500M,比較大的文件超過500M,文件中放的整數(shù),對整數(shù)找出N個最小的,怎么做?

            • 將文件分割,用歸并排序

            • 用堆排序,大頂堆和小頂堆,能找到前N個

            • 追問:內(nèi)存有限的話怎么辦?(沒答上來...)

          7. Java里的接口和抽象類的區(qū)別?

            • 抽象類中可以有抽象方法,也可以有非抽象方法共存

            • 接口,jdk1.8之前只能有抽象方法,jdk1.8之后可以存在一個默認(rèn)default方法

            • 抽象類只能單繼承,接口可以實現(xiàn)多個父接口

            • 抽象類可以存在普通成員變量,接口只能存在static final的變量,必須初始化

          8. final關(guān)鍵字定義一個變量或?qū)ο?,不可變是什么不可變?/span>

            • 問懵了,沒答上,答了個地址不可變

          9. C中有指針,指向地址,java定義對象的這個存儲結(jié)構(gòu)是不是這樣?

            補(bǔ)充

            Java內(nèi)存劃分為5個部分:

            1、棧:存的都是方法中的局部變量,方法的運(yùn)行一定要在棧當(dāng)中。

            局部變量:方法的參數(shù),或者是方法內(nèi)部的變量

            作用域:一旦超出作用域,立刻從棧內(nèi)存消失

            2、堆:凡是new出來的東西,都在堆中

            堆內(nèi)存里面的東西都有一個地址值:16進(jìn)制

            3、方法區(qū):存儲.class相關(guān)信息,包含方法的信息

            4、本地方法棧:與操作系統(tǒng)相關(guān)

            5、寄存器:與CPU相關(guān)

            • 答了JVM中的方法區(qū)、堆、棧

          10. Java中的集合,哪些線程安全,哪些不安全?

            • 說了Map、Collection(List、Set)

            • HashMap、Hashtable、HashSet等

            • HashMap不安全、Hashtable安全、ConcurrentHashMap安全、ArrayList不安全、Vector安全(棄用)

          11. 線程安全是底層什么在起作用?

            • 回答了加鎖可以實現(xiàn),在就沒問了

            • 回答了同步

            • 追問:同步是指用鎖還是別的什么?

          12. HashMap和ConcurrentHashMap底層有哪些不一樣的?

            • HashMap:數(shù)組+鏈表(jdk1.7)+紅黑樹(jdk1.8)

            • ConcurrentHashMap:Segement+HashEntry(jdk1.7),數(shù)組+鏈表+紅黑樹(jdk1.8)

          13. 想追問紅黑樹、B+、B、平衡二叉樹之類的

            • 抽了,說了個沒有太深入了解,以為會問一些東西,結(jié)果直接過了

          14. Java多線程里創(chuàng)建線程池,提供哪些接口?

            補(bǔ)充

            • 說了個ThreadPoolExecutor........

            1. newCachedThreadPool 創(chuàng)建一個可緩存的線程池,如果線程池長度超過處理需求,可靈活回收空閑線程,若無可回收,則新建線程

            2. newFixedThreadPool 創(chuàng)建一個定長線程池,可控制線程最大并發(fā)數(shù),超出的線程會在隊列中等待

            3. newScheduledThreadPool 創(chuàng)建一個定長線程池,支持定時及周期性任務(wù)執(zhí)行

            4. newSingleThreadExecutor 創(chuàng)建一個單線程化的線程池,它只會唯一的工作線程來執(zhí)行任務(wù),保證所有任務(wù)按照指定順序(FIFO,LIFO,優(yōu)先級)執(zhí)行

          15. 使用線程池的時候,最關(guān)心的是什么,線程池會導(dǎo)致內(nèi)存溢出,怎么防止?

            • ........

            • 答:排隊策略,超過限制,被拒絕。

            • 設(shè)置核心參數(shù),設(shè)置線程數(shù)

            • 代碼上做清除(答了些啥...)

            • 創(chuàng)建一個無限隊列,會出現(xiàn)內(nèi)存溢出么,怎么解決?

            • 最大線程數(shù)100,在重復(fù)的加入任務(wù),造成阻塞,一直加會導(dǎo)致內(nèi)存溢出么,有什么方法防止一直加?

            • 超過線程池大小直接屏蔽么?

          16. 項目問題,哪個項目遇到技術(shù)挑戰(zhàn)的,怎么解決的?

            • 最后嘮了15多分鐘

          獲取往期更多最新面試題資料,直接轉(zhuǎn)發(fā)一下這篇文章+關(guān)注公眾號【Java爛豬皮】關(guān)注后回復(fù)【666】即可獲取哦~




          往期精彩推薦



          騰訊、阿里、滴滴后臺面試題匯總總結(jié) — (含答案)

          面試:史上最全多線程面試題 !

          最新阿里內(nèi)推Java后端面試題

          JVM難學(xué)?那是因為你沒認(rèn)真看完這篇文章


          END


          關(guān)注作者微信公眾號 —《JAVA爛豬皮》


          了解更多java后端架構(gòu)知識以及最新面試寶典


          你點(diǎn)的每個好看,我都認(rèn)真當(dāng)成了


          看完本文記得給作者點(diǎn)贊+在看哦~~~大家的支持,是作者源源不斷出文的動力


          瀏覽 30
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产夜夜操 | 免费女人高潮又粗又大毛片 | 美女毛片| 亚洲操逼网站豆花 | 亚洲最大的黄色网 |