上篇文章我請幾個大佬幫我總結了一下,整理了三套模擬面試題,細心的大佬已經發現我中間斷更了一天,爲什麼斷更呢,也講一下原因吧。我把我以前去面試過的那些東東扒出來了,今天我分享一下我的。
本人是做java開發的,這是我參加工作幾年面試總結所得,當然面得那些公司自然是跟在座的大佬比不得。有一些互聯網大廠也有一些小的創業型公司的面試問題,與之前的幾篇分享的會有一些重複,弄清楚這些,相信面試會輕鬆許多。
一次面試事故
面試官:你看過哪些源碼?
我:都挺熟悉的
面試官:對hashMap瞭解程度怎麼樣?
面試官:那你能講講 HashMap的實現原理嗎?
面試官:HashMap什麼時候會進行 rehash?
面試官:結合源碼說說 HashMap在高併發場景中爲什麼會出現死循環?
我:…
我:抱歉…
面試官:嗯。
面試官:… 把門關上。
我:… 要幹嘛?先關上再說。
面試官:我說出去把門關上。
我:what ?,奪門而去
116道面試題
-
junit用法,before,beforeClass,after, afterClass的執行順序
-
nginx的請求轉發算法,如何配置根據權重轉發
-
用hashmap實現redis有什麼問題(死鎖,死循環,可用ConcurrentHashmap)
-
線程的狀態
-
線程的阻塞的方式
-
sleep和wait的區別
-
hashmap的底層實現
-
一萬個人搶100個紅包,如何實現(不用隊列),如何保證2個人不能搶到同一個紅包,可用分佈式鎖
-
java內存模型,垃圾回收機制,不可達算法
-
兩個Integer的引用對象傳給一個swap方法在方法內部交換引用,返回後,兩個引用的值是否會發現變化
-
aop的底層實現,動態代理是如何動態,假如有100個對象,如何動態的爲這100個對象代理
-
是否用過maven install。maven test。git(make install是安裝本地jar包)
-
tomcat的各種配置,如何配置docBase
-
spring的bean配置的幾種方式
-
web.xml的配置
-
spring的監聽器。
-
zookeeper的實現機制,有緩存,如何存儲註冊服務的
-
IO會阻塞嗎?readLine是不是阻塞的
-
用過spring的線程池還是java的線程池?
-
字符串的格式化方法 (20,21這兩個問題問的太低級了)
-
時間的格式化方法
-
定時器用什麼做的
-
線程如何退出結束
-
java有哪些鎖?樂觀鎖 悲觀鎖 synchronized 可重入鎖 讀寫鎖,用過reentrantlock嗎?reentrantlock與synmchronized的區別
-
ThreadLocal的使用場景
-
java的內存模型,垃圾回收機制
-
爲什麼線程執行要調用start而不是直接run(直接run,跟普通方法沒什麼區別,先調start,run纔會作爲一個線程方法運行)
-
qmq消息的實現機制(qmq是去哪兒網自己封裝的消息隊列)
-
遍歷hashmap的三種方式
-
jvm的一些命令
-
memcache和redis的區別
-
mysql的行級鎖加在哪個位置
-
ConcurrentHashmap的鎖是如何加的?是不是分段越多越好
-
myisam和innodb的區別(innodb是行級鎖,myisam是表級鎖)
-
mysql其他的性能優化方式
-
linux系統日誌在哪裏看
-
如何查看網絡進程
-
統計一個整數的二進制表示中bit爲1的個數
-
jvm內存模型,java內存模型
-
如何把java內存的數據全部dump出來
-
Java 會出現內存溢出嗎?什麼情況下會出現?
-
雙親委派模型,爲什麼這樣做?
-
對象什麼情況下進入老年代?
-
mongodb和hbase的區別
-
如何解決併發問題
-
爲什麼使用 Executor 框架?
-
什麼是阻塞隊列?阻塞隊列的實現原理是什麼?如何使用阻塞隊列來實現生產者-消費者模型?
-
快速排序說一下過程
-
垃圾回收算法
-
Tomcat 類加載器
-
讀寫分離何時強制要讀主庫,讀哪個從庫是通過什麼方式決定的,從庫的同步mysql用的什麼方式
-
Redis 的數據類型?
-
一個字符串類型的值能存儲最大容量是多少?
-
將一個鏈表反轉(用三個指針,但是每次只發轉一個)
-
spring Aop的實現原理,具體說說
-
在 java 中守護線程和本地線程區別?
-
是否用過Autowire註解
-
spring的注入bean的方式
-
sql語句各種條件的執行順序,如select, where, order by, group by
-
select xx from xx where xx and xx order by xx limit xx;如何優化這個(看explain)
-
四則元算寫代碼
-
統計100G的ip文件中出現ip次數最多的100個ip
-
zookeeper的事物,結點,服務提供方掛了如何告知消費方
-
5臺服務器如何選出leader(選舉算法)
-
適配器和代理模式的區別
-
讀寫鎖
-
static加鎖
-
Jedis 與 Redisson 對比有什麼優缺點?
-
爲什麼 edis 需要把所有數據放到內存中?
-
mybatis如何映射表結構
-
二叉樹遍歷
-
如何使用 Spring Boot 實現分頁和排序?
-
mysql引擎區別
-
你使用了哪些 starter maven 依賴項?
-
class文件編譯後加載到了哪
-
web的http請求如何整體響應時間變長導致處理的請求數變少,該如何處理?用隊列,當處理不了那麼多http請求時將請求放到隊列
中慢慢處理,web如何實現隊列
-
線程安全的單例模式
-
什麼是 AOP?
-
你能否舉一個以 ReadOnly 爲事務管理的例子?
-
求表的size,或做數據統計可用什麼存儲引擎
-
哪個命令專門用來查看後臺任務?
-
把後臺任務調到前臺執行使用什麼命令?
-
怎麼查看系統支持的所有信號?
-
搜索文件用什麼命令? 格式是怎麼樣的?
-
使用什麼命令查看用過的命令列表?
-
使用什麼命令查看磁盤使用空間?空閒空間呢?
-
java的concurrent包用過沒
-
Java 中用到的線程調度算法是什麼?
-
java虛擬機的區域分配,各區分別存什麼
-
在 Java 中 CycliBarriar 和 CountdownLatch 有什麼區別?
-
Mybatis 是如何進行分頁的?分頁插件的原理是什麼?
-
Mybatis 是如何將 sql 執行結果封裝爲目標對象並返回的?都有哪些映射形式?
-
在 mapper 中如何傳遞多個參數?
-
什麼是 MyBatis 的接口綁定?有哪些實現方式?
-
redis能存哪些類型
-
服務註冊和發現是什麼意思?Spring Cloud 如何實現?
-
Spring Cloud 和dubbo區別?
-
什麼是 Spring Cloud Bus?我們需要它嗎?
-
什麼是 Netflix Feign?它的優點是什麼?
-
SpringBoot和SpringCloud的區別?
-
可重入鎖中的lock和trylock的區別
-
innodb對一行數據的讀會枷鎖嗎?不枷鎖,讀實際讀的是副本
-
redis做緩存是分佈式存的?不同的服務器上存的數據是否重複?guava cache呢?是否重複?不同的機器存的數據不同
-
用awk統計一個ip文件中top10
-
對錶做統計時可直接看schema info信息,即查看錶的系統信息
-
mysql目前用的版本
-
公司經驗豐富的人給了什麼幫助?(一般boss面會問這些)
-
自己相對於一樣的應屆生有什麼優勢
-
自己的好的總結習慣給自己今後的工作帶了什麼幫助,舉例爲證
-
原子類,線程安全的對象,異常的處理方式
-
4Zookeeper 對於 Kafka 的作用是什麼?
-
數據傳輸的事務定義有哪三種?
-
Kafka 判斷一個節點是否還活着有那兩個條件?
-
Kafka 與傳統 MQ 消息系統之間有三個關鍵區別
-
講一講 kafka 的 ack 的三種機制
-
kafka 如何不消費重複數據?比如扣款,我們不能重複的扣。
面試題答案
好了各位, 本文到這裏就結束了! 關於面試題答案爲什麼沒有直接寫出來,我想說的是把面試題寫下來會顯得文章很長,(現在已經很長了…)這樣就影響文章的可讀性。
java 面試題 400 多頁 ,都已經分專題整理好了。還有幾百頁的Java核心知識點PDF。
歡迎大傢俬信領取,,回覆“pdf”或“面試”即可
我是提莫,一個節操氾濫,一身凜然正氣,剛正不阿的Java程序員