本科雙非化學,跨考了電子碩士,研究生依然雙非,無互聯網實習,無比賽無論文,(有自動化和高校實訓講師相關的實習經歷)
19年5月份開始學Java準備秋招,因為不是專業的,所以四處查詢該如何學習,最終總結出一套學習路線和知識體系(最后放路線圖)分享給大家
?
【阿里】
二面
- 公司做的專案,設計插件,
- 講講專案的架構,設計,資料流,ER 圖
- Redis 使用過吧,快取擊穿的解決辦法,Redis 的資料結構有哪些,Redis 的主從結構,資料分片,一致性 hash
- JAVA 基礎,存放不相同的物件使用什么資料結構,引出物件的 hashCode 和 equals方法,HashSet 是用什么結構實作的;
- HashMap 的沖突解決辦法
- HashMap 是不是執行緒安全的容器,如果并發訪問了JDK 是怎么解決的
- 執行緒安全的容器 ConcurrentHashMap是怎么解決執行緒安全問題的,分段鎖
- 悲觀鎖和樂觀鎖的區別,使用悲觀鎖有什么影響(執行緒中斷,慢),樂觀鎖有什么好處
- spring ,spring 的 IOC 是什么,怎么實作的,突然就有點不知道從何說起,講了有依賴注入和依賴查找,說道了使用 spring 的注解,然后容器啟動的時候加載這些注解所在的類,使用反射執行執行初始化就 OK 了
- 然后問到使用反射就可以加載一個 private 的成員嗎,不能,需要設定權限
- 如何解決回圈依賴呢,用一個 Map 把依賴存起來唄,如果有說明有回圈依賴
- 平常自己通過哪些途徑學習,打開檔案,看博客
- 如果有一個主執行緒和很多個子執行緒,主執行緒需要等子執行緒運行完才能繼續執行,你會用什么,CountdownLatch嘛
- 講講 GC,清除,整理,交換(survivor 區域),CMS 執行的程序
- 講講自己的希望未來做的事情,高并發場景和領域建模
- 講講領域建模,就是 DDD 的核心思想,實作起來就是在 Service 那一層使用充血模型
- 平常有自己寫博客嗎,不寫筆記,996沒時間寫博客
三面
沒整理出來,基本上開頭是和二面一樣的,但是問的問題會更深入和發散,比如說為什么要這樣設計,這個設計有沒有問題等等,和業務強相關,所以一定要對業務熟悉,但是如果業務難度不大,并發量和性能要求不高,可能在具體問題的回答深度上會和面試官期待的有所欠缺,面試官人都特別好,同時也特別厲害,能從你的描述中獲得很多資訊,來反問你,所以一定要熟悉整個部門業務,問題的 發散度很高,腦子作業了一天,晚上面試的時候,容易卡殼,哎,虧死了,阿里的三面難度真的很大,所以一定要保持一個好的精神!!!!!
【滴滴】
一面
- java SPI機制實作 ?dubbo的spi有啥不同,為什么,有沒有看過dubbo的原始碼,它的背景關系可以講一下嗎,dubbo的泛化呼叫有了解嗎?
- 如何提升系統穩定性? 業務監控,監控哪些內容?qps,rt,失敗率,
- 限流降級熔斷你是怎么使用的?
- 如何解決 本地事物成功,訊息發送給訊息佇列成功,但是由于網路原因而沒有收到成功的回復? 事務訊息
- concurrent hashmap 如何解決 并發插入桶的第一個元素的問題?
- threadlocal的實作講一下?如何將父執行緒的threadlocal變數傳給子執行緒?
- 加鎖的流程講一下,Aqs的實作講一下?
- 雙重檢驗的單例實作,volatile解決了什么問題,只用synchronized關鍵字可以嗎,為什么不可以?
- 資料庫,MVCC的實作講一下?多版本體現在哪里實作上是怎樣的?B+樹索引有了解嗎?怎么解決不可重復讀的問題?
- 分布式鎖,如何解決鎖超時未釋放的問題
- 動態代理是實作是怎樣的,位元組碼層面上是怎么實作的?
- Gc相關,新生代,老年代相關的演算法流程,為什么要這樣使用?
- spring 的背景關系有了解嗎,ioc的實作??di注入是怎么實作的??
- cas是怎么實作的? 交換比較是哪個變數?
- 了解unsafe嗎
- 有哪些是你熟悉的領域也可以講講?
二面
- 系統架構講一下?資料流向?資料庫設計 (ER 圖)講一下?如果一個商品串列要展示活動,如何設計的?
- 行程和執行緒的區別?多行程編程有了解嗎?多執行緒編程要注意什么?共享變數,執行時序
- MySQL 的主從同步機制?幻讀是什么?
- Redis 的主從同步機制?
- 使用 MySQL 的心得?加 limit, 執行計劃,是否有排序,是否可以使用覆寫索引解決排序,不要將自增主鍵給外部
- 二叉樹的層序遍歷?
- 設計一個積分前 100 的排行榜?如果積分變更在不同的地方,如何讓積分榜實時更新?發訊息,監聽 binlog
- 本地事務和發訊息如何保證強一致性? 事務訊息可解決
- 為什么會考慮離職?期望有個更好的平臺來發展唄
- 二面面試官人很好,又問了些其他的,比如說公司有沒有使用這些嚴格的機制,比如說事務訊息,面試官答:工業界使用當然是越簡單的機制越好,新技術可以學習,但是要引進實際生產一定要考慮其本身的復雜性,巴拉巴拉了好多
HR
本次沒三面,可能是新部門吧,大致聊了以下幾個部分
1. 我對貴公司的意向度很高
2. 我還有別的 Offer
3. 我的期望薪資巴拉巴拉
4. 到崗資訊等等
跨專業學習歷程
閑言少敘,直接上干貨:
- Java基礎學習:篩選了很多網課,視頻,最后發現了看視頻學習是最快捷也是最有效果的方式,跟著視頻中老師的思路,首先學習Java語法基礎,再到框架,從基礎到深入,還是很容易入門的,至于視頻,網路上實際上有一大堆,我這邊是學長給我的珍藏版,應該是搜索不到,如果你需要,當然我也可以免費分享給你,
?
- 面試體系搭建:其實很多非科班的選手,不知道面向找作業該學什么,怎么去學,貼主也走了很多彎路,最后找到一份,帶你把面試會問到的知識都講了一遍,雖然講的比較淺,但是可以讓你搭建出一個面試的知識體系,然后再深入其中每個點去學習
?
- 個人專案:貼主自己搞了兩個專案,一個是商鋪系統,CRUD專案,展示自己的搬磚能力,一個是手撕Spring框架,展示自己的學習能力,和Java面試一樣,
Java雙版本(SSM到SpringBoot)校園商鋪全堆疊開發,這個校園商鋪的專案可以自己替換成任意的CRUD專案,比如牛客的那個論壇專案技識訓更厲害點,Java自研框架,決勝Spring原始碼,造輪子的專案如果用了,就要自己吃透里面的知識點,把Spring框架原始碼看熟悉,(不過根據個人面試經驗,發現其實很少會問到這個專案,即使問到,問的也不深入,可能是因為面試官對Spring原始碼也不是特別熟悉,可以替換成RPC框架造輪子,更吃香),
?
- 小編妥妥的全給大家整理好了:
?
最后,根據這些資料,我在學習中做到筆記,最終也形成了一份知識體系圖,我稍微整理了一下,就是下方這樣

?
因為圖片太大,沒有辦法完整上傳,有需要的朋友,掃描下方圖中二維碼獲取

?
公眾號:Java架構師聯盟,每日更新技術好文
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66498.html
標籤:Java
上一篇:這兩份Java“并發+異步”編程寶典,堪稱編程界的“瑰寶”
下一篇:數字顛倒
