JAVA面經(jīng)

遠(yuǎn)東集團(tuán)

  • Spring Boot的特性?
  • @Component和@Service注解的區(qū)別?
  • Spring事務(wù)的傳播機(jī)制?(要求完整具體的說(shuō)出有哪些傳播機(jī)制,具體有什么應(yīng)用場(chǎng)景,問(wèn)的非常細(xì)節(jié))
  • Spring的特性
  • Spring框架中有哪些地方用到了AOP,項(xiàng)目中是怎么用的?Spring AOP動(dòng)態(tài)代理還是靜態(tài)代理?
  • 分布式事物?
  • @Controller和@RestController的區(qū)別?
  • Kafka的消費(fèi)組機(jī)制,分區(qū)機(jī)制,負(fù)載均衡機(jī)制
  • Redis緩存擊穿,緩存穿透和緩存雪崩,如何解決?
  • 數(shù)據(jù)庫(kù)索引(主鍵索引,組合索引等),最左匹配相關(guān)知識(shí)
  • @Transcational注解的作用是什么?
  • 數(shù)據(jù)庫(kù)的隔離級(jí)別?不同隔離級(jí)別下的問(wèn)題?
  • 動(dòng)態(tài)代理的機(jī)制
  • HashMap和ConcurrentHashMap,HashMap的數(shù)據(jù)結(jié)構(gòu),ConcurrentHashMap如何保證線程安全的等
  • CountDownLatch和CycleBarrier的區(qū)別,項(xiàng)目中是如何用多線程的?
  • 單例模式,手寫雙重檢查鎖
  • 什么是CAS?
  • volatile是干什么的?解決的是什么層面的問(wèn)題?
  • 什么是CSRF、XSS、CORF?
  • 如何防止sql注入?
  • Redis數(shù)據(jù)結(jié)構(gòu),zset的細(xì)節(jié),比如sort的值能不能是字符串?
  • 哪些實(shí)現(xiàn)分布式鎖的方式,各自的原理?(主要是redis和zookeeper)
  • 說(shuō)一說(shuō)你心目中的微服務(wù)(開(kāi)放題)
  • 研究過(guò)k8s嗎?

菜鳥(niǎo)網(wǎng)絡(luò)

  • 解決線上問(wèn)題積累了哪些經(jīng)驗(yàn)?
  • 日志經(jīng)驗(yàn)?
  • JVM調(diào)優(yōu)經(jīng)驗(yàn)?
  • 內(nèi)存泄露如何排查問(wèn)題?
  • 線程安全的集合和非線程安全的集合有哪些?
  • HashMap數(shù)據(jù)結(jié)構(gòu)越詳細(xì)越好?追問(wèn)HashMap的擴(kuò)容機(jī)制?
  • ConcurrentHashMap數(shù)據(jù)結(jié)構(gòu)越詳細(xì)越好?
  • LinkedHashMap數(shù)據(jù)結(jié)構(gòu)越詳細(xì)越好?
  • Lock和Synchronized的區(qū)別?
  • AQS如何實(shí)現(xiàn)的?
  • 如何運(yùn)用AQS實(shí)現(xiàn)公平鎖和非公平鎖?
  • 如何解決高并發(fā)場(chǎng)景下的IO密集型任務(wù)(主要考察NIO)?
  • 介紹多線程,原子性、可見(jiàn)性和有序性如何理解?
  • 項(xiàng)目中消息中間件kafka的作用?
  • CAS是什么,Integer如何實(shí)現(xiàn)?
  • Redis介紹一下,為什么新版本用多線程?
  • Redis 持久化方式有哪些?有什么區(qū)別?
  • 項(xiàng)目中性能優(yōu)化的實(shí)際案例?
  • 還研究過(guò)哪些源碼?Spring的源碼有研究過(guò)嗎?
  • 數(shù)據(jù)庫(kù)高可用方案
  • 一致性hash了解嗎?

嘰里呱啦

  • 手寫LRU緩存
  • 熟悉的設(shè)計(jì)模式,裝飾模式和代理模式的區(qū)別?項(xiàng)目中使用過(guò)裝飾者模式嗎?
  • CMS了解嗎?為什么CMS的停頓時(shí)間短?
  • 雙親委派模型了解嗎?為什么要用雙親委派模型?
  • 類加載機(jī)制了解嗎?
  • 了解過(guò)熱部署嗎?
  • 哪些方法能夠?qū)崿F(xiàn)線程安全?
  • ThreadLocal的內(nèi)存泄露問(wèn)題了解嗎?
  • 了解服務(wù)治理嗎?
  • 有沒(méi)有在框架源碼的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)?
  • mysql有哪些不走索引的情況?
  • mysql中有哪些索引?hash算法的原理研究過(guò)嗎?MySQL InnoDB為什么用B+樹(shù),而不用紅黑樹(shù)或者B樹(shù)?
  • 項(xiàng)目中有挑戰(zhàn)性的事情?
  • 有沒(méi)有處理過(guò)分布式事務(wù),如何處理的?

菜鳥(niǎo)網(wǎng)絡(luò)(二輪)

  • spring starter原理
  • ArrayList和LinkedList的區(qū)別?如何選擇?ArrayList的初始大小為什么是10?
  • HashMap與HashTable的區(qū)別?升華到ConcurrentHashMap如何實(shí)現(xiàn)并發(fā)安全?
  • Synchronized實(shí)現(xiàn)鎖的原理?
  • 接口和抽象類有什么區(qū)別?如何選擇?試用場(chǎng)景?
  • 什么是序列化?有哪些序列化方式?protobuf是如何提高效率的?采用了什么壓縮算法?
  • 線程池是干什么的?jdk中有什么實(shí)現(xiàn)?如何實(shí)現(xiàn)?線程池選型?線程數(shù)如何設(shè)置?不同場(chǎng)景的拒絕策略?
  • 序列化中的UUID是干什么的?沒(méi)有UUID會(huì)有什么后果?序列化和發(fā)序列化底層是如何實(shí)現(xiàn)的?
  • CMS垃圾回收器了解嗎?如何做到低延遲的?CMS有什么缺點(diǎn)?了解其他的垃圾回收算法嗎?
  • 如果內(nèi)存為8G,如何設(shè)置JVM的最大內(nèi)存和最小內(nèi)存?
  • survivorRatio怎么理解?
  • @Resource注解和@Autowired注解的區(qū)別?
  • 為什么用mybatis而不用JDBC?mybatis只需要接口而不需要實(shí)現(xiàn)類是如何做到的?
  • Redis數(shù)據(jù)結(jié)構(gòu)?
  • 一致性hash的原理
  • MySQL常見(jiàn)的存儲(chǔ)引擎?
  • MySQL樂(lè)觀鎖和悲觀鎖?試用場(chǎng)景是什么?
  • 聚蔟索引和非聚蔟索引的區(qū)別?
  • 如何排查慢sql問(wèn)題?
  • 數(shù)據(jù)庫(kù)選錯(cuò)索引該如何解決?
  • Kafka消息中間件如何做到消息的可靠性?
  • 消息冪等性如何保證?
  • 線上問(wèn)題,線上請(qǐng)求響應(yīng)變慢如何排查定位?
  • Mybatis緩存了解嗎?
  • dubbo了解嗎?如果做服務(wù)注冊(cè)和發(fā)現(xiàn)的?
  • Spring bean的循環(huán)依賴問(wèn)題如何解決?
  • 項(xiàng)目中遇到的有挑戰(zhàn)的事情是什么?

網(wǎng)易

  • topK問(wèn)題,手寫代碼
  • 有哪些實(shí)現(xiàn)線程安全的方式
  • ThreadLocal的原理了解么?說(shuō)一下ThreadLocal的使用場(chǎng)景?ThreadLocal使用過(guò)程中要注意什么問(wèn)題?
  • synchronized和lock的區(qū)別?synchronized底層原理?Lock是如何實(shí)現(xiàn)的?

美團(tuán)點(diǎn)評(píng)

  • spring starter原理
  • 線程池原理
  • CountDownLatch實(shí)現(xiàn)的功能還能用什么來(lái)實(shí)現(xiàn)(CompletableFuture)?
  • Redis常用數(shù)據(jù)結(jié)構(gòu),Hash底層數(shù)據(jù)結(jié)構(gòu)是什么?
  • 手寫斐波那契數(shù)列

美團(tuán)點(diǎn)評(píng)

  • 手寫String轉(zhuǎn)int
  • 手寫兩個(gè)有序數(shù)組合并
  • 設(shè)計(jì)模式用的多么?觀察者模式原理是什么?
  • 性能優(yōu)化做了哪些方面的工作?
  • 高可用做了哪些方面的工作?

中國(guó)平安陸金所

  • 字符與字節(jié)的區(qū)別,char占用多少個(gè)字節(jié),漢子能用char來(lái)表示嗎?
  • 淺拷貝和深拷貝了解么?如何實(shí)現(xiàn)深拷貝?
  • ArrayList了解么?擴(kuò)容是什么過(guò)程?數(shù)組復(fù)制的方式是通過(guò)什么形式來(lái)完成的(System.arrayCopy,系統(tǒng)調(diào)用)?
  • Mysql如何查看sql語(yǔ)句的執(zhí)行計(jì)劃?什么情況下Mysql會(huì)選錯(cuò)索引?選錯(cuò)索引如何解決?
  • Java反射了解么?

美團(tuán)點(diǎn)評(píng)

  • 點(diǎn)贊系統(tǒng)設(shè)計(jì)?
  • 線程池方面,主要是線程數(shù)量的選擇;
  • 大事務(wù)是如何導(dǎo)致MGR集群失敗的;
  • 如何保證kafka消息不丟失?
  • kafka消息阻塞如何解決?

美團(tuán)點(diǎn)評(píng)

  • 性能優(yōu)化方面;
  • 微服務(wù)拆分;
  • 如何統(tǒng)計(jì)訪問(wèn)記錄?
  • 挑一個(gè)熟悉的中間件講原理?
  • 后端多人編輯沖突合并算法設(shè)計(jì)?

嗶哩嗶哩

  • SpringBoot和Spring Cloud的聯(lián)系和區(qū)別?
  • Eureka做服務(wù)發(fā)現(xiàn)的原理,說(shuō)自己比較了解Dubbo一些,問(wèn)Dubbo的服務(wù)注冊(cè)和發(fā)現(xiàn)時(shí)如何實(shí)現(xiàn)的?
  • Spring MVC那一套了解么?
  • @Autowired是如何實(shí)現(xiàn)的
  • CountDownLatch是如何實(shí)現(xiàn)的?
  • 數(shù)據(jù)庫(kù)隔離級(jí)別,不同隔離級(jí)別會(huì)出現(xiàn)什么問(wèn)題?舉一些不同隔離級(jí)別的使用場(chǎng)景?
  • InnoDB事務(wù)是如何實(shí)現(xiàn)的?
  • 數(shù)據(jù)庫(kù)中有哪些索引,為什么用B+樹(shù),不能其他平衡二叉樹(shù)嗎?
  • 數(shù)據(jù)庫(kù)中有哪些鎖?
  • MySQL商業(yè)版和MariaDB有什么區(qū)別?
  • MysQL SQL解析(explain那一套)
  • Redis主從同步是怎么做的?
  • Redis的持久化方式有哪些?各有什么不同?
  • zookeeper了解嗎?
  • Raft和Paxos了解嗎?
  • MySQL InnoDB Cluster主從切換的過(guò)程是什么?
  • docker了解嗎?
  • 有自己配置過(guò)Kibana參數(shù)嗎?
  • maven父子模塊依賴問(wèn)題?
  • kafka中的key是干什么用的?kakfa的負(fù)載高嗎?了解RocketMQ嗎?
  • Restful API的理解
  • 性能優(yōu)化做過(guò)哪些方面的工作?
  • 高可用做過(guò)哪些方面的工作?

阿里巴巴某政企部門一輪

  • 舉例說(shuō)明必須重寫equals方法的場(chǎng)景?重寫equals方法需要注意什么?為什么每個(gè)實(shí)例都需要一個(gè)默認(rèn)的hashCode方法?
  • 單例模式(double check + volatile)
  • 增刪改查場(chǎng)景如何實(shí)現(xiàn)冪等性?
  • 一個(gè)微服務(wù)需要支持1000QPS,你如何設(shè)計(jì)?你會(huì)考慮哪些方面?
  • 高可用中間件搭建過(guò)多少?
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容