疫情期間,還在為面試發愁嗎?一線互聯網面試經驗助你拿到offer


疫情期間,還在為面試發愁嗎?一線互聯網面試經驗助你拿到offer

聚美&京東之成功面試分享!

聚美優品

結果:拿到Offer

崗位:高級Java工程師

筆試題目:

Java內存管理

HashMap HashTable ConcurrentHashMap LinkedHashMap的區別

異步模式的用途和意義

寫字符串反轉函數

final static volatile等修飾符的用法

社交網站中的“私信”功能,要求高併發、可擴展等等。 畫一下架構圖,和簡單說明。

常用的設計模式,並重點說明觀察者模式。

MVC模式,即常見的MVC框架

消息中間件的用途,和自己用過的一些消息中間件。

第一輪面試:

為什麼離開上家公司

Mysql的索引類型

一般索引和聯合索引內部機制上的區別

elasticsearch的倒排索引(得到一個信息,目前大數據企業基本上都開始採用ElasticSearch了)

redis的list結構相關的操作

redis cluster的應用和優劣勢

給定一個不知道長度的(可能很大)輸入字符串,設計一種方案,將重複的字符排重

常用的排序算法,快排,歸併、冒泡。 快排的最優時間複雜度,最差複雜度。冒泡排序的優化方案。

二分查找的時間複雜度,優勢。

一個已經構建好的TreeSet,怎麼完成倒排序。

大概說一下多線程架構模式,並繼續追問了reactor架構模式。各類模式的優缺點。

聊了下曾經參與設計的遊戲服務器的架構。

應用服務器怎麼監控性能,繼續追問,對各種方式的對比。

redis使用有什麼注意點沒有,比如redis的1k問題、redis鍵的推薦命名方式等。

非常多個線程(可能是不同機器),相互之間需要等待協調,才能完成某種工作,問怎麼設計這種協調方案。

java同步機制的wait和notify

第二輪面試:

為什麼離開上家公司。

詳細問了我在每家公司的情況。

介紹了做過的兩個項目的架構圖。

從0-1組建項目團隊怎麼組建。

技術選型怎麼選。

如何滿足需求。

自我感覺筆試題答的如何,Linux簡單命令。

作為leader,在開發過程中,有木有什麼規範。

介紹應聘的崗位主要是和大數據相關的,有了解麼,覺得自己能勝任麼。

問我在現在公司,和其他人比,是什麼程度。相比其他同事,我有什麼比較優勢。

談薪資要求,並給出了和HR談的建議薪資。

是否介意加班。

第三輪面試:

聊各家公司的經歷。

介紹薪資體系。

後記:本來說定的2天后給答覆,後來,在週一HR主動給我打電話,說再等兩天,再後來我主動打電話,又說還得等一週左右。

經驗:高級職位的話,大公司比較少當天就給offer,慢慢等吧,不管你和麵試官聊的多投機,都別以為“定了”。往好的方面想,可能是在走流程;往壞的方向想,可能正如網上所說,大的公司一般都會同一個職位面試多個人之後,再做決定。要有等待的心理預期。

最終,在大概10天后發了Offer。

京東成都研究院

結果:拿到Offer

崗位:高級Java工程師

第一輪面試:

Java線程池的實現原理

線程是否可以共享。線程池如何實現線程共享的。

JVM的內存結構。

Java鎖機制的實現原理(主要是畫Monitor示意圖)。

Spring怎麼配置事務(具體說出一些關鍵的xml 元素)。

MySQL的索引類型,以及B+樹具體怎麼存儲的,每個節點都存的什麼東西。

Redis的數據結構都有哪些。

開閉原則怎麼應用。

ConcurrentHashMap的實現原理。

線程的狀態圖。

之前設計的項目架構圖。

數據層分庫分表的一些知識。

如果有人惡意創建非法鏈接,怎麼解決。

多線程的內存視圖(線程內存、主內存),以及內存可見性。

volatile關鍵字的理解。

本來要繼續,因為時間中午了,說是下午一點半繼續部門經理面試。 而且說,覺得我比較match,希望儘快安排面試,如果ok,就儘快到崗。

第二輪面試:

自我介紹。

編程中自己都怎麼考慮一些設計原則的,具體討論了開閉原則,以及在工作中的應用。

自己最驕傲的項目的詳細設計,以及討論。

緩存數據過期後的更新問題。

如何設計一個類,主要討論了類粒度的問題。

第三輪面試:

主要是介紹部門情況,考察是否和團隊匹配,比較在意一個人的職業素養、穩定性等方面。談了薪資要求。同時說,HR面完之後,有時候可能要求增加一輪技術面試。

之前第一輪面試我的人過來說的,和我大概說了下原因:本來說的是接下來直接和HR談,但是後來說的是由於成都研究院組織架構調整,HR太忙,說是會聯繫我。如果一週內沒有聯繫我,讓我電話聯繫之前發郵件的那位同事。

HR面試:

大概在10天以後,HR打給我電話,說是同時在考察幾個候選人,所以中間時間比較晚。最終決定我更match ,定級T3-2研發工程師。

總結:

對於大公司而言,只要是技術崗的面試,還是比較重視編程基礎,包括但不僅限於:現場白板編程、基本排序和查找算法、Java基礎和併發包相關類,多線程模式、Socket等等。

工作年限是把雙刃劍,經驗越多,別人對你的要求越高,因此,如果你的工作年限和你的工作經驗不成比例的話,很難獲取到高級職位。

應聘高級開發職位時,相比較而言,會有更多的開放性問題,這些問題通常會圍繞著簡歷上的項目展開,越是大公司,就單點的問題越深入,反而不會特別要求你知識的“廣度”。因此,“知識廣度是知識深度的副產品”這句話還是很有道理的。

平常做產品或項目的過程中,一定要總結,不限於技術總結,也包含解決問題的思維方式、教訓、方案優劣性的總結

以上面試分享 ,來源網絡。


分享到:


相關文章: