想了解上海java程序怎么樣嗎?想了解美團社招(上海)Java開發面經?? 嗎?......本文帶你一探究竟。
1.美團社招(上海)Java開發面經
先搞個前提,各位同學可以根據自身情況僅做參考,本人非計算機專業,學歷一般吧,工作目前兩年左右。招聘的崗位描述:Java開發工程師,但可能需要學習Go語言,非業務開發*地點:上海市長寧區北新涇地鐵站附近吧,一年之后極有可能搬到楊浦區技術一面 項目相關的一些問題,主要是闡述了下項目是什么業務場景,解決什么問題,在進行項目描述過程匯總面試官比較關注的貌似是并發量和業務總量 因為我在項目中使用了很多的ES作為持久層,所以面試官就針對我熟悉的中間件進行了提問ES在寫入時它是怎么完成一次寫入操作的? 此處我給出了兩種層面的回答在架構層面:由于ES分為了master、client、data、ingest四種角色,每次寫入和讀取的HTTP請求都會先落到client角色的節點上,然后再負載到各個data節點上,完成寫入和讀取的操作后又將響應給應用程序。其中需要注意的是data節點在進行查詢時,是由多個分片進行查詢后,在內存中拼接而成的,所系查詢時也需要很大的內存, 持久化操作層面: 這層面的話就只是在寫入操作上進行了藐視,首先是數據請求到達了data節點進行存儲,存儲時刷盤存在了兩種方式,buffer刷入磁盤和translog進行存儲 ES集群寫入是怎么優化的 關于HashMap源碼方面的理解,主要是存儲運算過程 HashMap的容量為什么是2的n次方冪HashMap線程不安全會有哪些影響HashMap的resize過程是怎么樣的對于其他集合框架的了解關于這個HashMap,我之前有專門研究過兩天源碼,筆記放著同學們自行拿取HashMap源碼學習筆記JVM堆內存模型相關問題 新建對象內存分配過程(沒太答上來) 這里應該會涉及到指針碰撞、空閑列表、并發安全(CAS機制和分配緩沖) 堆內存中的GC分類,我在回答時分為了youngGC和FullGC 出現GC時什么情況下會有阻塞用戶線程的情況 GC算法進行標記的時候,可達性分析算法中,根可達算法(GC Roots)有哪些根 作為 GC Roots 的對象包括下面幾種: 虛擬機棧(棧幀中的本地變量表)中引用的對象;各個線程調用方法堆棧中使用到的參數、局部變量、臨時變量等。 方法區中類靜態屬性引用的對象;java 類的引用類型靜態變量。 方法區中常量引用的對象;比如:字符串常量池里的引用。 本地方法棧中 JNI(即一般說的 Native 方法)引用的對象。 JVM 的內部引用(class 對象、異常對象 、,系統類加載器)。(非重點) 所有被同步鎖( 關鍵)持有的對象。(非重點) JVM 內部的 JMXBean、JVMTI 中注冊的回調、本地代碼緩存等(非重點) JVM 實現中的“臨時性”對象,跨代引用的對象 Spring框架是如何解決循環依賴的問題 SpringMVC框架中Filter和有什么區別,平時會怎么使用它們 的實現原理,為什么能保證線程安全 設計模式,手寫一個靜態工廠模式 之前另一個面試手寫過三種單例模式,這些設計模式考的都還挺簡單的,目前我自己掌握的有 三種創建模式: 單例、工廠、原形 四種行為模式: 模板、策略、監聽(寫的不多,要百度才能手寫出來)、責任鏈 一個業務場景的算法選擇,字典樹算法給出的業務場景:目前有一堆單詞,給定開頭的前綴,如ab找出這對單詞中以ab開頭的單詞。這個沒有手寫,但是之前在業務上自己用過,放這里方便大家參考public static void initTrie(Set
上述文章了解到關于美團社招(上海)Java開發面經?? ,讓我們對上海java程序怎么樣 有一個直觀的認知。我們發現,作為一個優秀的Java程序員是多么的自豪。