面試崗位
面試的崗位 - 2025春季校招 【轉正實習】軟件服務工程師-后端方向(成都 - 軟硬件服務-SaaS事業部)
一面(業務初試 - 30min)
問題
自我介紹
Java基礎
- HashMap底層用的數據結構是什么?是線程安全的嗎?那如何實現刪除安全?
- 隊列和棧的區別?
- 說說你對Java反射的理解?了解哪些東西?
- Mybatis和MybatisPlus的區別?
- 了解哪些設計模式?詳細說一下抽象工廠
- MySQL的聚簇索引和非聚簇索引的區別
- MySQL的隔離級別是哪幾種?MySQL默認的隔離級別是哪一種?會引發什么問題?MySQL解決幻讀了嗎?
- MySQL日志了解哪些?
- MySQL分頁查詢如何做?
- Redis常用的數據結構?set和zset的區別?
- Redis的持久化策略有哪些?各有啥優缺點?各用在那些場景下?
- 你知道那些MQ?MQ的作用?MQ的區別?
- Linux會那些命令?
- 如何進行JVM調優?
- 堆和方法區里面分別存的哪些東西?
計算機網絡
- HTTPS是如何實現的?
- 一次網絡請求會遇到那些協議?
- 一個機器上出現大量Tomcat套接字是什么導致的?
- TCP快速重傳是如何實現的?擁塞控制呢?
如何學習
- 平時如何學習,自己的學習過程?
- 會通過項目的方式去練習這些知識嗎?重復去學習?
- 到現場實習大概多久?
現場筆試
- MySQL筆試題
提問環節
后面二面,這里暫時沒有提問。
二面(業務復試 - 60min)
問題
自我介紹
個人的優缺點?
閑聊。。。。
實習經歷拷問
- 定制化需求開發時,如何把代碼侵入降到最低?對標準的能力沒有侵入或者沒有感知?
- 基于標準的系統,做功能的二開,你覺得如何設計才能保證對標準系統侵入要小一些
- JVM調用時如何操作的?
- JVM調優的相關參數有了解嗎?
- 如何優化慢SQL?如何找到存在的問題,如何去優化?
項目拷問
- 基于令牌桶如何實現庫存超賣問題?
- Redis去扣減完,但實際上下單時,因為系統的宕機、重啟導致真正下單的流程失敗,那如何保證客戶能搶到秒殺的物品
- 現在用Redis來保證看庫存不會超賣,假設現在Redis中有50個獎品,現在有1萬個用戶來搶,是不是只有50個請求走到發MQ的邏輯,那9. 剩余9950個請求是如何處理的
- 如何保證消息隊列的數據請求和消費一定成功呢?
- 這樣就會使用到重試機制,就可能會導致一條消息會被消費多次,如何保證消息有且只有一次消費?
- 消息如何實現冪等,就靠消息版本號嗎?
自主設計
- 有用過LRU(最近最久未使用)算法,如果讓你來實現這個算法,你改如何實現? --> 雙向鏈表
- 鏈表新增和刪除的時間復雜度,查詢的實現復雜度?能不能把查詢的O(n)復雜度降低到O(1)?
如何學習
- 對新的知識學習過程中,剛開始可能會有點懵,你是如何就學習的呢?
- 你在整個學習的過程中有遇到比較大的困難和挑戰嗎,是如何解決的?
- 在整個項目開發中有了解過線程池的概念嗎?
- 你對自己的職業規劃和發展是怎樣想的?
- 你覺得自己現在和初級工程師的差距在哪里?
- 你覺得工作經驗和寫碼這塊,從初級到中級,你打算花1年,2年,還是多久去打造?
- 你覺得和他(同學,同一個面試官,我和同一個項目組)比有啥優點和缺點?
現場筆試
- 算法筆試題 - 反轉鏈表
提問環節
我:結合這場面試,面試官您對我未來或者學習有什么建議嗎?
HR:整體,好的方面,就是說,我覺得還是挺務實的,做事非常的扎實,感覺的出來是一個有學習能力的人。建議的話,對于一些知識的掌握上,靈活度(我想做的更好但是不知怎么做)的應用上還需要提高,這可能需要你對知識的原理比較深入的了解,你可能才能做到靈活應用。一方面是看,另一方面是看過了之后更多深入的思考。第二個建議,就是不太建議剛開始就去學很多的中間件的用法,去追求知識的廣度,這些東西學起來很快,遲早都能學,只要有場景。關鍵是去學習中間件背后的一些原理以及他為啥這樣去做,到底解決哪些問題。技術背后的邏輯是相同的,例如RabbitMQ的基本原理全部弄清楚后,可能對高性能、高可用、和高并發上的設計,大概就是相同的,就是場景不一樣,針對不同場景進行定制化的設計,但背后的邏輯都是相同的。
。。。
技術行業,沒有一個東西是絕對的好,需要自己有一個思辨的過程,都是基于面對的問題,進行折中的一個選型
。。。
對于工程而言,SpringAI也就只是一個工具,還是學工具背后的原理
三面(HR面試 - 20min)
問題
- 簡單的自我介紹,包含一個點(當前除了美團之外還有哪些機會,以及對工作地的期望)
- 北上廣有考慮嗎?
- 除了美團這塊還有其他的公司同步再看嗎?或者說去那個行業工作呢?
- 你的實習的經歷,你的工作職責,團隊有多少人,如何分工,解決了啥問題?
- 在實習過程中,有遇到啥具有挑戰的事情嗎?
- 這段實習經歷下來,有啥感受,有沒有一些認知或者想法?你在大學中沒有的,你在這段實習中才有,或者說一開始你認為是A但是你實習后發現是B?
- 在這段實習經歷中有啥是你不太能接受的?一些工作的細節讓你很反感?或者說你覺得很奇怪,為什么會有這種情況產生?為什么會發生這些事情?為什么會是這人給獎等等這些情況,包括不限于?
- 到現在這個階段,你還是認為這個觀點嗎?還是說會有些變化?
- 你對你自己找的這份工作期待嗎?或者你想找一個什么樣的工作呢?
- 最近你沒有和學長學姐了解過互聯網企業或美團這樣一些不好的地方,不知道你有沒有上小紅書提前去查一查?
- 你有沒有刷到過或者和朋友這些,細致的了解過工作,就算你是程序員,你的工作也不只是寫代碼,其他的工作萬一你不喜歡怎么辦?
- 你對你的薪水有期待嗎?這里指的是你成為正式員工,大概期待的月薪是到怎樣的一個區間呢?
- 你有什么愛好嗎?
提問環節
我:通過這場面試,面試官您對我未來的發展提一些建議吧!
HR:你現在還在實習,你可以提前看一看互聯網公司是不是你理想中的一個工作,多方了解一下。。。在入職之前要有一個比較好的認知或者說提前做一個輸入也好,在未來不管你在哪一家公司,你能干的更好的前提是能不能干的更久(人生價值觀、理念、風格、體驗等其他方面和公司契合度越高,在公司落地成功的機率就越高,你的技術能力提升和實踐機率就越大)!。。。
總結
這三輪面試下來,個人感覺這個崗位對校招生還是很友好的。一面主要是考察Java基礎和計算機網絡相關知識,Java基礎還好,但是計算機網絡就有點汗流浹背了;二面主要是對你項目的拷打,給我的感覺很好,開始我給面試官的影響很好,狀態很放松;三面,主要對你的一個綜合的考察,還是很輕松。歡迎大家在評論區交流!