国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

記一次慘痛的面試經歷

CoorChice / 2505人閱讀

摘要:把內存分成兩種,一種叫做棧內存,一種叫做堆內存在函數中定義的一些基本類型的變量和對象的引用變量都是在函數的棧內存中分配。堆內存用于存放由創建的對象和數組。

一次慘痛的阿里技術面

就在昨天,有幸接到了阿里的面試通知,本來我以為自己的簡歷應該不會的到面試的機會了,然而機會卻這么來了,我卻沒有做好準備,被面試官大大一通血虐。因此,我想寫點東西紀念一下這次的經歷,也當一次教訓了。其實面試官大大問的問題我也都聽說過,卻知其然不知其所以然。在這里就整理一下了。

1. JAVA中的容器用過那些?

  本人不才,用過的也就ArrayList、LinkedList、HaseSet、HashMap這幾個。然后面試官大大就問了,ArrayList和LinkedList的區別是啥呀,我心想不就是數組和鏈表的區別嗎,自己還手寫過這玩意,就簡單說了一說,發現還真的不知道說啥,特此整理一下。
  ArrayList和LinkedList的區別大致來源于內部的實現:
  前者是基于可變長數組的,數組的特性就是連續存儲的,可以方便的根據下標去查詢數據,根據下標去修改數據,而如果插入數據的話,插入到中間的話,這條數據之后的數據都需要后移,因此效率比較低,而且數組增長的時候,需要創建新的一個數組,并將數據拷貝一份,也會影響性能。
  后者是基于雙向鏈表的,鏈表的特性就是不連續的,根據下標去查詢的話,需要移動鏈表的指針,必然會導致效率的降低,而數據的插入卻方便了很多,只需要修改那條數據的指針即可實現數據的插入。
  除了這一個,還問了HashSet和HashTable的區別(ps:what?什么是HashTable,沒見過呀,當時就沒答上來),后面查了一些東西才知道,HashTable就是和HashMap類似的東西,而且這玩意幾乎是面試必考的東西(ps:后悔沒有好好準備了),這里就記錄下HashSet、HashMap以及HashTable的區別。
  * HashSet:set的實現類,內部使用HashMap存放數據,數據不允許重復,這玩意就是他添加元素的實現啦

public boolean add(Object o) {
    return map.put(o, PRESENT)==null;
}

  * HashMap:map的一個實現類,內部的方法在默認情況下是非同步的。HashMap可以視為數組和鏈表的結合體,而他的內部可以分為三部分:key的Set,value的Collection,Entry的Set,HashMap的存儲就是根據key的hash值找到元素的位置,統一位置的數據按鏈表的形式存儲,新加入的在鏈頭,后加入的在鏈尾。
  * HashTable:繼承自Dictionary,同樣實現了Map的接口,HaseTable的方法是同步的,而且HashTable中的key和value都不允許null值。在HashMap中可以出現一個唯一的null主鍵,因此HashMap中get()返回空時不代表不存在,需要使用containsKey()方法判斷。HashMap和HashTable都使用了iterator,同時HashTable也使用了Enumeration的方式。HashTable中直接使用了對象的hashcode,HashMap重新計算了hash值。

Java中集合的整理
是否有序 是否可重復 線程安全性
Vector 安全(同步集合類)
List 不安全
CopyOnWriteArrayList 讀寫分離,并發集合,數據最終一致,沒有實時一致性
AbstractSet 不安全
HashSet 不安全
TreeSet 是(二叉樹) 不安全
CopyOnWriteHashSet 讀寫分離,并發集合,數據最終一致,沒有實時一致性
AbstractMap 使用key-value來映射和存儲數據,Key必須惟一,value可以重復 不安全
HashMap 同上 不安全
TreeMap 是(二叉樹) 同上 不安全
HashTable 同上 安全(同步集合類)
ConcurrentHashMap 同上 并發集合,采用可重入鎖
2.JAVA中的ThreadPool的最大和最小進程數怎么確定的?

當時遇到這個問題直接蒙圈了,這東西的我一般最大值設置為cpu線程數+1,還真的沒研究過到底怎么設置的,說白了就是只會拿來用,沒有深入了解他的機制,所以面試完了,還是回來查查資料記錄下吧。

  

簡單來說就是cpu核心數cpu利用率(1+等待時間/計算時間)。因此,如果是IO密集型的任務,就分配多一點咯,至于多少嗎,可以自己在服務器上測下,如果懶得測,直接取極端情況,cpu利用率100%,等待時間和計算時間一致,也就是直接取到2Ncpu左右。如果是運算密集型的話,可以直接取等待時間為0,也就是Ncpu。其實這只是比較懶的做法,盡量還是在服務器上測試下更好。

3.JAVA中的gc機制是怎么樣的?

當聽到這個問題的時候,感覺自己還是太年輕呀,沒有深入的去了解這些東西,只是簡單的看過,僅此而已。后悔自己沒有好好的研究這些了,所以只是簡單的回答當對象用不到的時候,由虛擬機自己負責回收。那么問題來了,對象什么時候用不到,怎么判斷用不到了呢。
這里只是做些簡單的記錄,等有時間的時候在深入的去研究吧,畢竟大三狗,考研黨。
gc的方法:引用計數算法、根搜索算法、標記/清除算法、復制算法、標記/整理算法

4.JAVA中的內存管理,堆和棧的區別?

這一塊我只知道一些簡單的知識,內存中的棧就是存放基本類型的變量和對象的引用變量,堆用來存放由new創建的對象和數組。深入的知識只能查資料咯。
  Java把內存分成兩種,一種叫做棧內存,一種叫做堆內存
在函數中定義的一些基本類型的變量和對象的引用變量都是在函數的棧內存中分配。當在一段代碼塊中定義一個變量時,java就在棧中為這個變量分配內存空間,當超過變量的作用域后,java會自動釋放掉為該變量分配的內存空間,該內存空間可以立刻被另作他用。
  堆內存用于存放由new創建的對象和數組。在堆中分配的內存,由java虛擬機自動垃圾回收器來管理。在堆中產生了一個數組或者對象后,還可以在棧中定義一個特殊的變量,這個變量的取值等于數組或者對象在堆內存中的首地址,在棧中的這個特殊的變量就變成了數組或者對象的引用變量,以后就可以在程序中使用棧內存中的引用變量來訪問堆中的數組或者對象,引用變量相當于為數組或者對象起的一個別名,或者代號。
  引用變量是普通變量,定義時在棧中分配內存,引用變量在程序運行到作用域外釋放。而數組&對象本身在堆中分配,即使程序運行到使用new產生數組和對象的語句所在地代碼塊之外,數組和對象本身占用的堆內存也不會被釋放,數組和對象在沒有引用變量指向它的時候,才變成垃圾,不能再被使用,但是仍然占著內存,在隨后的一個不確定的時間被垃圾回收器釋放掉。這個也是java比較占內存的主要原因,實際上,棧中的變量指向堆內存中的變量,這就是 Java 中的指針!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68867.html

相關文章

  • 一次慘烈阿里面試經歷

    摘要:當我們的需求出現變動時,工廠模式會需要進行相應的變化。總結來說,要想成功進行一次阿里巴巴的面試,你需要了解甚至掌握以下內容語言,尤其是線程原理數據庫事務,加鎖,重點分布式設計模式可以說是涉及范圍非常廣了。 showImg(https://segmentfault.com/img/bV8cSY?w=576&h=432); 前言 今天本是一個陽光明媚,鳥語花香的日子。于是我決定在逛街中感受...

    Eastboat 評論0 收藏0
  • 【FAILED】一次Python后端開發面試經歷

    摘要:正確的思路是等概率隨機只取出共個數,每個數出現的概率也是相等的隨機輸出把一段代碼改成,并增加單元測試。代碼本身很簡單,即使沒學過也能看懂,改后的代碼如下但是對于單元測試則僅限于聽過的地步,需要用到,好像也有別的模塊。 在拉勾上投了十幾個公司,大部分都被標記為不合適,有兩個給了面試機會,其中一個自己覺得肯定不會去的,也就沒有去面試,另一個經歷了一輪電話面加一輪現場筆試和面試,在此記錄一下...

    kohoh_ 評論0 收藏0
  • 前端最強面經匯總

    摘要:獲取的對象范圍方法獲取的是最終應用在元素上的所有屬性對象即使沒有代碼,也會把默認的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據我測試不同環境結果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點個贊,點個star再走哈~ 持續更新中……,可以關注下github 項目地址 https:...

    wangjuntytl 評論0 收藏0
  • 一次“失利后”經過半年準備通過阿里社招經歷與感悟

    摘要:寫在最前本次分享一下在作者上一次失利即拿到畢業證第二天突然收到阿里社招面試通知失敗之后,通過分析自己的定位與實際情況,做出的未來一到兩年的規劃。在博客有一定曝光度的積累中,陸續收到了一些面試邀請,基本上是阿里的但是我知道我菜。。 寫在最前 本次分享一下在作者上一次失利即拿到畢業證第二天突然收到阿里社招面試通知失敗之后,通過分析自己的定位與實際情況,做出的未來一到兩年的規劃。以及本次社招...

    malakashi 評論0 收藏0
  • 一次前端面試試水筆記

    摘要:浪費青春話不多說,之前投的簡歷,有家公司忽然聯系說,想和我約個時間點電話面試。不了解自己的水平,永遠都會止步于眼前的安逸。電話面試流程面試官簡單介紹一下來意,然后先了解工作經驗,再問技術問題。 最近換了個項目,現階段處于項目啟動階段,沒有開發任務,天天悠悠哉哉地都快把自己的本職忘了。浪費青春!!!話不多說,之前投的簡歷,有家公司HR忽然聯系說,想和我約個時間點電話面試。雖然這段時間一直...

    shleyZ 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<