COSCon'19 | 如何設計新一代的圖數據庫 Nebula
701
2025-04-01
我是一名本科畢業但是非計算機專業的程序員,上個月面完了阿里,結果是沒通過,然后上周又面了美團,上周五才面完了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、熟練使用spring mvc框架
3、掌握面向對象設計開發,熟悉常見設計模式
4、熟練使用mysql進行應用開發,熟悉數據庫原理及常用性能優化技術
5、熟悉分布式,緩存,消息搜索等機制,有分布式系統開發經驗,集群架構設計和使用者優先
6、有責任心,有想法,熱愛技術,喜歡鉆研
7、有較強的邏輯思維能力,善于分析,歸納,快速定位并解決問題
很多小問題都記不清了,這是我昨天下午回來就記錄下來的,感覺自己也盡力了。
今天剛接到HR的通知,說已經我通過了面試,就這周會給我下正式的offer,7月份裸辭開始找工作的我也算圓滿完成今年的秋招吧。最后在此祝各位準備找工作或者正在找工作的程序員們都能找到自己滿意的工作。加油,好運遲早會來的。
雖然今年的寒冬很冷,但是還有一部分朋友去了BATJ等互聯網公司面試,他們也給我傳回來一些問的比較多的Java面試題,面的都是阿里P6崗,今天我把這些面試題一起分享給大家,希望對你們有所幫助。
另外小編還收集了一些關于Java架構資料,這個是我朋友錄制的,里面有一些Java高并發、分布式、微服務、源碼分析跟性能優化等技術講解,歡迎粉絲們來我的群里下載。
本文轉載自微信公眾號JavaGuide
Java 開發者
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。