進入主題之前,開篇先閑談幾句,我是直接投的簡歷,以為沒戲了,這次的面試來得意外,所以心里上是沒有準備的,這次肺炎對我們的學習、作業和生活都造成了非常大的影響,很多學校延期開學,企業也延期返工,實際上在閉關的這段時間里,我們正好可以好好利用這段時間,為自己之后想要做得事情充分做好準備,也希望肺炎趕快過去,我們的生活恢復正常,

余額寶一面:
- 自我介紹一下
- JVM 記憶體分哪幾個區,每個區的作用是什么?JVM有哪些回收演算法,對應的收集器有哪些?
- GC 的兩種判定方法 ?CMS 收集器與 G1 收集器的特點,
- hashmap原始碼問題
- HashMap、HashMap如何保證執行緒安全、ConcurrentHashMap
- HashMap底層結構 put操作講一下
- GC 的兩種判定方法 ?CMS 收集器與 G1 收集器的特點,
- java執行緒同步都有哪幾種方式,在 Java 中 CycliBarriar 和 CountdownLatch 有什么區別?
- cas的原理,變數要用哪個關鍵字修飾,volatile實作的原理,
- 你在多執行緒環境中遇到的常見的問題是什么?你是怎么解決它的?
- MYSQL 資料庫服務器性能分析的方法命令有哪些?
- 什么是通用 SQL 函式?
- 手撕代碼:按層次遍歷二叉樹?
- Java 配置的方式配置 Spring
- spring中用到了什么, 簡述 AOP 和 IOC 概念,aop是怎么實作的?
余額寶二面
- 自我介紹&專案
- 專案用 Spring 比較多,有沒有了解 Spring 的原理?AOP 和 IOC 的原理
- 分布式鎖原理
- CAS 演算法,CAS 與 synchronized 的使用情景
- 簡潔描述 Mysql 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?
- 分別解決什么問題?
- dubbo有哪些模塊,底層通信的原理?Dubbo 集群的負載均衡有哪些策略?
- 如果讓你實作一個https,你會怎么實作?
- 常用的負載均衡,該怎么用,你能說下嗎?
- 常見的分布式事務方案有哪些?
- Dubbo 的核心功能?如何從0到1設計一個類似Dubbo的RPC框架?
余額寶三面
- 再談談一致hash演算法(redis)?
- 資料庫索引,B+樹的特性和建樹程序,
- mysql相關的行鎖,表鎖;樂觀鎖,悲觀鎖
- 分布式鎖的方案,redis和zookeeper哪個個好,如果是集群部署,高并發情況下哪個性能更好,
- activeMQ 發送訊息的方式有哪些?activeMQ 如何調優
- 設計模式與重構,談談你對重構的理解
- Collections.sort底層排序方式
- 說說 Redis 哈希槽的概念?Redis 集群如何選擇資料庫?
- spring cloud的服務注冊與發現是怎么設計的?
余額寶四面
- 自己參與的專案,技術難度高的有哪些?
- 線上有實際的性能優化經驗?
- 從SQL、JVM、架構、資料庫四個方面講講優化思路,以及如何優先排序?
- redis的持久化方式,redis3.0原生集群和redis讀寫分離+哨兵機制區別
- Redis 的 list zset 的底層實作
- 如果讓你實作一個mq,怎么樣保證訊息不丟失
- 你熟悉哪些中間件,談談你對他們的理解,以及對應的使用場景區別?
- 最后,你有什么想問我的?
遠程面試后,我總結了下,問的都不算很難,雖然不是很順暢,但問題也都一一回答上了,就是通過視頻的形式來面試,總感覺有種說不出的感覺,本以為已經涼涼了,誰知道幾天后竟然收到通知,竟然過了!心情也是有點無法平靜
當然,大廠的面試,是一個系統規范化的流程,除了Spring、Redis、MQ這些必備品外,每一個簡歷都會有一句你Java基礎扎實(有沒有被說中),那么,到底怎么樣算Java基礎扎實?
1、集合,例如 List、Map的原理,HashMap基本必問這個不用我多說
2、并發,例如執行緒、執行緒池,鎖相關,這些也基本必問
3、JVM,例如垃圾回收器,垃圾回收演算法,OOM處理,jvm引數及調優
那么專業技能怎么寫?
先問一下你自己會什么,然后看看你意向的公司需要什么,我說的是一般HR可能并不太懂技術,(當然內部人員來面試就不一樣了)所以他在篩簡歷的時候可能就盯著你專業技能的關鍵詞來看,對于公司有要求而你不會的技能,你可以提前花幾天時間學習一下,然后在簡歷上可以寫上自己了解這個技能,比如你可以這樣寫(下面這部分內容摘自我的簡歷,大家可以根據自己的情況做一些修改和完善):
- 計算機網路、資料結構、演算法、作業系統等課內基礎知識:掌握
- Java 基礎知識:掌握
- JVM 虛擬機(Java記憶體區域、虛擬機垃圾演算法、虛擬垃圾收集器、JVM記憶體管理):掌握
- 高并發、高可用、高性能系統開發:掌握
- Struts2、Spring、Hibernate、Ajax、Mybatis、Redis、JQuery :掌握
- SSH 整合、SSM 整合、 SOA 架構:掌握
- Dubbo: 掌握
- Zookeeper: 掌握
- 常見訊息佇列: 掌握
- Linux:掌握
- MySQL常見優化手段:掌握
- Spring Boot +Spring Cloud +Docker:了解
- Hadoop 生態相關技術中的 HDFS、Storm、MapReduce、Hive、Hbase :了解
- Python 基礎、一些常見第三方庫比如OpenCV、wxpy、wordcloud、matplotlib:熟悉
上面說的這些,是面試基本的標配了,
首先來說下對于簡歷的準備,MQ、Redis這兩個是標配沒跑的了,為啥?你要突出你的核心競爭力,無非圍繞高并發、高可用、海量資料這幾個點出發,
其次,核心競爭力也體現在分布式解決方案的真實落地實踐,但是這些分布式解決方案,也很大程度上依賴 Redis和 MQ,
以下主要分享面經和個人學習方法,會包括很多PDF檔案,如面試題庫(含答案+決議)、學習筆記、實戰檔案和腦圖等等,個人可以免費分享,關注+私信我【面試】即可領取~
由于文章的篇幅有限,所以把這次的面試題答案整理在了PDF檔案里

如果簡歷上只是做的專案不同,但是實質都是簡單的CRUD,那么沒面試之前,已經給淘汰得差不多了,
通過數十家面試的觀察,對于Redis和MQ,考察的方向,其實也是有跡可循的,首先他們的高可用是怎么保證的,原理是怎么樣的,幾乎必問(不信你可以自己觀察),當然還會根據你的回答往下繼續拓展問題,每個人回答得不一樣,自然拓展的問題也不一樣,
- Java核心知識整理

- Java面試匯總整理

Spring系列(實戰)

性能優化(JVM+Tomcat+MySQL)答案決議整理
分布式(限流+快取+通訊)答案決議整理:


提示自身的軟實力(知識和技術)
第二個關鍵就要自己的自身實力過硬了,無論是你應屆生,還是作業好幾年,無論是校招還是社招,企業招聘的永遠是自身實力過硬的,也就是你的知識儲備,你的技術水平要達到要求,而提升自身軟實力的唯一辦法就是:不斷學習,
以下分享一些我個人的學習檔案,有需要的朋友自行選擇獲取:

刷題:
既然是要面試,那么就少不了刷題,實際上春節回家后,哪兒也去不了,我自己是刷了不少面試題的,所以在面試程序中才能夠做到心中有數,基本上會清楚面試程序中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備程序中非常重要的一點,

感言
很多人感嘆“學習無用”,實際上之所以產生無用論,是因為自己想要的與自己所學的匹配不上,這也就意味著自己學得遠遠不夠,無論是學習還是作業,都應該有主動性,所以如果擁有大廠夢,那么就要自己努力去實作它,
資料領取方式:點贊+關注,加助理VX:mxx2020666,即可免費領取
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/120744.html
標籤:其他
