為了能夠在面試回答中優(yōu)雅而不失體面回答面試考點(diǎn)珊擂,該文章借鑒了不同平臺對知識點(diǎn)的描述圣勒。
- 如有侵權(quán)請聯(lián)系我
- 文章的不足和錯誤請指正,好的建議也不要吝嗇摧扇,我都會采納并更正
- 您的點(diǎn)贊是我持續(xù)更新的動力
一圣贸、MySQL部分
- 數(shù)據(jù)庫三范式是什么?
- 有哪些數(shù)據(jù)庫優(yōu)化方面的經(jīng)驗(yàn)?
- 請簡述常用的索引有哪些種類?
- 以及在MySQL數(shù)據(jù)庫中索引的工作機(jī)制是什么?
- MySQL的基礎(chǔ)操作命令:
- MySQL的復(fù)制原理以及流程。
- MySQL支持的復(fù)制類型?
- MySQL中Myisam與Innodb的區(qū)別?
- MySQL中Varchar與Char的區(qū)別以及Varchar( 50)中的50代表的涵義?
- MySQL中InnoDB支持的四種事務(wù)隔離級別名稱扛稽,以及逐級之間的區(qū)別?
- 表中有大字段X (例如: text類型)吁峻,且字段X不會經(jīng)常更新,以讀為為主在张,將該字段拆成子表好處是什么?
- MySQL中InnoDB引擎的行鎖是通過加在什么上完成(或稱實(shí)現(xiàn))的?
- MySQL中控制內(nèi)存分配的全局參數(shù)用含,有哪些?
- 若一張表中只有-一個字段VARCHAR(N)類型,utf8 編碼帮匾,則N最大值.為多少(精確到數(shù)量級即可)?
- [SELECT *]和[SELECT全部字段]的2種寫法有何優(yōu)缺點(diǎn)?
- HAVNG子句和WHERE的異同點(diǎn)?
- MySQL當(dāng)記錄不存在時insert,當(dāng)記錄存在時update,語句怎么寫?
- MySQL的insert和update的select語句語法
二啄骇、Tomcat部分
- Tomcat的缺省端口是多少,怎么修改?
- Tomcat有哪幾種Connector運(yùn)行模式(優(yōu)化)?
- Tomcat有幾種部署方式?
- Tomcat容器是如何創(chuàng)建servlet類實(shí)例?用到了什么原理?
- Tomcat如何優(yōu)化?
- 內(nèi)存調(diào)優(yōu)
- 垃圾回收策略調(diào)優(yōu)
- 共享session處理
- 添加JMS遠(yuǎn)程監(jiān)控
- 專業(yè)點(diǎn)的分析工具有
- 關(guān)于Tomcat的session數(shù)目
- 監(jiān)視Tomcat的內(nèi)存使用情況
- 打印類的加載情況及對象的回收情況
- Tomcat一個請求的完整過程
- Tomcat工作模式?
三瘟斜、設(shè)計模式部分
- 請列舉出在JDK中幾個常用的設(shè)計模式?
- 什么是設(shè)計模式?你是否在你的代碼里面使用過任何設(shè)計模式?
- Java 中什么叫單例設(shè)計模式?請用Java 寫出線程安全的單例模式
- 在Java 中缸夹,什么叫觀察者設(shè)計模式(observer design pattern)?
- 使用工廠模式最主要的好處是什么?在哪里使用?
- 舉一個用Java 實(shí)現(xiàn)的裝飾模式(decorator design pattern)? 它是作用于對象層次還是類層次?
- 在Java 中,為什么不允許從靜態(tài)方法中訪問非靜態(tài)變量?
- 設(shè)計一個ATM機(jī)螺句,請說出你的設(shè)計思路?
- 在Java中虽惭,什么時候用重載,什么時候用重寫?
- 舉例說明什么情況下會更傾向于使用抽象類而不是接口?
四蛇尚、并發(fā)編程部分
1. Synchronized 相關(guān)問題
- Synchronized用過嗎芽唇,其原理是什么?
- 你剛才提到獲取對象的鎖,這個"鎖”到底是什么?如何確定對象的鎖?
- 什么是可重入性佣蓉,為什么說Synchronized是可重入鎖?
- JVM對Java 的原生鎖做了哪些優(yōu)化?
- 為什么說Synchronized 是非公平鎖?
- 什么是鎖消除和鎖粗化?
- 為什么說Synchronized 是一個悲觀鎖 ?樂觀鎖的實(shí)現(xiàn)原理又是什么?什么是CAS披摄,它有什么特性?
- 樂觀鎖一定就是好的嗎?
2. 可重入鎖ReentrantLock 及其他顯式鎖相關(guān)問題
- 跟Synchronized 相比勇凭,可重入鎖ReentrantLock 其實(shí)現(xiàn)原理有什么不同?
- 那么請談?wù)凙QS框架是怎么回事兒?
- 請盡可能詳盡地對比下Synchronized和ReentrantLock 的異同疚膊。
- ReentrantLock是如何實(shí)現(xiàn)可重入性的?
- 除了ReetrantLock,你還接觸過JUC 中的哪些并發(fā)工具?
- 請談?wù)凴eadWriteLock和StampedLock.
- 如何讓Java 的線程彼此同步?你了解過哪些同步器?請分別介紹下虾标。
- CyclicBarrier 和CountDownLatch 看起來很相似寓盗,請對比下呢?
3. Java線程池相關(guān)問題
- Java中的線程池是如何實(shí)現(xiàn)的?
- 創(chuàng)建線程池的幾個核心構(gòu)造參數(shù)?
- 線程池中的線程是怎么創(chuàng)建的?是一開始就隨著線程池的啟動創(chuàng)建好的嗎?
- 既然提到可以通過配置不同參數(shù)創(chuàng)建出不同的線程池,那么Java中默認(rèn)實(shí)現(xiàn)好的線程池又有哪些呢?請比較它們的異同。
- 如何在Java 線程池中提交線程?
4. Java內(nèi)存模型相關(guān)問題
- 什么是Java 的內(nèi)存模型傀蚌,Java 中各個線程是怎么彼此看到對方的變量的?
- 請談?wù)剉olatile 有什么特點(diǎn)基显,為什么它能保證變量對所有線程的可見性?
- 既然volatile 能夠保證線程間的變量可見性,是不是就意味著基于volatile變量的運(yùn)算就是并發(fā)安全的?
- 請對比下volatile 對比Synchronized 的異同善炫。
- 請談?wù)凾hreadLocal是怎么解決并發(fā)安全的?
- 很多人都說要慎用ThreadLocal, 談?wù)勀愕睦斫饬糜模褂肨hreadLocal需要注意些什么?
寫在最后
針對Java程序員我總結(jié)了一份互聯(lián)網(wǎng)公司Java程序員必備的面試題,現(xiàn)已整理完畢箩艺,并且也附上了答案以供大家參考窜醉;次份面試題設(shè)計到Dubbo、Redis艺谆、Netty榨惰、zookeeper、Spring cloud静汤、分布式琅催、高并發(fā)等等Java程序員必備技能。
整理這份學(xué)習(xí)資料也是為了有需要的朋友在面試前能夠系統(tǒng)的復(fù)習(xí)并且能夠找到一個好工作虫给。
完整版面試真題和答案已整理成PDF格式藤抡,另外還有BAT等一線互聯(lián)網(wǎng)大廠面試真題,需要的朋友可以加合作XV——Angel_CoCc 免費(fèi)領(lǐng)日摇(記得備注“簡書”杰捂,不然不通過喲)
希望我們能夠一起努力,共同進(jìn)步棋蚌,愿大家都能夠拿到心儀公司的offer嫁佳!