Java開發兩年經驗面試題彙總
阿新 • • 發佈:2019-01-04
一、基礎
a.ArrayList和LinkedList區別,底層實現等等 b.jvm記憶體模組有哪些,修改jvm引數,gc演算法 c.執行緒池是否用過,有哪些重要的引數,分別是什麼意思;為什麼選擇用執行緒池,而不直接去建立執行緒 d.一個物件,什麼情況下會被回收 e.map的底層實現 f.java8有哪些新特性 g.多執行緒有哪些建立方式 h.執行緒同步的方式有哪些 i.資料庫事物的隔離級別有哪些 j.mysql和mongodb的區別 k.sql優化 l.yield和join的區別 m.concurrent包熟悉麼(即對併發程式設計使用併發包) n.volatile是做什麼呢? o.為什麼會存在工作記憶體這個東西,沒了他會發生什麼 p.concurrenthashmap和copyonwritearraylist的原理和使用 q.演算法:遞迴,歸併,BTree,冒泡,快排,手寫程式碼實現棧功能等等 r.Callable和Runnable的區別
二、框架
a.SpringMVC處理請求的流程 b.Spring的IOC,AOP是什麼?IOC的原理,涉及到哪些核心的類,比如BeanFactory和FactoryBean等等,實現的方式;AOP一般用來解決什麼問題,他的缺點是啥,一般是通過什麼方式實現,涉及到哪些類? c.Hibernate和Mybatis的區別 d.springboot和spring的區別;springboot和springMVC的區別 e.restful api的風格 f.微服務是什麼?為什麼要使用微服務 g.springcloud的元件有哪些?註冊中心叢集內有三個註冊中心,需要維持1萬個服務,5萬個例項的心跳,假設註冊中心因叢集維持心跳數目過大而雪崩,如何解決這種場景;feign的網路協議等等 h.如何解決微服務系統的事物問題 i.rabbitmq中佇列如何得知消費者已經成功消費了訊息.即具體的互動邏輯 j.什麼場景下使用redis做快取,redis可以儲存哪些資料結構,搭建redis叢集等等 k.zuul和nginx是一個東西嗎?針對你的描述 l.springboot的核心是starter模組,需要自己手動寫自定義註解,以及starter模組 m.hystrix進行服務降級的原理和機制 n.函數語言程式設計的使用,Spring5,java8 o.cas理論和base理論,分庫分表,分散式系統資料一致性的 p.最終一致性的解決方案,優缺點