前言
- 面試指南一和二中為大家分享了換作業原因,背后思考,以及我珍藏多年的壓箱底的技術體系;
- 本篇博文繼續為大家帶來面試程序中哪些靈魂拷問;
- 鄭重宣告:這些面試問題并不是為了讓大家在面試前進行突擊,而是通過這些問題去檢驗自己面試前的準備,做到查漏補缺,
面試指南系列
- 面試指南(一):想跳槽,你真的做好準備了嗎?
- 面試指南(二):想跳槽,這些技術點你會了嗎?
- 面試指南(三):想跳槽,這些問題你會了嗎?
靈魂拷問
自我介紹(給人第一印象十分重要)
突出重點
- 業務型別
- 團隊規模
- 負責專案中部分
個人亮點展示
- 堅持寫blog
- github開源專案
- …
控制時間
- 3-5分鐘最佳
以我為例
- 主導業務系統建設:云平臺遷移 、自動化打包平臺 、通用業務平臺 等等
- 主導技術調研&實施:延時任務、日志收集系統、灰度發布、定時任務、監控平臺 等等
- 亮點 :持續輸出博客 專注于開源
技術相關問題
Java基礎相關
- 說說你對記憶體溢位理解(記憶體溢位+CPU占用過高:問題排查+解決方案+復盤(超詳細分析教程))
- 線上jvm用的什么收集器
- jdk8默認,新生代 老年代 cms
- cms 垃圾收集器有什么缺點-四個程序
- cms采用什么演算法?新生代 采用復制演算法 標記清除(記憶體碎片) 標記整理 回應優先
- 常見的IO模型
- 著重介紹一下BIO,NIO,AIO
- 介紹非阻塞IO
- 為什么用Netty不用jdk中自帶的NIO
- Netty做的比較多比較好 Netty提供常用協議 編碼器 解編碼 零拷貝
- 拓展protobuf
- jdk中排他鎖,共享鎖
- jdk在并發庫中哪些是排它鎖,共享鎖;AQS
- guava本地快取
- 行程,執行緒,協程 區別
- java.util.lang 實作排序,快排,堆排
- ArrayList,LinkedList,Vector(性能差)
- 并發版本控制List
- 可重入鎖,java中有沒有實作不可重入鎖,如何實作不可重入鎖
中間件相關
- nginx,redis,MQ,mysql的一個并發量級
- nginx 百萬級
- redis 十萬級
- MQ
- kafka rocketmq 十萬級
- rabbit MQ 萬級
- mysql 千級 3000左右
- 冪等場景及解決方案
-
常見的消費端回執丟失導致重復消費-UUID表事務,分布式鎖
-
發送端多次發送,順便講了下Kafka的架構以及其中可能訊息丟失的點
-
天然具有冪等情況也說了下(性別由男->女等)
-
多執行緒編程
- 鎖,死鎖是怎么產生,如何解決
- 解決死鎖常見的手段
- 上鎖的時候把兩個資源都占用上,如果占用不上可以用CAS機制 主動釋放
- 強制釋放
-
jwt
-
spring security
-
mysql
-
MySQL分庫分表依據
- 橫拆 按id求余
- 豎拆
-
先介紹一下了解mysql
- mysql索引底層資料結構選型(參考博文 博文1)
- innodb和mysiam區別
- innodb做聚簇索引,主鍵,非空唯一索引,默認指定
- 回表優化兩個sql區別—mysql回表概念
-
索引下推,聯合索引 最左原則
-
臟讀,不可重復讀,幻覺
-
讀未提交,讀已提交,可重復讀,串行化 底層實作原理
-
舉一個覆寫索引例子,不用回表查
-
分庫分表 mycat做的,分布式id用的什么做
- mysql 批量生成
- mongo生成id
- 雪花演算法,兩個問題
- 時鐘回撥
- 機器碼回收
-
-
Redis
- Redis五種資料型別
- Redis中 String 底層存盤 用的sds 預分配記憶體
- Redis的Zset的有兩種順序,一個是id一個是score,說一下兩者底層上的存盤
- 跳表 是解決 問題 查找范圍內資料快一點?還是排序
-
Redis,MySql,為什么Redis比MySQL快一點
- Mysql innodb索引 B+樹 聚集索引 Mysiam B+樹 非聚集索引
- 索引為什么B+樹而不是二叉樹 B+樹 的樹矮 減少IO次數
-
佇列中哪些用的比較多?MQ型別比MySQL的吞吐量大?
- MySQL的關系型資料ACID保證事務等
- 順序讀寫比隨機讀寫快
- 集群:主從、哨兵、cluster
- key的流轉流程:動態擴容,動態縮容如何key,正好在遷移的時候如何用
- cluster用mget,mset有什么問題
- redis的管道
- 集群的時候movin,ack錯誤
- 基本資料結構:string、list、hash、set、zset、geohash、bitmap
- redis存盤優化:protobuf
- 記憶體過期策略,淘汰策略
- redis4.0之后優化,洗掉大value記憶體淘汰優化
-
說一個你熟悉的地方,我說的是kafka
- 如何做到訊息不丟失
- offset提交模式
-
- 講講eureka
- 呼叫鏈監控-大眾點評cat底層原理
- 說一下ES這塊兒
- 分布式事務-最終一致性-冪等
- 什么地方用到熱插拔-日志
其他問題
-
加解密用的演算法,為什么不用非對稱加密演算法(C++增加性能)
-
post,get請求如何區分,get請求的資料量限制不是http限制而是瀏覽器限制
-
http請求用到 resttemplate,httpclient
-
七層網路
-
爬取百億級別的url,如何判斷是否已經有;我的思路(參考博文)
- 生成hash;問:生成hash具體演算法
- 存到redis中,set;問:這么大量級都放到一個key中嗎?
-
策略模式,lamda函式式實作策略模式
- 責任鏈模式
-
作業流
-
js閉包,js阻塞代碼
-
css,span加style變成div同樣效果
-
html 事件冒泡,觸發父子元素
-
單元測驗
- junit 單元測驗時如何不依賴資料庫,通過mock物件
- sonar
- 分布式情況下單元測驗如何做
-
系統設計和系統開發區別
- 系統設計好了有助于開發
- 開發程序中去完善設計的不足
專案相關問題
- 開發的人數
- 負責專案中功能(技術經歷)
- 專案人數
- 印象深刻的問題
- 流程不同如何實作-作業流(框架)
- 用戶量,榷訓
- 比較熟悉的業務
- 資料量大小
- 每秒訪問量 QPS
- 在公司職位
- 公司主要做什么,系統主要做什么
- 公司規模
- 平臺架構
- 服務模塊
- 專案技術架構需要提升點
職業相關
- 畢業情況(初入職場考察占比會大一些)
- 離職原因
- 跳出舒適區
- 公司業務型別和個人發展規劃不符
- 期望薪資
- 按照現在的薪資自己目標的漲幅
- 未來規劃
- 短期,中期,長期
- 技術,管理
- 擅長哪方面
- 有什么缺點
- 最失敗一件事
- 帶新人注意事項
- 舒適區理解
- 有什么需要問公司
- 團隊規模
- 業務型別
總結
- 強烈建議可以找個做技術的朋友去模擬對自己進行面試,進去全程錄音,聽自己哪里說的需要繼續完善,以此往復
- 大家可以在評論區中發出自己遇到的一些靈魂拷問
- 預祝正在準備面試的朋友們可以找到一個符合自己成長預期的好職位,快速成長
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/385387.html
標籤:其他
上一篇:jdbc的內容和創建
