一文搞懂JVM架构:入职3个月的Java程序员面临转正
Java基礎(chǔ)
1.JAVA 中的幾種數(shù)據(jù)類型是什么,各自占用多少字節(jié)。
2.String 類能被繼承嗎,為什么。
3. 兩個對象的 hashCode() 相同,則 equals() 也一定為 true,對嗎?
4. String 屬于基礎(chǔ)的數(shù)據(jù)類型嗎?
5.Java 中操作字符串都有哪些類?它們之間有什么區(qū)別?
6.Java 中 IO 流分為幾種?
7.BIO、NIO、AIO 有什么區(qū)別?
8.用過哪些 Map 類,都有什么區(qū)別,HashMap 時線程安全的嗎,并發(fā)下使用的 Map 是什么,他們的內(nèi)部原理分別是什么,比如存儲方法,hashcode,擴(kuò)容,默認(rèn)容量等。
9. 如何將字符串反轉(zhuǎn)?
10.抽象類必須要有抽象方法嗎?
11.普通類和抽象類有哪些區(qū)別?
12.抽象類能使用 final 修飾嗎?
13.ArrayList 和 LinkedList 有什么區(qū)別?
14.ConcurrentHashMap的數(shù)據(jù)結(jié)構(gòu)(必考)
15.volatile作用(必考)
16.Atomic類如何保證原子性(CAS操作)(必考)
17.為什么要使用線程池(必考)
Redis
- Redis的應(yīng)用場景
- Redis支持的數(shù)據(jù)類型(必考)
- zset跳表的數(shù)據(jù)結(jié)構(gòu)(必考)
- Redis的數(shù)據(jù)過期策略(必考)
- Redis的LRU過期策略的具體實現(xiàn)
- 如何解決Redis緩存雪崩,緩存穿透問題
- Redis的持久化機(jī)制(必考)
- Redis為什么是單線程的?
- 什么是緩存穿透?怎么解決?
- Redis持久化有幾種方式?
- Redis為什么這么快?(必考)
- Redis怎么實現(xiàn)分布式鎖?
- Redis如何做內(nèi)存優(yōu)化?
- Redis淘汰策略有哪些?
- Redis常見的性能問題有哪些?該如何解決?
- Redis的使用要注意什么?
ZooKeeper
- CAP定理
- ZAB協(xié)議
- leader選舉算法和流程
- zookeeper 是什么?
- zookeeper 有幾種部署模式?
- zookeeper 怎么保證主從節(jié)點的狀態(tài)同步?
Mysql
- 事務(wù)的基本要素* 事務(wù)隔離級別(必考)
- 如何解決事務(wù)的并發(fā)問題(臟讀,幻讀)(必考)
- MVCC多版本并發(fā)控制(必考)
- binlog,redolog,undolog都是什么,起什么作用
- InnoDB的行鎖/表鎖* myisam和innodb的區(qū)別,什么時候選擇myisam
- 為什么選擇B+樹作為索引結(jié)構(gòu)(必考)
- 索引B+樹的葉子節(jié)點都可以存哪些東西(必考)
- 查詢在什么時候不走(預(yù)期中的)索引(必考)
- sql如何優(yōu)化* explain是如何解析sql的* order by原理
JVM
- 運行時數(shù)據(jù)區(qū)域(內(nèi)存模型)(必考)
- 垃圾回收機(jī)制(必考)
- 垃圾回收算法(必考)
- Minor GC和Full GC觸發(fā)條件
- GC中Stop the world(STW)
- 各垃圾回收器的特點及區(qū)別
- 雙親委派模型
- JDBC和雙親委派模型關(guān)系
- JVM 中一次完整的 GC 流程是什么樣子的,對象如何晉升到老年代,說說你知道的幾種主要的 JVM 參數(shù)
Spring
- Spring的IOC/AOP的實現(xiàn)(必考)
- 動態(tài)代理的實現(xiàn)方式(必考)
- Spring如何解決循環(huán)依賴(三級緩存)(必考)
- Spring的后置處理器
- Spring的@Transactional如何實現(xiàn)的(必考)
- Spring的事務(wù)傳播級別* BeanFactory和ApplicationContext的聯(lián)系和區(qū)別
其他
- 高并發(fā)系統(tǒng)的限流如何實現(xiàn)
- 高并發(fā)秒殺系統(tǒng)的設(shè)計
- 負(fù)載均衡如何設(shè)計
操作系統(tǒng)篇
- 進(jìn)程和線程的區(qū)別
- 進(jìn)程同步的幾種方式
- 線程間同步的方式
- 什么是緩沖區(qū)溢出。有什么危害,其原因是什么
- 進(jìn)程中有哪幾種狀態(tài)
- 分頁和分段有什么區(qū)別
多線程篇
- 多線程的幾種實現(xiàn)方式,什么是線程安全
- volatile 的原理,作用,能代替鎖嗎?
- sleep 和 wait 的區(qū)別
- sleep(0)的意義
- Lock 和 Synchronized 的區(qū)別
- synchronized 的原理是什么,一般用在什么地方(比如加載靜態(tài)方法和非靜態(tài)方法的區(qū)別)
總結(jié)
對于面試,一定要有良好的心態(tài),這位小伙伴面試美團(tuán)的時候沒有被前面阿里的面試影響到,發(fā)揮也很正常,也就能順利拿下美團(tuán)的offer。
小編還整理了大廠java程序員面試涉及到的絕大部分面試題及答案免費分享給大家,希望能幫助到大家,有需要的朋友可以看下面的免費領(lǐng)取方式!
↓↓↓
點擊這里免費下載
點擊這里免費下載
[外鏈圖片轉(zhuǎn)存中…(img-xodFdrTv-1624225410871)]
[外鏈圖片轉(zhuǎn)存中…(img-dlIYJXdA-1624225410872)]
最后感謝大家的支持,希望小編整理的資料能夠幫助到大家!也祝愿大家都能夠升職加薪!
總結(jié)
以上是生活随笔為你收集整理的一文搞懂JVM架构:入职3个月的Java程序员面临转正的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英雄联盟(LOL)如何购买和出售道具?
- 下一篇: 万字长文!2020-2021京东Java