2018年一线互联网公司Java高级面试题总结
1、hashcode相等兩個類一定相等嗎?equals呢?相反呢?
2、介紹一下集合框架?
3、hashmap hastable 底層實現什么區別?hashtable和concurrenthashtable呢?
4、hashmap和treemap什么區別?低層數據結構是什么?
5、線程池用過嗎都有什么參數?底層如何實現的?
6、sychnized和Lock什么區別?sychnize 什么情況情況是對象鎖? 什么時候是全局鎖為什么?
7、ThreadLocal 是什么底層如何實現?寫一個例子唄?
8、volitile的工作原理?
9、cas知道嗎如何實現的?
10、請用至少四種寫法寫一個單例模式
技術大牛親授,7個月后,進入名企拿高薪。我們的課程內容有:Java工程化、高性能及分布式、高性能、深入淺出。高架構。性能調優、Spring,MyBatis,Netty源碼分析和大數據等多個知識點。如果你想拿高薪的,想學習的,想就業前景好的,想跟別人競爭能取得優勢的,想進阿里面試但擔心面試不過的,你都可以來,q群號為:230419550
注:加群要求
1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加。
2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加。
3、如果沒有工作經驗,但基礎非常扎實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加。
4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。
5.阿里Java高級大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!
JVM
1、請介紹一下JVM內存模型??用過什么垃圾回收器都說說唄
2、線上發送頻繁full gc如何處理? CPU 使用率過高怎么辦?
如何定位問題?如何解決說一下解決思路和處理方法
3、知道字節碼嗎?字節碼都有哪些?Integer x =5,int y =5,比較x =y 都經過哪些步驟?
4、講講類加載機制唄都有哪些類加載器,這些類加載器都加載哪些文件?
手寫一下類加載Demo
5、知道osgi嗎? 他是如何實現的???
6、請問你做過哪些JVM優化?使用什么方法達到什么效果???
7、classforName("java.lang.String")和String classgetClassLoader() LoadClass("java.lang.String") 什么區別啊?
Spring
1、spring都有哪些機制啊AOP底層如何實現的啊IOC呢??
2、cgLib知道嗎?他和jdk動態代理什么區別?手寫一個jdk動態代理唄?
數據庫
1、使用mysq1索引都有哪些原則? ?索引什么數據結構? 3+tree 和B tree 什么區別?
2、mysq1有哪些存儲引擎啊?都有啥區別? 要詳細!
3、設計高并發系統數據庫層面該怎么設計??數據庫鎖有哪些類型?如何實現呀?
4、數據庫事務有哪些?
分庫分表
1、如何設計可以動態擴容縮容的分庫分表方案?
2、用過哪些分庫分表中間件,有啥優點和缺點?講一下你了解的分庫分表中間件的底層實現原理?
3、我現在有一個未分庫分表的系統,以后系統需分庫分表,如何設計,讓未分庫分表的系統動態切換到分庫分表的系統上???TCC? 那若出現網絡原因,網絡連不通怎么辦啊???
4、分布式事務知道嗎? 你們怎么解決的?
5、為什么要分庫分表啊???
6、分布式尋址方式都有哪些算法知道一致性hash嗎?手寫一下java實現代碼??你若userId取摸分片,那我要查一段連續時間里的數據怎么辦???
7、如何解決分庫分表主鍵問題有什么實現方案??
分布式緩存
1、redis和memcheched 什么區別為什么單線程的redis比多線程的memched效率要高啊?
2、redis有什么數據類型都在哪些場景下使用啊?
3、reids的主從復制是怎么實現的redis的集群模式是如何實現的呢redis的key是如何尋址的啊?
4、使用redis如何設計分布式鎖?使用zk可以嗎?如何實現啊這兩種哪個效率更高啊??
5、知道redis的持久化嗎都有什么缺點優點啊? ?具體底層實現呢?
6、redis過期策略都有哪些LRU 寫一下java版本的代碼吧??
分布式服務框架
1、說一下dubbo的實現過程注冊中心掛了可以繼續通信嗎??
2、zk原理知道嗎zk都可以干什么Paxos算法知道嗎?說一下原理和實現??
3、dubbo支持哪些序列化協議?hessian 說一下hessian的數據結構PB知道嗎為啥PB效率是最高的啊??
4、知道netty嗎'netty可以干嘛呀NIO,BIO,AIO 都是什么啊有什么區別啊?
5、dubbo復制均衡策略和高可用策略都有哪些啊動態代理策略呢?
6、為什么要進行系統拆分啊拆分不用dubbo可以嗎'dubbo和thrift什么區別啊?
分布式消息隊列
1、為什么使用消息隊列啊消息隊列有什么優點和缺點啊?
2、如何保證消息隊列的高可用啊如何保證消息不被重復消費啊
3、kafka ,activemq,rabbitmq ,rocketmq都有什么優點,缺點啊???
4、如果讓你寫一個消息隊列,該如何進行架構設計啊?說一下你的思路
分布式搜索引擎
1、es的工作過程實現是如何的?如何實現分布式的啊
2、es在數據量很大的情況下( 數十億級別)如何提高查詢效率啊?
3、es的查詢是一個怎么的工作過程?底層的lucence介紹一下唄倒排索引知道嗎?es和mongdb什么區別啊都在什么場景下使用啊?
歡迎加入Java高級群:230419550
高并發高可用架構設計
1、如何設計一個高并發高可用系統
2、如何限流?工程中怎么做的,說一下具體實現
3、緩存如何使用的緩存使用不當會造成什么后果?
4、如何熔斷啊?熔斷框架都有哪些?具體實現原理知道嗎?
5、如何降級如何進行系統拆分,如何數據庫拆分????
通信協議
1、說一下TCP 'IP四層?
2、http的工作流程?? ?http1.0 http1.1http2.0 具體哪些區別啊?
3、TCP三次握手,四層分手的工作流程畫一下流程圖為什么不是四次五次或者二次啊?
4、畫一下https的工作流程?具體如何實現啊?如何防止被抓包啊??
算法
1、比較簡單,我一個文件,有45億個阿拉伯數字,如何進行去重啊如何找出最大的那個數啊?
數據結構
1、二叉樹和紅黑樹等。
源碼中所用到的經典設計思想及常用設計模式
總結
以上是生活随笔為你收集整理的2018年一线互联网公司Java高级面试题总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jenkins安装和国内镜像配置 自制
- 下一篇: java美元兑换,(Java实现) 美元