1.synchronize和reentrantlock的區別?
心裡os:哈,難道不是要講專案什麼的麼,哎,有點慌張,我只是大概了解啊
我就說synchronize之前的版本比較重量級,後來進行了改善,會從輕量級鎖可能就會偏重量級等。
synchronize和reentrantlock的區別答案:
2.那你描述一下鎖膨脹的過程把!
心裡os:完了完了,真的不知道是什麼,可能之前大概了解過也忘了
就對面試官說,我對鎖這塊不算很熟,這塊不知道
鎖膨脹的過程的部落格位址
3. 說一下執行緒池如何建立的,建立的引數是哪些?
executors,我不記得引數有哪些了!
關於執行緒建立以及引數檢視以下部落格
你不得不了解的執行緒池
4.你們使用中肯定hashmap經常使用,說一下hashmap的put的過程把
hashmap採用陣列和鍊錶結構的,在進行儲存的時候會把key進行hash演算法,然後value值直接儲存
詳情請看以下部落格,寫的非常不錯!生動有趣帶你看jdk1.8-hashmap的put原始碼,看完直呼原來這麼簡單!
5.你說的太簡單了,雜湊碰撞什麼的都沒說
哦哦,雜湊碰撞在陣列裡只有有限的空間,但是key可以是無數個,hash以後的值就容易出現儲存乙個位置的情況,就會出現哈 希碰撞,所以加了鍊錶,當碰撞了以後就會儲存鍊錶後面
6.為什麼hashmap初始化是16?
應該是作者探索以後發現這個數最符合把,巴拉巴拉,(哎,具體的我也不知道)
hashmap詳情請看下面鏈結
7.為什麼hashmap執行緒不安全?那concurrenthashmap呢?
因為hashmap為了效能沒有加同步,而concurrenthashmap有加鎖操作,在之前是分段鎖,只鎖一部分那樣其他執行緒來了還可以訪問另一段,但是之後的concurrenthashmap放棄了分段鎖的概念,該用cas方式,但是我這樣說了以後,面試官說concurrenthashmap後面並沒有用cas方式,但是我怎麼記得是有呢
concurrenthashmap介紹請看這篇:
生動有趣帶你看jdk1.8-concurrenthashmap的put原始碼
8.那再來講一下io把,能說一下io麼
你說的是aio,nio,bio麼,還是說fileiputstram,outstream啊,
9.不是aio,就是你說的file那些,但是你有系統的了解io麼 沒有
10.那你能說一下aio,bio,nio區別麼?
我知道nio比較高效其他的就不清楚了
bio、nio、aio等io模式詳解(**、**示例解說)
11.嗯,框架部分你有深入了解麼,如果你覺得你都了解那麼接下來可以進行面試,如果不了解也可以結束面試
沒有太深入的了解,還停留在會用的階段
12.嗯,這次還行吧,回去多準備面試題把,感覺準備的不充分啊,還有有的詞說的不專業
好的,我還會再努力的,謝謝
13.那就加油!這次面試就先這樣。
哎,**的,我確實基本沒準備面試題,不是因為懶,而是我覺得準備的面試題不懂的化都是靠背的,因為背是不懂什麼意思的,也會導致很快就忘,甚至如果在深入一步的化只能什麼也不會,都不會懂面試官說什麼,所以我不願意這樣準備面試
本來想試試,結果又再一次發現自己學習的不足,如果按我自己所說不用背去知道去了解的去說的化,我知道這個工作量,因為後台知識太多,每一模組都有無窮無盡的知識。
以上就是全部內容!
今日頭條面試題 基礎練習
都是基礎題目,也起來也挺繞的 作為乙個手串藝人,有金主向你訂購了一條包含n個雜色串珠的手串 每個串珠要麼無色,要麼塗了若干種顏色。為了使手串的色彩看起來不那麼單調,金主要求,手串上的任意一種顏色 不包含無色 在任意連續的m個串珠裡至多出現一次 注意這裡手串是乙個環形 手串上的顏色一共有c種。現在按順...
c 病句 今日頭條面試題
試題描述 為了提高文章質量,每一篇文章 假設全部都是英文 都會有m名編輯審核,每個編輯獨立工作,會把覺得有問題的句子通過下標記錄下來,比如 1,10 1表示病句的第乙個字元,10表示病句的最後乙個字元。也就是從1到10個字元組成的句子,是有問題的。現在需要把多名編輯有問題的句子合併起來,送給總編輯進...
今日頭條async await面試題執行順序
async function async1 async function async2 console.log script start settimeout function 0 async1 new promise function resolve then function console.l...