我的奇葩面試經歷:喊價25K,HR 卻給了30K

本文是minus同學投稿的面試經驗分享Dgb網站分類目錄

在此感謝minus同學分享自己的面經供廣大同學參考Dgb網站分類目錄


Dgb網站分類目錄

寫在前面

本文是樓主前兩個月 N 家公司的面試經歷,總結復盤了面試現場,個人認為干貨還是不少,在此和大家分享。Dgb網站分類目錄

ps:至于標題所說的薪資,是面試過程中一個有意思的小插曲,但是確有其事,不是標題黨。。。這里先賣個關子,請各位看官往后看!^_^Dgb網站分類目錄


Dgb網站分類目錄

自報家門

先做個自我介紹,樓主坐標帝都,5年經驗,跳槽之前在一家傳統小公司,年薪21萬。Dgb網站分類目錄

這次面試前前后后大概兩個月的時間,面試了大概 6 家公司,命中 4 家,最終去了一家估值 70 億美金的生鮮電商獨角獸,年薪42萬,剛好翻倍。Dgb網站分類目錄

面試過程

話不多說,直接進入面試現場!Dgb網站分類目錄

好未來Dgb網站分類目錄

開始面試第一天上午投遞好未來,下午3點面試,一共面試了3輪,問的問題比較多。Dgb網站分類目錄

第一輪Dgb網站分類目錄

面試官看了我的簡歷,首先讓我畫出eureka的執行流程,這塊在之前的準備過程中有深入看過,因此比較流暢的畫出來并配合解釋說明Dgb網站分類目錄

之后問到項目中使用分布式鎖解決緩存重建并發的問題,并要求畫出實際的執行流程,數據庫也問的比較多,像事務的隔離級別,MySQL實現可重復讀的原理,索引等Dgb網站分類目錄

面試官給出了一個場景,在數據庫主從同步的情況下,如果從庫同步主庫的數據延遲比較高,怎么才能在寫到主庫后立刻能夠讀取到數據。Dgb網站分類目錄

我解釋了主從同步的原理,并以此說明主庫到從庫的復制一定是有延遲的,因此要保證當寫到主庫的時候立刻能讀到數據,要么就直接配置那個接口讀數據的話直接走主庫,因為這種寫完主庫立刻要讀取數據的場景比較少,可以做些特殊配置。Dgb網站分類目錄

另一種方案就是在往主庫寫數據的時候,可以直接往內存緩存中寫一份,設置一個較短的過期時間,后面可以直接從緩存中讀到數據。我說完之后,面試官也沒給出評價,就這么過去了Dgb網站分類目錄

此外,還問到一些基礎性的問題,比較印象深刻的是:在加鎖的時候,用什么鎖對象是內存占用最小的,我說是Object對象,面試官說不對,我一時沒想出來,面試結束后和朋友探討,覺得應該是長度為 0 的 byte 數組Dgb網站分類目錄

其他還問到了Collections.sort()使用的排序算法,aqs,線程池,ThreadLocal等等問題,主要都是一些考察基本功的問題,一輪面試就這么過去了!Dgb網站分類目錄

第二輪Dgb網站分類目錄

面試官更關注對一些技術的理解,問到了ElasticSearch的一些基礎以及它和mysql的區別在哪里;eureka 和 zookeeper 做服務發現的區別在哪里;Dgb網站分類目錄

還問了分布式限流有哪些方案,以及用線程池進行限流的缺陷是什么,項目中系統日志的處理;還有 JVM 模型,JMM 模型,垃圾回收機制,垃圾收集器等問題。Dgb網站分類目錄

之后聊了一些設計模式的使用,在項目中使用了哪些設計模式,對設計模式的幾個原則的理解。Dgb網站分類目錄

第二輪結束后,由于第三輪的面試官在開會,所以等了一段時間,等面試官來了之后,只聊了很短時間,面試官就說還有別的事,今天先到這里了。Dgb網站分類目錄

主要問到了上家公司的加班情況,對加班的認識,職業規劃,也問了幾個技術問題,像tomcat的優化這塊,自我感覺答的不是很好。Dgb網站分類目錄

整個面試從3點到7點,有點虎頭蛇尾的感覺,結束后也沒有消息了Dgb網站分類目錄

58 到家Dgb網站分類目錄

面試一共三輪,上午10點過去,兩輪技術面,下午兩點過去,等了一會,然后跟hr聊了有半個多小時,HR說明在一周之內會有結果Dgb網站分類目錄

第一輪Dgb網站分類目錄

第一輪面試官的問題主要集中在基礎上,我大概羅列了問到的一些問題,不同的簡歷不同人肯定問的也不太一樣,有興趣的同學可以參考看看。Dgb網站分類目錄

主要是 jvm 模型,鎖的原理,synchronized 和 reentrantlock的區別,偏向鎖/輕量級鎖/重量級鎖的原理,能否從偏向鎖直接升級成重量級鎖。Dgb網站分類目錄

java并發包里有哪些類,如何使用,線程池原理和參數配置,jvm調優,堆大小的設置,多線程的線程數的設置,volatile原理,threadlocal原理和使用。Dgb網站分類目錄

redis和zookeeper如何實現分布式鎖,redis的數據類型,一些具體命令,比如要獲取一個有序列表的前10個元素應該用什么命令。Dgb網站分類目錄

數據庫索引的使用,聚簇索引和非聚簇索引,沒有主鍵的話數據如何組織。Dgb網站分類目錄

B+ 樹的原理,Innodb 引擎和 myisam 引擎的區別和使用場景,數據庫隔離級別和原理,MySQL的分庫分表,mq的可靠性和順序性,es插入數據的原理等。Dgb網站分類目錄

第二輪Dgb網站分類目錄

第二輪是部門leader來面試,這輪面試主要集中在框架源碼上,我畫出了源碼的執行流程,之后面試官在一些點深問,因為這塊我看的比較全面,問的問題基本都答出來了Dgb網站分類目錄

然后這里面試官還問了在源碼中我有學到什么東西,我講了使用配置類代替 properties 文件,volatile 在單例模式中的使用,內存的多級緩存機制,線程池的各種不同應用場景,MeasureRate統計一分鐘內心跳次數,批處理機制等。Dgb網站分類目錄

這里我的回答主要集中在代碼編寫層面,也可以從架構層面說下學到了哪些,我覺得后者更有高度。Dgb網站分類目錄

最后我向面試官咨詢了這個崗位具體做的事情,部門是基礎服務部,面試官畫圖給我說明了部門內部一些項目劃分,技術棧的使用,后續的規劃等內容,并約我下午繼續跟hr聊Dgb網站分類目錄

hr面Dgb網站分類目錄

下午跟hr的面試,hr順著簡歷上的公司一個個聊,問了離職原因,公司情況,如何向上司提出離職的,團隊規模,是否帶團隊。Dgb網站分類目錄

還問了上午面試的崗位知不知道具體要做什么,之后hr說了下公司的一些情況,上班時間,福利,加班情況,問了我現在的薪資情況,期望薪資,我問了下出結果的時間,hr說一周之內。Dgb網站分類目錄

第二周的周五下午六七點的時候,這家公司hr給我打電話,告訴我面試通過了,之后提到了給我的薪資,算下來竟然只給了我一個5%的漲幅。Dgb網站分類目錄

hr給出的解釋是,因為我前家公司上一年只發了12薪,而他們有12薪和兩個多月的績效,用14個月的薪水除以12,算下來平均到每個月也能達到我期望薪資的水平。Dgb網站分類目錄

這個計算方法實在是膈應人,雖然hr后來表示可以跟CEO申請提高每月的base(大概提高到10%的水平吧),不過當時我已經有較為滿意的offer了,還是決定不去這家了Dgb網站分類目錄

某生鮮電商獨角獸Dgb網站分類目錄

由于前面說了薪資,就不說具體公司名字了。這家公司我面試了兩天,一共三面,第一天筆試加初面,然后第二天有兩輪復試。Dgb網站分類目錄

第一輪Dgb網站分類目錄

一面主要還是基礎,集中在IO / 并發 / 緩存 / redis / zookeeper / 分布式 / JVM / 數據庫等。Dgb網站分類目錄

其中問到 redis 的單線程模型的時候,我這塊了解的不是很清楚,只是知道使用NIO的方式,然后以自己的理解去說了,面試官表示這可能是我看過別的框架的模式,跟redis搞混了,不過也算是答上來一些了。Dgb網站分類目錄

之后聊了一些項目的情況,比如每日的訪問量有多少,qps多少,訂單量多少等數據,據此得出數據庫的訪問壓力如何。另外也深入問了使用分布式事務的一些問題,還有分布式事務在時間上的性能。Dgb網站分類目錄

所以這里給各位兄弟強調一下,對自己的項目一定要非常熟悉,各個點都要考慮到。Dgb網站分類目錄

一面跟面試官聊的還挺好,面試官也表示我的基礎還不錯,問我是不是平時都有學習,之后就是約二面了,由于當時已經下午1點了,后面的面試官也在中午休息,而我下午也還有別的面試,因此hr跟我約第二天來復試Dgb網站分類目錄

第二輪Dgb網站分類目錄

二面的面試官也聊了基礎和一些設計上的問題,比如同時訪問三個有相同功能的api,要求將執行最快的結果返回,有哪些方式,這塊主要還是考察對并發編程,并發控制的理解和掌握,有一些并發控制的類能夠做到;Dgb網站分類目錄

其他的還問到了,要開發一個新的api,需要考慮哪些方面,把所有要考慮的地方都說出來,大家可以說下邊界處理,高可用,并發問題,可擴展性,冪等性,重試機制等等,可以說的非常多Dgb網站分類目錄

總體問了有6塊內容吧,面試官一邊問也一邊在記錄,一些基礎的問題這里就不再多說了Dgb網站分類目錄

第三輪Dgb網站分類目錄

三面的面試官問的要更底層一些,Java線程與內核線程的關系,與進程的關系;關于并發我所了解的方方面面。Dgb網站分類目錄

對于這個,我從為什么有并發,并發問題產生的根源,解決并發問題的一些理論,Java中解決并發問題的方式,不同方式的適用場景和對比等方面進行了回答Dgb網站分類目錄

另外還問到redis的幾種數據類型,以及每種數據類型的底層實現,跳表這種數據結構如何插入數據, hash如何擴容。Dgb網站分類目錄

這塊我跟面試官說具體擴容規則不太了解,然后向面試官說了我了解的Java中的HashMap 的擴容規則和具體實現。Dgb網站分類目錄

tips:面試時如果遇到自己不太熟悉的部分,可以稍作變通,把自己熟悉的內容和面試官的問題結合起來。Dgb網站分類目錄

之后又問了一些小的知識點,有的也沒答好,像 copyOnWrite 就不知道用來做什么,然后就是一些為什么離職之類的問題,對未來職業發展的考慮等。Dgb網站分類目錄

之后面試官問我有什么想了解的,也問了我的期望薪資,我說了具體的數,也表示沒想要太多,更看重平臺的發展,最后面試官說明天hr會打電話給我Dgb網站分類目錄

HR面Dgb網站分類目錄

最后就是跟hr的溝通了,第二天hr打來電話告知面試通過,然后問了我期望薪資,溝通入職時間,之后加微信,按照hr的要求提供了一些材料,第二天就收到offer了Dgb網站分類目錄

ps:最終樓主選擇了這家公司,除了很有競爭力的薪資之外,我還很看重這家公司的發展平臺,因為他們有非常大的用戶量,會遇到各種技術挑戰,是很好的提升鍛煉的機會。Dgb網站分類目錄

然后這里有一個開篇提到的小插曲:當時HR電話問我期望薪資的時候,我說25K。Dgb網站分類目錄

結果后續加微信聊天時,HR告訴我技術面試的反饋很好,決定給我28K,一個月還有2500的補助,算下來一個月有30K,發14個月。這種HR主動加薪的事情我還是第一次見,意外之喜,哈哈!Dgb網站分類目錄

玩吧Dgb網站分類目錄

這家公司的職位是去做app后臺的,用戶量也不錯,面試一共兩輪技術面,最后是hr面。Dgb網站分類目錄

第一輪Dgb網站分類目錄

一面的時候,網絡這塊問的比較多,三次握手,四次揮手什么的,還有整個網絡請求的執行流程,數據包的大小,對長連接的理解等。Dgb網站分類目錄

然后數據庫這塊也問了一些,提供了一個場景,假如要實現一個最簡單的朋友圈,用戶可以看到朋友的朋友圈動態,朋友也可以看到用戶發的動態,然后問表的設計。Dgb網站分類目錄

我說了自己的實現,像用戶表,好友表。面試官問有沒有更好的方式,我沒答上來,面試官表示這個輕易可能想不到,就問別的問題了,別的也沒什么特殊的問題,都是一些基礎的東西,大概聊了一個小時吧,就到了第二面了Dgb網站分類目錄

第二輪Dgb網站分類目錄

二面是技術總監面的,整體沒怎么聊技術,就是一些個人素質上的考察。比如:Dgb網站分類目錄

  • 為什么會選擇做開發,沒做別的Dgb網站分類目錄

  • 用三個短語來描述自己的優點Dgb網站分類目錄

  • 說說自己的缺點Dgb網站分類目錄

  • 現在公司有系統穩定運行著,如果你發現了有新的技術能夠改善現有系統,你會不會引進,會考慮哪些方面Dgb網站分類目錄

  • 日常學習的方式,看過哪些書Dgb網站分類目錄

  • 有沒有帶團隊,描述下團隊成員的優缺點,有沒有改善Dgb網站分類目錄

  • 有沒有面試過別人,會從哪些方面考察Dgb網站分類目錄

  • 職業規劃是怎樣的,想做技術管理還是技術專家Dgb網站分類目錄

  • 對shell熟不熟悉,寫個word-count用到哪些命令Dgb網站分類目錄

最后還聊了下公司的氛圍,項目的情況等。然后也沒啥特殊的,就過了。Dgb網站分類目錄

HR面Dgb網站分類目錄

最后跟hr聊,主要還是說了下公司的福利待遇,公司的氛圍,也問了我現在有沒有offer,對他們的感覺怎么樣。Dgb網站分類目錄

然后問了之前公司的薪資和現在的期望薪資,最后加了微信,告訴我兩天內給結果。最后也是成功通過了面試并拿到了offerDgb網站分類目錄

友信金服-人人貸Dgb網站分類目錄

這家公司面試有三輪,大同小異,這里簡短的說一下Dgb網站分類目錄

第一輪Dgb網站分類目錄

一面仍然是基礎的考察,像CAS的理解,和它存在的問題,ConcurrentHashMap的鎖機制,ElasticSearch倒排索引,eureka的底層源碼,還有服務訪問的重試機制等等Dgb網站分類目錄

第二輪Dgb網站分類目錄

二面上來問了垃圾回收的問題,類似下面的代碼:Dgb網站分類目錄

我的奇葩面試經歷分享:喊價25K,HR 卻給了30KDgb網站分類目錄


Dgb網站分類目錄

問a和b能否被垃圾回收?Dgb網站分類目錄

這里主要考察jvm如何判斷一個對象是否可以被回收,是通過引用計數還是可達性分析,引用計數的方式會產生像上面代碼一樣的循環引用的問題,所以jvm沒有采用這種方式。Dgb網站分類目錄

第二個問題是,如果有個跟java中原生的String一摸一樣的類,包括包名,類名都是一樣的,方法也是一樣的,唯獨比原生的String的方法多個打印輸出語句。Dgb網站分類目錄

然后把它放進項目的依賴中,在寫程序的時候,導入String類,問到底執行的是Java原生的String的方法還是自己寫的String方法。Dgb網站分類目錄

對于這個問題,可以考慮下Java中類加載的雙親委派模型。Dgb網站分類目錄

然后就聊了項目的一些架構,問的比較細,要求我對每塊都詳細畫圖解釋。Dgb網站分類目錄

最后就是讓畫一個spring cloud技術棧所有框架的整體執行流程圖,并對hystrix的限流熔斷機制做了解釋說明,別的好像也沒什么了Dgb網站分類目錄

這之后二面算是結束了,面試官和我說了下自己團隊的情況,人員情況,要做的項目的情況等。Dgb網站分類目錄

第三輪Dgb網站分類目錄

最后一面是業務總監面的,面試官讓我說了下自己在公司做了哪些事情,我挑其中一個項目做了仔細說明,然后說了下職業規劃,對行業的看法等等Dgb網站分類目錄

最后hr和我加了微信,同樣說是兩天內給結果,不過第二天他們就給出通過的結果了,然后發了offerDgb網站分類目錄


Dgb網站分類目錄

某實時數據分析服務公司Dgb網站分類目錄

這是一家做體育賽事的實時數據分析展示的公司,公司不大,去年拿了A輪融資,看網上整體評價還不錯,就去試了試。Dgb網站分類目錄

面試總共有技術兩輪,hr一輪。去的時候首先是寫筆試題。做完之后進入面試。Dgb網站分類目錄

第一輪面試官沒有聊太久,問的問題也比較偏基礎,就是一些面試常問的問題,然后說了eureka的執行原理,說完之后,面試官就去叫技術總監了Dgb網站分類目錄

第二輪面試是技術總監面的,技術點沒問太多,主要集中在之前的筆試題上,筆試題包括sql的考察,還有幾道算法題:找出有序數組中指定元素出現的次數;二叉查找樹從小到大排序。因為時間的問題,我主要寫了實現思路;Dgb網站分類目錄

還有一題是,有16瓶水,其中一瓶有毒,小白鼠喝一滴有毒的水一小時后會死,要在一小時找出來哪瓶水有毒最少需要幾只小白鼠Dgb網站分類目錄

在sql的考察這塊,面試官看完我的答案后,又改了其中的需求,要求給出sql的實現,另外也問到了sql的執行效率。Dgb網站分類目錄

這里給大家強調一下,我面的基本上每家公司面試都會問到數據庫,所以這塊還是挺重要的,需要重點去看Dgb網站分類目錄

然后關于找出有序數組中指定元素出現次數的問題,原來要求的時間復雜度是O(lgn),后來面試官說不要求任何時間空間復雜度,如何簡單的實現,我給出的方案是用HashMap,相同的key每出現一次,value加1Dgb網站分類目錄

然后是小白鼠問題,說了解題思路,主要就是用位的思想,對16瓶水編碼,實際只需要4個位就可以Dgb網站分類目錄

之后面試官還現場出了別的算法題,我基本都給出了結果,總體而言面試還比較順暢,之后聊了下職業規劃,技術發展,學習新技術的方法,面試官也聊了之后他們準備做的事情,并給我現場演示了他們的項目Dgb網站分類目錄

最后到了hr面,主要聊了下上家公司離職的原因,公司福利,上下班時間,我的期望薪水,還問到之前有沒有帶團隊的經歷等Dgb網站分類目錄

最終他們在第二周的周四才給出面試通過的結果并表示正在走offer流程,由于CEO不在,在薪資上還沒最終確定,我因為有了更滿意的offer,因此婉拒了Dgb網站分類目錄


Dgb網站分類目錄

總結

總結一下,這兩個月的面試,我覺得最重要的就是基礎和項目這兩塊,基礎一定要扎實,否則第一輪面試可能都過不了。Dgb網站分類目錄

jvm,并發是非常高頻被問到的地方,在開始面試之前一定要好好準備,另外也需要有自己非常熟悉的領域,在這個領域里面試官的一切問題你都可以hold住,我覺得,對于這種基礎好,而且有自己長處的面試者,面試官沒有理由不喜歡。Dgb網站分類目錄

還有項目這塊,對項目的細節一定要清楚,各種方案的設計思路,實現細節等等都要了如指掌,這樣在面試官對各種細節的追問下不至于手忙腳亂。Dgb網站分類目錄


Dgb網站分類目錄

該文章由小哈站長目錄網編輯發布,僅為傳遞信息,不代表認同其觀點或證實其描述!如有侵權請及時告知刪除!

棒棒噠,贊一個! ()

相關推薦