有現實中的小伙伴問我,我這半年到底干了啥,怎么博客突然不更新了?
最近的一次更新還是在去年12月

其實這半年嘛,一直在為面試做準備,演算法一直是我的弱項,于是突擊了力扣,

開了會員,刷了將近700道,有的高頻題目都刷了第二遍, 我將每次的刷題記錄同步到了github中,有需要的可以移步SunAlwaysOnline,
下面是我的提交記錄

還是那句話,如果你想進大廠,演算法是必須要過關的,
面試前,我也整理了高頻的知(ba)識(gu)點(wen),將會陸續發出來,小伙伴們不要著急哈,
從3月份開始,每天大概會花2-4個小時復習這些知識點,
6月下旬~7月下旬,我開始了簡歷投遞及面試階段,下面是面試的具體時間表(我簡直是時間管理大師)

綠色的代表過了,紅色的代表掛了,
有些單純問專案的面經,就不發出來了,
網易一面
1、自我介紹
2、對docker與k8s的理解
說了一些k8s內的組件,api-server、scheduler、kubelet、etcd的作用與發pod的流程
3、對etcd的理解,etcd怎么實作強一致性
raft協議,另外說了可以做分布式鎖,利用informer機制接收pod資訊
4、https與http的區別,https的流程
證書驗證->公鑰加密亂數->私鑰解密->對稱加密傳輸
5、服務之間的認證
說了攔截器實作、jwt
6、對雙親委派的理解,場景
說了loadClass方法,jdbc、tomcat、java9模塊化對雙親委派的破壞
場景:力扣提交代碼重寫findClass方法,將位元組流轉換為Class物件
7、SpringBoot與Spring的區別,怎么實作自動裝配的
說了SpringBootApplication->SpringBootConfiguration->EnableAutoConfigration->import AutoConfigurationImportSelector->getCandiaties->Spring.factories->OnConditionalClass
8、問題排查思路
多執行緒優化獲取harbor內鏡像掃描資訊
慢查詢:explain,加索引
Cpu使用率高->top->top --pH pid->轉16進制->jstack pid|grep ->gc執行緒活躍->jstat -gcutil觀察FGC頻繁->jmap -dump->mat分析->大量物件
9、對云原生的看法
說了微服務+docker+k8s+devops
10、寫博客的動力與計劃
3w粉絲給我的,明年打算寫公眾號,深入中間件原始碼
贊同科技一面
1、自我介紹
2、Java有哪些類加載器,怎么自定義類加載器
3、類加載的流程
4、實作執行緒有哪幾種方式
5、Callable與Runnable的區別
6、Future.get()阻塞原理,多個執行緒同時呼叫get會發生什么,怎么實作喚醒的
7、怎么實作3個執行緒順序執行
8、CompleteFuture實作順序執行的原理
9、資料庫隔離級別,每種級別存在什么問題
10、Spring事務傳播方式哪些,事務失效的場景,怎么解決
11、有哪些分布式id框架,雪花演算法的缺點,怎么解決時間回撥
12、怎么隨機打亂一副撲克牌
13、專案難點
14、反問
BOSS直聘一面
1、自我介紹
2、說說協程
3、執行緒與行程的區別
4、多行程編程相比于多執行緒編程的優勢
5、資料庫索引為什么使用B+樹,和其他資料結構的區別
6、有看過mysql、redis與rabbitmq的原始碼嗎
7、time_wait是哪個階段、過多會造成什么情況,用什么命令排查、怎么優化
8、close_wait是哪個階段,為什么要有這個狀態
9、為什么要等待2MSL
10、一臺服務器最多支持多少個tcp連接,怎么計算
11、linux的socket函式回傳什么物件
12、docker能夠隔離什么,對什么資源隔離性最差
13、k8s是怎么調度pod的
14、kube-scheduler是怎么實作高可用的
15、api-server怎么保證高可用,我說引入keepalived+haproxy
16、手撕演算法,合并k個有序陣列
17、一邊寫演算法,一邊問優先佇列底層是什么,怎么構建的
18、反問
BOSS直聘二面
1、cicd結合k8s組件,說一下其中了解到的最大鏈路
2、說一下k8s的infomer機制
3、Fabric8保持的連接是長連接嗎
4、發布的pod,平臺支持哪些引數
5、怎么使用無鎖演算法實作執行緒安全或同步
6、class檔案格式,加載class檔案的程序,怎么進行位元組碼增強
7、9匹馬,3個賽道,選前三快,最少次數是多少
8、跳躍游戲-怎么判斷能否跳過去,最少次數是多少
9、有在看其他的機會嗎
滴滴一面
1、懟專案
2、Service原理
3、為什么出現紅黑樹這種資料結構
4、AtomicInteger原理、cas是執行緒安全的嗎
5、對鏡像層的修改是怎么處理的
6、select、poll、epoll原理,poll怎么打破1024的限制
7、請求頭里keep-alived的好處,和http2.0多路復用的區別
8、CephFS與CephRbd的區別
9、HashMap擴容的程序,1.7與1.8的區別
10、volatile的作用
11、MESI快取一致性協議了解嗎,哪4個狀態
12、快取擊穿與穿透的區別,怎么避免穿透
13、LinkedHashMap底層資料結構,怎么實作順序性的,怎么實作LRU
14、微服務的發現是怎么做的(用的第一題的Service...)
15、會go嗎?會python嗎?會node.js嗎?
16、namespace與cgroup原理
17、說一下rootfs
順網科技一面
1、懟專案
2、容器的四種網路模式
3、K8s網路模型calico的理解
4、Headless型別的Service的使用場景
5、Object類有哪些方法
6、hashcode用于什么場景
7、wait方法的理解
8、設計一個阻塞佇列,說代碼,為什么要有while
9、線上所有介面訪問變慢,怎么排查,說命令,FGC頻繁怎么辦
10、time_wait與close_wait所處在哪個階段
11、http有哪些header
12、自定義starter怎么做,說說spi機制
13、SpringBoot有哪些自己的注解
14、Spring事務默認傳播方式,怎么判斷當前方法存在事務
15、Jdbc的流程,Class.forName與.class的區別,怎么破壞雙親委派的
16、Mysql的默認隔離級別,oracle呢,oracle有哪些隔離級別
17、可重復讀怎么在當前讀與快照讀的情況下解決幻讀的
18、redis有哪些高可用方式,哨兵的三個作用
19、平時是怎么學習的
20、反問:公司做哪些業務
順網科技二面
1、怎么了解到的崗位
2、校園作品,怎么進行需求調研的
3、并發與并行的區別
4、如何實作執行緒同步與通信
5、設計模式用過哪些,在哪里使用的
6、對依賴注入的看法,容器頂層介面有哪些
7、Jvm看過那些書,看了幾遍
8、對分布式的理解,分布式ID、分布式事務與分布式鎖
9、快取不一致怎么解決,說兩種方式
10、專案的意義與挑戰在哪里
11、對k8s存盤的了解
12、說3個同事的優缺點
13、平時怎么學習的
14、花時間最久的演算法
15、最近在看哪些書
16、反問:你覺得我的優缺點有哪些
涂鴉智能一面
1、Redis分布式鎖
2、SpringBoot自動裝配原理
3、怎么設計讀寫鎖
4、怎么優化慢sql
5、聯合索引和單個索引,誰更快
6、netty零拷貝
7、設計模式用過哪些
8、狀態模式與策略模式的區別
9、怎么寫出健壯的代碼
除了這些八股文,還有重要的一點是,一定要整理好自己的專案,
八股文只適用于一面二面,真正決定你是否能夠獲得offer的是三面和四面(如果有),
三面四面的面試官,一般是組長或者大leader,他們將會一直摳專案,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/291638.html
標籤:java
