华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java面試題 >> 文章內(nèi)容

Java工程師美團(tuán)面試題

來(lái)源:中華考試網(wǎng)  [2020年11月16日]  【

  一、美團(tuán)一面

  中間省略掉大概幾個(gè)問(wèn)題,因?yàn)槲也挥浀昧,下面記得的基本都是我沒(méi)怎么答好的。

  1、了解SOA,微服務(wù)嗎?

  2、分布式系統(tǒng)如何負(fù)載均衡?如何確定訪問(wèn)的資源在哪個(gè)服務(wù)器上?

  一.輪詢。二.隨機(jī)。三.最小響應(yīng)時(shí)間。四. 最小并發(fā)數(shù)。五.哈希。

  3、設(shè)計(jì)一個(gè)分布式負(fù)載均衡緩沖系統(tǒng),如何快速定位到是那個(gè)服務(wù)器(使用key分段、一致性hash)

  4、如何保證緩沖區(qū)和數(shù)據(jù)庫(kù)之間的強(qiáng)一致性(使用加鎖)

  5、HashMap高并發(fā)情況下會(huì)出現(xiàn)什么問(wèn)題,(擴(kuò)容問(wèn)題)

  6、說(shuō)一說(shuō)在瀏覽器中輸入一個(gè)url后,直到瀏覽器顯示頁(yè)面的過(guò)程中發(fā)生了什么(我主要說(shuō)了DNS,然后他有接著問(wèn)了DNS的細(xì)節(jié),然后就是ARP路由,然后服務(wù)器處理,返回,瀏覽器呈現(xiàn),獲取html中的依賴資源)

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

  8、給任意二叉樹(shù)的所有結(jié)點(diǎn)加next指針(這個(gè)有原題,也可以參考按層打印二叉樹(shù))。

  9、用過(guò)反向代理嗎?

  二、美團(tuán)二面

  1、進(jìn)程間共享內(nèi)存的方式有哪些?(8種)

  2、linux下如何查看網(wǎng)絡(luò)端口狀態(tài)(netstat),如何查看內(nèi)存使用情況(top)?

  3、ConcurrentHashMap如何擴(kuò)容?

  4、知道java的異常嗎?

  5、運(yùn)行時(shí)異常如果不處理會(huì)怎么樣?應(yīng)該怎么處理運(yùn)行時(shí)異常?

  6、寫(xiě)代碼:給你5000萬(wàn)個(gè)int,求出前1000個(gè)最大的數(shù),有2G內(nèi)存。(我剛開(kāi)始以為5000萬(wàn)個(gè)int很多,還把G和byte的換算忘了,后來(lái)面試官指導(dǎo)才想起來(lái)。我的方法是維護(hù)一個(gè)1000的小根堆,然后遍歷數(shù)組,總體下來(lái)時(shí)間復(fù)雜度是O(nlg1000))

  7、給你n個(gè)不重復(fù)的整數(shù),隨機(jī)找出m個(gè)不重復(fù)的整數(shù),要求時(shí)間和空間復(fù)雜度都是O(m)。(方法很簡(jiǎn)單,就是每次把取出來(lái)的數(shù)放到后面,只在前面的數(shù)組隨機(jī)訪問(wèn)就可以了,時(shí)間復(fù)雜度是O(m),空間復(fù)雜度是O(1),不過(guò)我剛開(kāi)始沒(méi)有想到把選出來(lái)的放后面去)。

  8、對(duì)于SQL慢查詢的優(yōu)化?(主要是從查詢語(yǔ)句和數(shù)據(jù)庫(kù)表設(shè)計(jì)兩個(gè)方面來(lái)考慮,查詢語(yǔ)句方面可以增加索引,增加查詢篩選的限制條件;數(shù)據(jù)庫(kù)表設(shè)計(jì)的時(shí)候可以拆分表,設(shè)計(jì)得更細(xì)粒度。但是后來(lái)才發(fā)現(xiàn)面試官想要的就是查詢大量數(shù)據(jù)的慢查詢問(wèn)題的優(yōu)化。)

  9、用過(guò)哪些容器?(tomcat)對(duì)比過(guò)Tomcat與其他服務(wù)器的區(qū)別嗎?比如nginx?

  填寫(xiě)下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽(tīng)java課程!害怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國(guó)推薦就業(yè)!

預(yù)約申請(qǐng)免費(fèi)聽(tīng)java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  10、用過(guò)動(dòng)態(tài)代理嗎?以后會(huì)經(jīng)常用到的。

  三、美團(tuán)三面

  1、自我介紹,說(shuō)說(shuō)你項(xiàng)目中的數(shù)據(jù)流向(畫(huà)結(jié)構(gòu)框圖)

  2、看過(guò)什么書(shū)?

  3、說(shuō)說(shuō)深入理解JVM中印象最深刻的章節(jié)(我說(shuō)了JVM內(nèi)存模型,垃圾回收和類加載);

  補(bǔ)充:還問(wèn)了堆和棧中存的是什么?static修飾的遍歷存在哪里?(方法區(qū))

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

  5、你覺(jué)得你哪一塊只是最熟悉(我說(shuō)了Java的基本數(shù)據(jù)結(jié)構(gòu))

  6、那你說(shuō)說(shuō)HashMap的內(nèi)部實(shí)現(xiàn);

  7、HashMap是線程安全的嗎?(不是,ConcurrentHashMap是)

  8、那ConcurrentHashMap內(nèi)部是如何實(shí)現(xiàn)的?每個(gè)segment是個(gè)什么數(shù)據(jù)結(jié)構(gòu)?(HashTable)

  9、你的項(xiàng)目中用到哪些技術(shù)?(Spring)

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

  11、Spring的優(yōu)點(diǎn)?Spring AOP的原理?Spring如何實(shí)現(xiàn)解耦合?

  12、對(duì)鏈表了解嗎?(我說(shuō)是List嗎)是,(了解ArrayList和LinkedList),那你說(shuō)說(shuō)他們的區(qū)別?

  13、會(huì)做鏈表兩個(gè)結(jié)點(diǎn)的交換嗎?(鏈表反轉(zhuǎn)嗎?)是的,你寫(xiě)代碼實(shí)現(xiàn)把。

  14、再寫(xiě)一個(gè),給你一個(gè)鏈表和一個(gè)整數(shù)k(k大于等于0,小于等于鏈表長(zhǎng)度,鏈表長(zhǎng)度未知),按k步長(zhǎng)反轉(zhuǎn)鏈表(比如1->2->3->4->5->6->7,當(dāng)k=3的時(shí)候結(jié)果是3->2->1->6->5->4->7)

  15、說(shuō)說(shuō)mybatis配置了xml過(guò)后是如何完成數(shù)據(jù)庫(kù)操作的?

  四、面試總結(jié)

  1、具有三年以上Java開(kāi)發(fā)經(jīng)驗(yàn)或五年以上互聯(lián)網(wǎng)開(kāi)發(fā)背景

  2、熟練使用spring mvc框架

  3、掌握面向?qū)ο笤O(shè)計(jì)開(kāi)發(fā),熟悉常見(jiàn)設(shè)計(jì)模式

  4、熟練使用mysql進(jìn)行應(yīng)用開(kāi)發(fā),熟悉數(shù)據(jù)庫(kù)原理及常用性能優(yōu)化技術(shù)

  5、熟悉分布式,緩存,消息搜索等機(jī)制,有分布式系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn),集群架構(gòu)設(shè)計(jì)和使用者優(yōu)先

  6、有責(zé)任心,有想法,熱愛(ài)技術(shù),喜歡鉆研

  7、有較強(qiáng)的邏輯思維能力,善于分析,歸納,快速定位并解決問(wèn)題

責(zé)編:fushihao

上一篇:Java高薪面試要領(lǐng)

下一篇: 沒(méi)有了

  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語(yǔ)考試
  • 學(xué)歷考試
博野县| 茶陵县| 老河口市| 阿勒泰市| 岱山县| 英吉沙县| 高安市| 东乌珠穆沁旗| 资兴市| 石首市| 苏尼特左旗| 阜新| 佛坪县| 梅州市| 盘锦市| 广河县| 通化县| 井研县| 嘉荫县| 牟定县| 遵义县| 娱乐| 体育| 固安县| 奈曼旗| 额济纳旗| 兴和县| 井陉县| 康乐县| 岑溪市| 紫金县| 嵊州市| 滦南县| 仁怀市| 阜南县| 福海县| 佛坪县| 黎城县| 临颍县| 和政县| 玉山县|