文章目錄
- 前言
- 一、自我介紹
- 1.Java和python的特點
- 2.你學python干了哪些事?
- 3.介紹下深度學習
- 二、專案
- 4.講一下貓眼影院專案功能、技術
- 5.Zipkin干啥用了?原理了解不?
- 6.為什么用dubbo?微服務有啥好處?
- 7.外賣專案擔任隊長,怎樣管理的?
- 三、編程基礎
- 8.有哪些資料結構?
- 9.陣列、鏈表的區別?
- 10.講一下HashMap
- 11.為什么紅黑樹占用的記憶體比鏈表要大?
- 12.講一下垃圾回收演算法
- 三、演算法
- 13.你最近做演算法都哪些方面的?
- 14.平時喜歡跑步?
- 總結
前言
這次面試的節奏感覺非常好,之前是面試官拉著我走,這次基本上就是我引導面試官問我想回答的問題一、自我介紹
面試官針對自我介紹里面的內容問了一些問題
1.Java和python的特點
答:我更多使用Java,python很久沒用了,Java面向物件、代碼復用、各種框架SpringBoot dubbo SpringCloud、代碼規范整潔,python給我第一感覺是代碼簡單、隨意,python有很多庫,比如numpy、pandas、matplotlib,深度學習tensorflow大都用python
2.你學python干了哪些事?
答:了解基礎語法,深度學習
3.介紹下深度學習
(談了一些影像識別、卷積神經網路的內容)
二、專案
4.講一下貓眼影院專案功能、技術
答:五大模塊用戶、影片、影院、訂單、支付
Dubbo微服務框架、Zookeeper服務注冊發現、鏈路監控、服務熔斷、服務降級、流量控制…
5.Zipkin干啥用了?原理了解不?
答:用Zipkin進行鏈路監控,比如當專案上線之后,可以用zipkin進行調參,比如負載均衡,但是不了解底層原理
6.為什么用dubbo?微服務有啥好處?
(結合純SpringBoot開發的仿餓了么外賣專案進行了對比,主要回答的方向就是擴容:將大的服務拆分,不同的服務可以部署在不同機器上,解決單體架構的瓶頸)
7.外賣專案擔任隊長,怎樣管理的?
答:按照標準的軟體工程開發流程,前期有需求分析、系統設計等檔案,每人負責一個模塊,開發程序中使用騰訊會議每天開個小會,總結每日作業情況,
三、編程基礎
8.有哪些資料結構?
答:陣列、佇列、堆疊、鏈表、堆、樹、二叉樹
9.陣列、鏈表的區別?
之前的博客中專門搞過 LoL
資料結構專欄:https://blog.csdn.net/qq_44357371/category_9468806.html

我講完區別之后,特意提了一下HashMap綜合了兩者
10.講一下HashMap
(先講了HashMap的結構,又特意說了在JDK1.7和JDK1.8中hashMap的區別(加入了紅黑樹))
11.為什么紅黑樹占用的記憶體比鏈表要大?
(之前看過紅黑樹原始碼,手寫了一點代碼)我猜的:因為紅黑樹的每個結點有parent
父節點的指標、color、left、right,而鏈表只是一個next
12.講一下垃圾回收演算法
(我個人認為,要講好垃圾回收這個題目,只說一個演算法是遠遠不夠的,甚至演算法都沒必要說,重點是講垃圾回收的結構,發生垃圾回收的時機)
答:垃圾回收演算法包括標記清楚、標記整理、復制,要說清楚垃圾回收,還要從JVM的記憶體結構說起,垃圾回收主要回收的是物件,物件是存在堆中的,而堆里面結構分為兩大部分:老年代、新生代,新生代分為三部分:eden伊甸園區、from、to,當物件來的時候,先進Eden,當它滿了,就發生一次小垃圾回收,活的進from,當from滿了,活的就進to,to滿了,就再進from,之后就一直這樣回圈,直到 ①某個物件歲數達到(好像是15),就直接把這個老不死物件放進老年代 ②當新生代全滿了,進老年代,當老年代滿了,就發生最大的垃圾回收,STW,讓整個程式停止,
具體可以看我的另一篇博客:Java堆記憶體介紹及簡單性能調優
三、演算法
13.你最近做演算法都哪些方面的?
答:沒有刻意去練習某個方面的演算法題,我平時刷演算法主要是為了鍛煉自己解決問題的能力和思路,我更注重的是一個題目有多少個解決方案,
14.平時喜歡跑步?
問到這里,瞬間就輕松了,哈哈哈哈
總結
繼續努力,繼續復習計網、作業系統、JVM
再做一點業務代碼,練下感覺
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/171574.html
標籤:其他
