主頁 > 軟體設計 > 金九銀十最新的美團技術四面已拿熱乎乎的offer,分享面經總結

金九銀十最新的美團技術四面已拿熱乎乎的offer,分享面經總結

2020-09-12 09:27:42 軟體設計


美團我是在拉勾網上投的簡歷,之前也投過一次,簡歷都沒通過刪選.

后來讓一位大佬幫我改了一下簡歷,重新投另一個部門,獲得了面試機會.

話不多說,看核心重點問題吧!!!!

美團技術一面20分鐘

1、自我介紹

說了很多遍了,很流暢撿重點介紹完,

2、問我資料結構演算法好不好

挺好的(其實心還是有點虛,不過最近刷了很多題也只能壯著膽子充胖子了)

3、找到單鏈表的三等分點,如果單鏈表是有環的呢

用快慢指標,一個走一步,一個走三步,如果有環,先判斷環在哪,找最后一個節點,然后用之前的無環的做法

4、講一下專案的架構

我重點講了MVC

5、說一下你熟悉的設計模式

我重點講了單例、工廠方法、代理

5、有沒有配置過服務器啥啥啥

這個我真不知道,都沒聽過呢,只能誠實說沒有,畢竟都沒法扯,

一面挺匆忙的,我估計面試官剛開完會還沒吃飯呢,他說讓我等,可能再找一個同事面我,可

能就直接告訴我結果了,

從一面面試官的聲音和口吻,我判斷他一定是個部門老大,問的設計偏多,后面hr告訴我他就

是我要去的部門的老大,哈哈,

美團技術二面60分鐘,詳細問答

面完一面正準備出去打羽毛球,北京的電話又來了,(注定這周五參加不了球隊活動了!)

二面:跟一面比起來,二面面試官的聲音聽起來就像是搞技術開發的,果不其然,一個小時的

純技術電話面試!面的特別全面!

1、Spring:有沒有用過Spring,Spring IOC、AOP機制與實作,Spring MVC

其實我挺不想被問到Spring的細節的,框架這些我都沒有復習不太記得了,所以我對面試官說

Spring里面的一些比較重要的機制我理解的還不錯,然后我用一個實際的例子把我對IOC、

AOP理解講了一下,他聽了說對,理解的不錯(難得遇到一個邊面試邊能給反饋的面試官,好開心)

Spring MVC其實我用過,我就對面試官講了我的專案中用到的Servlet,jsp和javabean實作

的MVC,以及MVC各個模塊職責以及每個模塊是怎么聯系到一起的,最后我補充了一句我想

SpringMVC的思想其實跟這個是一樣的(他說對的,嘿嘿有反饋真好)

2、多執行緒:怎么實作執行緒安全,各個實作方法有什么區別,volatile關鍵字的使用,可重入鎖

的理解,Synchronized是不是可重入鎖

這里我就主要講了Synchronized關鍵字,還有并發包下面的一些鎖,以及各自的優缺點和區別,

volatile關鍵字我主要從可見性、原子性和禁止JVM指令重排序三個方面講的,再講了一下我

在多執行緒的單例模式double-check中用到volatile關鍵字禁止JVM指令重排優化,

3、集合: HashMap底層實作,怎么實作HashMap執行緒安全

我講了一下HashMap底層是陣列加單鏈表實作,Node內部類,add的程序,Hash沖突解決

辦法,擴容,三種集合視圖,HashMap執行緒安全的實作方式主要講了HashTable、

ConcurrentHashMap以及Collections中的靜態方法SynchronizedMap可以對HashMap進

行封裝,

以及這三種方式的區別,效率表現,

4、JVM記憶體管理,GC演算法,HotSpot里面的垃圾回收器、類加載

JVM記憶體主要分為五個區,哪些是執行緒共享的,哪些是執行緒獨享的,每個區存放什么,

GC方面:怎么判斷哪些物件需要被GC,GC的方法,Minor GC與Full GC,HotSpot GC演算法

以及7種垃圾回收期,主要講了CMS和G1收集器,

類加載:類加載的程序,Bootstrap classloader-ExtClassloader-AppClassloader,父類委

托機制,

5、行程和執行緒的區別

從調度、并發性、擁有的資源和系統開銷四個方面回答的,

6、HTTP有沒有狀態,我說無狀態,怎么解決HTTP無狀態 怎么解決HTTP無狀態其實就是怎

么進行會話跟蹤,有四種方法:URL重寫、隱藏表單域、Cookie、Session,

7、Java IO,NIO,Java中有沒有實作異步IO

Java IO實作的是同步阻塞,它是怎么實作同步阻塞的,我拿了read()方法舉例來講的,

NIO實作的是同步非阻塞,我詳細講了一下Selector中的select()方法輪詢說明它是如何實作多路復用IO的,

然后對比了一下他們的效率,面試官可能看我對這一塊比較了解,又繼續問我Java中有沒有實作異步IO,我感覺好像沒有,但面試官說有,讓我想想,其實這里我并不清楚啦,所以我就對面試官講了一下我對Unix中異步IO模型的理解,然后說至于Java里面有沒有我真的不太清楚,(他居然笑了!說你理解是對的,Java里面有沒有不重要!哈哈)

8、前端會不會,Ajax是什么,Ajax實作原理

前端我只是會用一些js而已,用過jquery框架,問我Ajax全稱是啥,我猜是異步的js和xml,Ajax實作原理其實我也不懂,我就只簡單講了一下它通過XMLHttpRequest物件進行異步查詢,Ajax引擎在客戶端運行,減少了服務器作業量,

9、讓我設計一個執行緒池

因為我簡歷中有寫到我對多執行緒、并發這一塊理解比較好,所以他老問這方面的題,這個問題因為我之前看過ThreadPoolExecutor的源代碼,所以我就仿照那個類的設計思路來想的,詳細講了一下核心池、創建執行緒可以用工廠方法模式來進行設計、執行緒池狀態、阻塞佇列、拒絕策略這幾個方面,設計的還算比較周全,

10、講幾個設計模式,哪些地方用到了,為什么要用

單例模式,jdk中的getRuntime();

工廠方法模式:ThreadPoolExcutor用到ThreadFactory;

觀察者模式:java.util包下面的Observable和Observer,

最后主要講了一下工廠方法模式的使用場景,

11、Mysql優化、索引的實作

我從資料庫設計優化和查詢優化兩方面講的,

索引B+樹實作,InnoDB和MyISAM主鍵索引的實作區別,一個聚集一個非聚集,

12、事務的隔離級別

四種隔離級別,可能會出現哪些例外,mysql中默認級別,

13、有沒有用過Hibernate、mybatis、git

這個簡單講一下就好,分別是干什么的

14、Linux

我說這個本科學過,但是很久沒用,命令忘光了,他說沒事,考你幾個簡單的:cd、ls、

dir(真的是簡單的)

15、演算法題

從10萬個數中找最小的10個,時間復雜度分析(最大堆,考慮記憶體)

從一個有正有負陣列中找連續子陣列的最大和,時間復雜度分析(動態規劃)

滿二叉樹第i層有多少個節點,n層的滿二叉樹共有多少個節點

終于到我提問環節了

1、你們是什么部門(他說是核心部門,大資料研發)

2、我對高并發和負載均衡挺有興趣的,但是我平時在學校也沒有這個環境讓我在這方面有所體驗,那你建議我目前可以怎么學呢(他說這確實是不太好學,只能看些理論和別人的博客,以后作業中才能慢慢學)

3、中間件具體是做什么的,是解決高并發和負載均衡嗎(他說差不多是的,然后他說我們這個部門不是中間件,是大資料部門啊,我說恩我知道)

最后沒啥問題了,他讓我保持電話暢通,

這一面面完,口干舌燥,我一度懷疑他可能不知道我是在應聘實習生的崗位,有太多要總結的了,放在總結的地方一起講吧,

美團技術三面25分鐘

面試官說是他是另外一個部門的,需要進行交叉面試,

1、MySql優化

2、說下專案做了些什么,架構之類的

3、在collabedit上在線寫代碼,題目很簡單是編程之美上的原題,一個有序的整數陣列,輸出兩個數,使它們的和為某個給定的值,之前做過很快寫好,然后給他講思路,他繼續問如果陣列無序怎么辦,先排序,

4、兩個檔案,每個檔案中都有若干個url,找出兩個檔案中相同的url(用HashMap)

這一面挺簡單的,只是增加之前面試沒有過的在線寫代碼環節,collabedit后來我才了解,像facebook一些互聯網公司遠程面試都會用這個在線編輯器寫代碼,就是文本檔案寫,沒有提示,不能編譯運行,跟白板寫一樣,平時練練手就好,

美團技術HR四面30分鐘

三面面試官說他那就是終面,說我過了等hr聯系我,萬萬沒想到半小時后的hr面居然也是技術,

1、自我介紹,都四面了還自我介紹?!我還以為是單純的hr面,所以介紹的都是我的性格和生活方面的,結果并不是,

2、問專案,問的特別特別細,技術細節,還有遇到什么問題,怎么解決的,做專案有沒有人帶,怎么跟別人溝通的,

3、資料庫優化,如果資料庫一個表特別大怎么辦 資料庫優化我就講了之前講過很多遍的點,他問一個表特別大怎么辦:大表分小表,怎么實作:使用磁區表

4、確定入職時間 這一面確實讓我感到有壓迫感,專案是本科做的,挺久了,一些技術細節上

也沒太總結,所以問細了我只能連想帶編,

上面的這些面試題都整理成了PDF檔案,希望能幫助到你面試前的復習并找到一個好的作業,相對來說也節省了你在網上搜索資料的時間來學習!!!

Java核心面試寶典

  1. JVM

  2. JAVA集合

  3. JAVA多執行緒并發

  4. JAVA基礎

  5. Spring原理

  6. 微服務

  7. Hetty與PC

  8. 網路

  9. 日志

  10. Zookeeper

  11. Kafks

  12. Rabbi tMQ

  13. Hbase

  14. MongoDB

  15. Cassandra

  16. 設計模式

  17. 負載均衡

  18. 資料庫

  19. 一致性演算法

  20. JAVA演算法

  21. 資料結構

  22. 加密演算法

  23. 分布式快取

  24. Hadoop

  25. Spark

  26. Storm

  27. YARIN

  28. 機器學習

  29. 云計算

四面阿里巴巴如愿拿到offer定級P7,為此我籌備了半年

求來的大廠面試場景(為了學習提升可以沒臉沒皮,啊哈哈哈)

我針對這些大廠的面經場景也找了很多題刷,對自身的提升也是非常大(還特意要了份面試答案)

四面阿里巴巴如愿拿到offer定級P7,為此我籌備了半年

美團部分面經

四面阿里巴巴如愿拿到offer定級P7,為此我籌備了半年

好未來面試場景

四面阿里巴巴如愿拿到offer定級P7,為此我籌備了半年

分享一些我個人的學習檔案,有需要的朋友自行選擇獲取:

1、面試檔案專題整理

既然是要面試,那么就少不了刷題,實際上春節回家后,哪兒也去不了,我自己是刷了不少面試題的,所以在面試程序中才能夠做到心中有數,基本上會清楚面試程序中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備程序中非常重要的一點,

根據自身面試經歷整理以及不斷收集的(珍藏版)

四面阿里巴巴如愿拿到offer定級P7,為此我籌備了半年

相關的電子書、底層原始碼

四面阿里巴巴如愿拿到offer定級P7,為此我籌備了半年

阿里巴巴必備學習知識點

四面阿里巴巴如愿拿到offer定級P7,為此我籌備了半年

最后

很多人感嘆“學而無用”,實際上之所以產生無用論,是因為自己想要的與自己所學的匹配不上,這也就意味著自己學得遠遠不夠,無論是學習還是作業,都應該有主動性,所以如果擁有大廠夢,那么就要自己努力去實作它,

以上學習資料均免費放送,最后祝愿各位身體健康,順利拿到心儀的offer!

資料獲取方式:轉發和評論這篇文章,然后關注小編,加V:MXW5308 即可打包帶走所有資料~

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/12936.html

標籤:其他

上一篇:莫隊演算法 --演算法競賽專題決議(26)

下一篇:程式員,找作業該如何避免寫出垃圾簡歷?這4個坑不能踩!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more