1. 程式人生 > >2017年秋招美團Java程式設計師開發,看我如何拿到offer

2017年秋招美團Java程式設計師開發,看我如何拿到offer

本人是一名本科畢業非計算機專業的程式設計師,面了阿里,結果沒過,最後面上了美團,熱乎乎的面經,昨天面的美團,雖然面完了HR面,但是感覺希望不大,希望能走運拿到offer吧。記性不是太好,有一些問題沒能記住,三面技術面面經如下:

這裡寫圖片描述

美團一面:

中間省略掉大概幾個問題,因為我不記得了,下面記得的基本都是我沒怎麼答好的。

1、瞭解SOA,微服務嗎?

2、分散式系統如何負載均衡?如何確定訪問的資源在哪個伺服器上?

一.輪詢。二.隨機。三.最小響應時間。四. 最小併發數。五.雜湊。

3、設計一個分散式負載均衡緩衝系統,如何快速定位到是那個伺服器(使用key分段、一致性hash)

4、如何保證緩衝區和資料庫之間的強一致性(使用加鎖)

5、HashMap高併發情況下會出現什麼問題,(擴容問題)

6、說一說在瀏覽器中輸入一個url後,直到瀏覽器顯示頁面的過程中發生了什麼(我主要說了DNS,然後他有接著問了DNS的細節,然後就是ARP路由,然後伺服器處理,返回,瀏覽器呈現,獲取html中的依賴資源)

7、字串中句子的反轉(比如ABC DEF,輸出DEF ABC)(很簡單,可以先反轉整個字串,然後反轉單詞,或者先將句子切分為單詞,然後反轉);

8、給任意二叉樹的所有結點加next指標(這個有原題,也可以參考按層列印二叉樹)。

9、用過反向代理嗎?

美團二面:

1、程序間共享記憶體的方式有哪些?(8種)

2、linux下如何檢視網路埠狀態(netstat),如何檢視記憶體使用情況(top);

3、ConcurrentHashMap如何擴容?

4、知道java的異常嗎?

5、執行時異常如果不處理會怎麼樣?應該怎麼處理執行時異常?

6、寫程式碼:給你5000萬個int,求出前1000個最大的數,有2G記憶體。(我剛開始以為5000萬個int很多,還把G和byte的換算忘了,後來面試官指導才想起來。我的方法是維護一個1000的小根堆,然後遍歷陣列,總體下來時間複雜度是O(nlg1000))

7、給你n個不重複的整數,隨機找出m個不重複的整數,要求時間和空間複雜度都是O(m)。(方法很簡單,就是每次把取出來的數放到後面,只在前面的陣列隨機訪問就可以了,時間複雜度是O(m),空間複雜度是O(1),不過我剛開始沒有想到把選出來的放後面去)。

8、對於SQL慢查詢的優化?(主要是從查詢語句和資料庫表設計兩個方面來考慮,查詢語句方面可以增加索引,增加查詢篩選的限制條件;資料庫表設計的時候可以拆分表,設計得更細粒度。但是後來才發現面試官想要的就是查詢大量資料的慢查詢問題的優化。)

9、用過哪些容器?(tomcat)對比過Tomcat與其他伺服器的區別嗎?比如nginx?

10、用過動態代理嗎?以後會經常用到的。

美團三面:

1、自我介紹,說說你專案中的資料流向(畫結構框圖)

2、看過什麼書?

3、說說深入理解JVM中印象最深刻的章節(我說了JVM記憶體模型,垃圾回收和類載入);

補充:還問了堆和棧中存的是什麼?static修飾的遍歷存在哪裡?(方法區)

4、說說《Effective Java》中你印象最深的三條和你的理解

5、你覺得你哪一塊只是最熟悉(我說了Java的基本資料結構)

6、那你說說HashMap的內部實現;

7、HashMap是執行緒安全的嗎?(不是,ConcurrentHashMap是)

8、那ConcurrentHashMap內部是如何實現的?每個segment是個什麼資料結構?(HashTable)

9、你的專案中用到哪些技術?(Spring)

10、說說你用了它的什麼?(Spring IOC用的最多)

11、Spring的優點?Spring AOP的原理?Spring如何實現解耦合?

12、對連結串列瞭解嗎?(我說是List嗎)是,(瞭解ArrayList和LinkedList),那你說說他們的區別?

13、會做連結串列兩個結點的交換嗎?(連結串列反轉嗎?)是的,你寫程式碼實現把。

14、再寫一個,給你一個連結串列和一個整數k(k大於等於0,小於等於連結串列長度,連結串列長度未知),按k步長反轉連結串列(比如1->2->3->4->5->6->7,當k=3的時候結果是3->2->1->6->5->4->7)

15、說說mybatis配置了xml過後是如何完成資料庫操作的?

面試總結

1、三年以上java開發經驗或五年以上網際網路開發背景

2、熟練使用springmvc框架

3、掌握面向物件設計開發,熟悉常見設計模式

4、熟練使用mysql進行應用開發,熟悉資料庫原理及常用效能優化技術

5、熟悉分散式,快取,訊息搜尋等機制,有分散式系統開發經驗,叢集架構設計和使用者優先

6、有責任心,有想法,熱愛技術,喜歡鑽研

7、有較強的邏輯思維能力,善於分析,歸納,快速定位並解決問題

很多小問題都記不清了,這是我昨天下午回來就記錄下來的,感覺自己也盡力了。

最後很幸運的拿到offer了,10月才開始找工作的我也算圓滿結束秋招,今年秋招也不遠了,在此祝各位準備找工作程式設計師們都能找到自己滿意的工作,加油,好運早晚會來的!

相關推薦

2017Java程式設計師開發如何offer

本人是一名本科畢業非計算機專業的程式設計師,面了阿里,結果沒過,最後面上了美團,熱乎乎的面經,昨天面的美團,雖然面完了HR面,但是感覺希望不大,希望能走運拿到offer吧。記性不是太好,有一些問題沒能記住,三面技術面面經如下: 美團一面: 中間省略掉

2017Java程序員開發如何offer

Java 編程語言 面試 程序員 後端 熱乎的面經,昨天面的美團,雖然面完了HR面,但是感覺希望不大,希望能走運拿到offer吧。三面技術面面經如下: 一面: 中間省略掉大概幾個問題,因為我不記得了,下面記得的基本都是我沒怎麽答好的。。。 1.了解SOA,微服務嗎? 2.分布式系統如何負

【備戰春/系列】Java程式設計師必備書單

該文已加入開源文件:JavaGuide(一份涵蓋大部分Java程式設計師所需要掌握的核心知識)。地址:https://github.com/Snailclimb/JavaGuide. 核心基礎知識 《圖解HTTP》(推薦,豆瓣評分 8.1 , 1.6K+人評價): 講漫畫一樣的講HTTP,很

點評2017筆試題

2017/8/31 19:00 - 21:20 輸入一串只有1和0的串,擷取子串能構成1010或010這樣的串(相鄰不重複),求構成這樣的串的最大長度 例子:輸入n 代表輸入串的長度

2017Java面試高頻面試題(個人整理)

Java基礎: 多型(原理、實現) 過載和覆蓋 抽象類、介面區別 ==、equals()、hashcode()-對於基本型別、引用型別分情況 String原理(原始碼中final實現了其不可變,底層資料結構-char陣列)、StringBuilder-執行緒不安全、StringBuffer執行緒安全(原始碼中

2018總結篇(Java)

同步 團隊 設計思路 實現 的區別 劃分 參加 java繼承 模式 博主開始找工作是10月10號,感覺可以出去找找工作,然後就去了,參加了多場面試.筆試,現在總結一下 1.筆試篇 String StringBuffer StringBuilder的區別? HashMap H

2017各大公司後臺崗面經總結-1

今日頭條-頭條後臺崗三面面經 面經 可能沒有記全 一面: 1.自我介紹,專案 2.網路模型以及各層協議,TCP擁塞控制 3.IO複用以及select,poll,epoll區別 4.指標和引用區別 5.資料庫索引有哪些,他們的資料結構 6.複

寫在2017之後的話

目標基本實現。 工作終於塵埃落定,所經歷的一切也總算有了回報。 今天請教我一個比較尊敬的本科老師,本科老師說了一句話好經典,說現在這個社會,真的特別講道理,付出就會有回報,累沒關係,只要讓我覺得我的付出是值得的就行,能給我一定的回報就好,真的是這樣子的。 雖然我也沒有像多

Java程式設計師開發3如何能到年薪40W?(強烈推薦漲薪必備)

年薪達到50萬+,也不一定得碼程式碼,當個苦逼的程式設計師。我有一個哥們,離職隨後半年時間不到,直接上升到年薪50萬的水準,原因很簡單,我的朋友在街邊擺起了茶葉蛋。 ——開個小玩笑,言歸正傳! 同樣是開發了3年,為什麼別人拿高薪而你卻還在做著增刪改查的事? 第一要反思自己

資深架構師告訴Java程式設計師成為架構師必須要掌握的知識點

分散式架構是 分散式計算技術的應用和工具,目前成熟的技術包括J2EE, CORBA和.NET(DCOM),這些技術牽扯的內容非常廣,並不是一兩句話就能說清楚的。因此想了解分散式知識點的可以關注我的VX公眾號:“Java架構師學習”。或者進群:688583154獲取免費的視訊錄影學習:Java工程化、高效能及

一名工作10以上的Java程式設計師年度總結——那些成長必備的經驗

以下是作為一名Java程式設計師經過10年時間總結出的一些有關於Java軟體開發的經驗規則:Ja

Java程式設計師面試自動封箱/拆箱原理與包裝類的緩衝機制你知道麼?

概述 本文中小編為大家細緻的講解了Java中基本資料型別對應的包裝類以及包裝類的緩衝機制在實際開發中的應用 。 並且對Java中基本資料型別的包裝類的主要應用---自動封箱、自動拆箱做了底層剖析 。 自JDK1.5開始, 引入了自動裝箱/拆箱這一語法糖, 它使程式設計師

入100萬的程式設計師完這些書至少漲薪10萬

堅持閱讀好書是學習Java並且快速提升技術的最好方式之一。但是,市面上與Java技術相關的書籍可謂數不勝數,如何從這些質量參差不齊的眾多書中選擇出優秀的書籍,就成為了Java程式設計師面對的第一個問題。不用擔心,今天我們將福利奉上,年入百萬的程式設計師,告訴你,他曾經看過的一

一位高階Java程式設計師教你如何輕鬆到阿里、京東、騰訊的offer

面試分級 我開始投遞簡歷(世界那麼大,我想去外面的世界看看)。這次看機會與往常不同,我決定好好準備一番,然後開始投遞簡歷,主要渠道是 “X鉤”,輔助渠道是獵頭。 這次面試我將所有公司分為三類: A類: BAT公司,非常靠譜,各項待遇都是很優厚的 B類:一些知名的網際網路公司(基本都在C輪以上),基本很靠

Java 程式設計師 開發面試題

  面向物件的特徵有哪些方面    1.抽象:抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是資料抽象。

JAVA程式設計師分級你屬於哪一種?

初級—初 掌握java基礎,熟悉常用類庫。理解java web中的servlet,jsp,並瞭解常用的框架對java web的封裝原理,能夠藉助框架完成增刪改查功能。理解資料庫在web開發中的地位。

阿里是這樣要求 JAVA 程式設計師你們都知道麼?

正文:2016年底,阿里巴巴公開了其在內部使用的Java程式設計規範。隨後進行了幾次版本修訂,筆者當時看到的版本為v1.0.2版。下載地址可以在其官方社群——雲棲社群找到。筆者作為一名有數年工作經驗的Java程式設計師,仔細研讀了這份手冊,覺得是一份不可多得的好材料。正如阿里

Java程式設計師5面阿里終獲offer感慨:原來阿里面試這麼嚴

    坊間傳言的阿里P6招聘需求   感覺面試還是主要圍繞簡歷來問的,所以不熟悉

程式設計師面試如何保證offer的機率是80%以上?

  一、概述 面試,難還是不難?取決於面試者的底蘊(氣場+技能)、心態和認知及溝通技巧。面試其實可以理解為一場聊天和談判,在這過程中有心理、思想上的碰撞和博弈。其實你只需要搞清楚一個邏輯:“面試官為什麼會這樣問?他希望聽到什麼答案?”然後針對性的準備和回答就行了,無他。 “你的優勢是什麼?

從華為程式設計師跳樓看待“”的 35 歲中年危機?

前一陣子的深圳程式設計師加班倒下事件引起了大家的強烈共鳴,雖然後續當事人沒什麼大礙,但在大家剛從這位小哥哥的經歷中回過神,最近又聽到深圳一外包員工跳樓了。剛好我差不多也快到了中年危機,不得不動筆來談談看法。 近年,關於中年人跳樓的新聞層出不窮。生活不易、創業艱難等等原因讓很多表面看起來活的很光鮮