你好,我是 Guide,看了這麼多面試成功的經驗分享,今天來看一個讀者分享的 Oppo 秋招面試失敗經歷。
面經合集請看:Java面試題&面經精選集。
下面是正文(文中的我為讀者本人)。
個人情況
我的學校可能比大部分同學都比較差,是一個很一般的二本,土木專業轉的計算機專業。
大三之前一直在做 C 語言開發,期間只在課堂上學習過 Java ,對其並不是特別熟悉,僅僅使用 Java 基於 Java FX 做過一個小的課程設計,主要用到了爬蟲、MySQL、網路程式設計等技術。
大三上學期聽學長們說,Java 後端的崗位比較多,比較容易找到工作。於是,我開始主攻 Java 後端。在學長的推薦下,我使用尚矽谷作為主要的學習資料,透過 JavaGuide 線上網站(https://javaguide.cn/ ) 作為課後複習資料並使用其準備對應的八股文和知識點,平時沒事就會拿出來看看。
這兩份資料都是學長推薦的,很不錯,他畢業之後去了美團,也算是大廠了。
大概花了快一年的時間完成了 Java 後端常見知識點的學習。簡歷上一共兩個專案,一個已經上線,另外一個是跟著影片做的。跟著影片做的這個專案改了個比較像正式專案的名字,簡單完善了一下放在了簡歷上。
筆試了很多家公司,可能是因為自己沒有重視筆試或者學校比較差的原因,只有 Oppo 的筆試透過了,給了面試機會。
技術面試體驗還不錯,但終究還是涼了。。。心塞。。。
一面
- 萬年不變的自我介紹,突出個人優勢即可。
- 面試官誇我長的很精神,我:???。然後,問我平時是怎麼安排學習時間的,專案都是和誰一起做的。
- 開始瘋狂問專案。講講專案的整體業務,技術架構,自己負責哪一塊。
- 你們用的 Java 版本是什麼?Java8 有哪些讓你印象深刻的新特性?
- 為什麼會考慮使用多執行緒最佳化?有什麼好處?
- 如何建立執行緒?你比較推薦哪一種方式?為什麼?
- Java 執行緒的狀態有哪幾種?
- Java 如何保證變數的可見性?(volatile 關鍵字)
- volatile 可以保證原子性麼?(volatile 關鍵字能保證變數的可見性,但不能保證對變數的操作是原子性的)
- 瞭解 synchronized 和 ReentraLock 嗎?有何區別?如何選擇?
- 多級快取的是怎麼做的?為什麼還要再多加一層本地快取呢?對效能提升大嗎?QPS提升多少?
- Redis 資料型別有哪些?String 的應用場景有哪些?String 還是 Hash 儲存物件資料更好呢?
- 如何保證快取和資料庫的一致性?
- Redis 快取穿透、快取擊穿、快取雪崩區別和解決方案
- 想來深圳工作嗎?如何看待加班?
- 有什麼想問的?(自己進入公司之後可能會做什麼,自己的表現)
一面的面試官還挺不錯的,很有耐心,沒聽太懂的問題會再繼續給我解釋,點贊!
面試官對我評價應該還挺好的(二面面試官說的),雖然也有一些問題沒有回答上來或者回答的並不好。
個人覺得一面還是比較有難度的,問了很多併發和 Redis 相關的問題,面試官還是很有水平的。
二面
- 自我介紹
- 問專案。專案的整體業務,技術架構,怎麼分配工作的。
- 資料庫表的設計思路。
- 專案是如何部署的?上線了嗎?每天有多少人訪問?
- 為什麼要用執行緒池?專案中使用的執行緒池是使用內建的還是自己建立的?
- 執行緒池的原理,飽和策略有哪些?你專案中用到的是哪種飽和策略?為什麼?
- 專案開發過程中進行過 SQL 最佳化嗎?
- 如何找慢 SQL?(MySQL 慢查詢日誌是用來記錄 MySQL 在執行命令中,響應時間超過預設閾值的 SQL 語句)
- 如何分析 SQL 的效能?(可以透過
EXPLAIN
命令分析對應的SELECT
語句) - 專案中是怎麼使用索引的?聯合索引瞭解嗎?
- Java 多型的優點?
- String 為什麼是不可變的?
- 你在校的程式碼量怎麼樣?
- 有什麼想問的?(自己進入公司之後可能會做什麼,自己的表現)
挺奇怪的。。。個人感覺和麵試官聊的還挺好的,結果直接掛了。
說實話,看到結果的時候,我真的一臉懵逼,很絕望。還是不要抱太大的期望,期望越大,失望越大!
今年是真的難啊!!!
總結
簡單覆盤了一下自己的面試過程,個人反思自己或許在下面這些方面存在問題:
- 專案經歷的一些細節沒有回答好,可能會讓面試官覺得專案比較假,並不是真實的。
- 八股文的回答過於書面化,還是沒有吃透成為自己的知識。
- 效能最佳化相關的問題回答的過於簡單,面試官的一些追問沒有回答好。
寒假好好準備一下,繼續完善一下簡歷,刷一波筆試題,衝擊一波明年的春招,希望能夠找到滿意的工作。感謝你能看到這,也祝大家能夠找到滿意的工作!