金九銀十結束了,不知道你收穫到心儀的offer了嗎?
今天爲你們總結下你們在各個大廠遇到的面試題,並在文章末尾爲你們準備好了面試學習資料
java
阿里面試題總結
- HashMap底層如何實現?
- Hash一致算法?
- 說說HashMap和ConcurrentHashMap的區別?treemap和HashMap的區別?
- java的內存分區?
- java對象的回收方式,回收算法?
- CMS和G1瞭解嗎?
- CMS解決什麼問題,說一下回收的過程?
- CMS回收停頓了幾回?
- java棧何時會內存溢出,java堆呢,說一種場景?
- 集合類如何解決這個問題(軟引用和弱引用),講下這個兩個引用的區別?
- java裏的鎖瞭解哪些?
- synchronized鎖升級的過程(偏向鎖到輕量鎖再到重量級鎖),分別如何實現的,解決的是哪些問題?
- Tomcat的基本架構是什麼?
- 什麼是類加載器?
- 說說雙親委派模型機制?
- GC的機制是什麼?GC算法和回收策略?
- 線程池由哪些組件組成?
- 有哪些線程池,分別怎麼使用?拒絕策略有哪些?
- 何時多線程會發生死鎖,寫一個例子?
- Redis的數據結構是什麼? 線程模型說一下?
- 講講Redis的數據淘汰機制?
- 說說Redis的數據一致性問題?
- Redis的分佈式怎麼作?
- RPC講一下?
- 三次握手和四次揮手?若是沒有三次握手有問題嗎?
- Http請求過程,DNS解析的過程?
- InnoDB支持的四種事務隔離級別名稱是什麼?有什麼區別?說說MySQL隔離級別?
- 事務的特性及慢查詢?
- BTree機制說一下?
京東面試題總結
- 事務的ACID,其中把事務的隔離性詳細解釋一遍
- 髒讀、幻影讀、不可重複讀
- 紅黑樹、二叉樹的算法
- 日常用到哪些集合類?ArrayList和LinkedList區別?HashMap內部數據結構?ConcurrentHashMap分段鎖?
- jdk1.8中,對hashMap和concurrentHashMap作了哪些優化
- 如何解決hash衝突的,以及若是衝突了,怎麼在hash表中找到目標值
- synchronized 和 ReentranLock的區別?
- ThreadLocal?應用場景?
- Java GC機制?GC Roots有哪些?
- MySQL行鎖是否會有死鎖的狀況?
- 樂觀鎖和悲觀鎖瞭解嗎?JDK中涉及到樂觀鎖和悲觀鎖的內容?
- Nginx負載均衡策略?
- Nginx和其餘負載均衡框架對比過嗎?
- Redis是單線程?
- Redis高併發快的緣由?
- 如何利用Redis處理熱點數據
- 談談Redis哨兵、複製、集羣
- 工做中技術優化過哪些?JVM、MySQL、代碼等都談談
- Spring Cloud用到什麼東西?如何實現負載均衡?服務掛了註冊中心怎麼判斷?
- 網絡編程nio和netty相關,netty的線程模型,零拷貝實現
- 分佈式鎖的實現你知道的有哪些?具體詳細談一種實現方式
- 高併發的應用場景,技術須要涉及到哪些?怎樣來架構設計?
- 接着高併發的問題,談到了秒殺等的技術應用:kafka、redis、mycat等
美團面試題總結
- Zookeeper在項目中的使用及原理;
- Springcloud的一些組件介紹;
- 多線程的建立方式
- 服務器CPU數量及線程池數量的關係?
- 說說Mysql的sql優化
- Redis持久化方式:rdb、aof;redis中哪一個版本開始能夠對分佈式使用;
- Nginx的使用場景;
- Dubbo超時重試;Dubbo超時時間設置
- 如何保障請求執行順序
- 分佈式事物與分佈式鎖(扣款不要出現負數)
- 分佈式session設置
- JVM內存模型
- 數據庫垂直和水平拆分
- MyBatis如何分頁;如何設置緩存;MySQL分頁
- 熟悉IO麼?與NIO的區別,阻塞與非阻塞的區別
- 分佈式session一致性
- 分佈式接口的冪等性設計「不能重複扣款」
網易面試題總結
- 如何保證服務冪等性?
- kafka數據分區和消費者的關係,kafka的數據offset讀取流程,kafka內部如何保證順序,結合外部組件如何保證消費者的順序
- cms垃圾回收機制
- springcloud各個組件功能,內部細節,與dubbo區別,dubbo架構,dubbo負載策略
- mapreduce原理
- nio,bio,sellector/epoll,aio,netty⾃帶編解碼器,netty優點,java內存模型
- akka模型
- java arraylist,linkedlist區分及實現原理,hashmap和concurrenthashmap區分及實現原理,concurrenthashmap 1.7和1.8區分, 實現細節,linkedhashmap排序原理,應⽤如何保證數據冪等
- web.xml listener,filter,servlet加載順序。如何再也不web,xml中配置來加載filter
- ⽆窮數就topK問題,提供多個⽅案
- CourrentHashMap JDK1.7和JDK1.8有什麼區別?
- 線程a,b,c,d運⾏任務,怎麼保證當a,b,c線程執⾏完再執⾏d線程?
- .分佈式系統中如何保證數據的⼀致性?
- .拆分微服務應該注意哪些地⽅,如何拆分?
- SpringCloud全家桶包含哪些組件?
- 有沒了解Docker,Docker和虛擬機有什麼區別?
- 同⼀個宿主機中多個Docker容器之間如何通訊?多個宿主機中Docker容器之間如何通訊?
- ⾼併發系統如何作性能優化?如何防⽌庫存超賣?
最後總結
看了這麼多面試發現大廠會被問到最多的知識點就是:JVM原理、多線程、數據結構和算法、高併發、設計模式等內容,都說面試造火箭,大環境如此,那你也要把火箭造好,否則連擰螺絲的機會都沒有,如下是爲你們整理的大廠學習路線梳理以及學習資料:程序員
築基必備技能:併發編程,JVM,網絡編程與高效IO,Mysql,Tomcat 設計思想與開源框架:SSM(Spring+SpringMVC+MyBatis) 性能直線提高架構技術:ZK,Nginx,RabbitMQ,RocketMQ,Kafka,elastic 高效存儲讓項目性能起飛:Redis,MongoDB,MySQL,Mycat 分佈式擴展到微服務架構:SpringBoot,SpringCloud,SpringCloud Alibaba,Docker,K8S
如下資料適合工做1-3年中高級程序員領取web
資料領取方式:點贊+關注,加助理VX:mxx2020666,便可免費領取