天才教育網合作機構 > 編程語言培訓機構 > java培訓機構 >

全國千鋒IT培訓

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學習專線 9:00-21:00

位置:編程語言培訓資訊 > java培訓資訊 > 上海java程序*怎么樣,美團社招(上海)Java開發(fā)面經

上海java程序*怎么樣,美團社招(上海)Java開發(fā)面經

日期:2023-07-12 10:31:12     瀏覽:618    來源:全國千鋒IT培訓
核心提示:想了解上海java程序*怎么樣嗎?想了解美團社招(上海)Java開發(fā)面經?? 嗎?......本文帶你一探究竟。1.美團社招(上海)Java開發(fā)面經先搞個前提,各位同學可以根據自身情況僅做參考,本人非計算機專業(yè),學歷一般吧,工

想了解上海java程序怎么樣嗎?想了解美團社招(上海)Java開發(fā)面經?? 嗎?......本文帶你一探究竟。

1.美團社招(上海)Java開發(fā)面經

先搞個前提,各位同學可以根據自身情況僅做參考,本人非計算機專業(yè),學歷一般吧,工作目前兩年左右。招聘的崗位描述:Java開發(fā)工程師,但可能需要學習Go語言,非業(yè)務開發(fā)*地點:上海市長寧區(qū)北新涇地鐵站附近吧,一年之后極有可能搬到楊浦區(qū)技術一面 項目相關的一些問題,主要是闡述了下項目是什么業(yè)務場景,解決什么問題,在進行項目描述過程匯總面試官比較關注的貌似是并發(fā)量和業(yè)務總量 因為我在項目中使用了很多的ES作為持久層,所以面試官就針對我熟悉的中間件進行了提問ES在寫入時它是怎么完成一次寫入操作的? 此處我給出了兩種層面的回答在架構層面:由于ES分為了master、client、data、ingest四種角色,每次寫入和讀取的HTTP請求都會先落到client角色的節(jié)點上,然后再負載到各個data節(jié)點上,完成寫入和讀取的操作后又將響應給應用程序。其中需要注意的是data節(jié)點在進行查詢時,是由多個分片進行查詢后,在內存中拼接而成的,所系查詢時也需要很大的內存, 持久化操作層面: 這層面的話就只是在寫入操作上進行了藐視,首先是數據請求到達了data節(jié)點進行存儲,存儲時刷盤存在了兩種方式,buffer刷入磁盤和translog進行存儲 ES集群寫入是怎么優(yōu)化的 關于HashMap源碼方面的理解,主要是存儲運算過程 HashMap的容量為什么是2的n次方冪HashMap線程不安全會有哪些影響HashMap的resize過程是怎么樣的對于其他集合框架的了解關于這個HashMap,我之前有專門研究過兩天源碼,筆記放著同學們自行拿取HashMap源碼學習筆記JVM堆內存模型相關問題 新建對象內存分配過程(沒太答上來) 這里應該會涉及到指針碰撞、空閑列表、并發(fā)安全(CAS機制和分配緩沖) 堆內存中的GC分類,我在回答時分為了youngGC和FullGC 出現(xiàn)GC時什么情況下會有阻塞用戶線程的情況 GC算法進行標記的時候,可達性分析算法中,根可達算法(GC Roots)有哪些根 作為 GC Roots 的對象包括下面幾種: 虛擬機棧(棧幀中的本地變量表)中引用的對象;各個線程調用方法堆棧中使用到的參數、局部變量、臨時變量等。 方法區(qū)中類靜態(tài)屬性引用的對象;java 類的引用類型靜態(tài)變量。 方法區(qū)中常量引用的對象;比如:字符串常量池里的引用。 本地方法棧中 JNI(即一般說的 Native 方法)引用的對象。 JVM 的內部引用(class 對象、異常對象 、,系統(tǒng)類加載器)。(非重點) 所有被同步鎖( 關鍵)持有的對象。(非重點) JVM 內部的 JMXBean、JVMTI 中注冊的回調、本地代碼緩存等(非重點) JVM 實現(xiàn)中的“臨時性”對象,跨代引用的對象 Spring框架是如何解決循環(huán)依賴的問題 SpringMVC框架中Filter和有什么區(qū)別,平時會怎么使用它們 的實現(xiàn)原理,為什么能保證線程安全 設計模式,手寫一個靜態(tài)工廠模式 之前另一個面試手寫過三種單例模式,這些設計模式考的都還挺簡單的,目前我自己掌握的有 三種創(chuàng)建模式: 單例、工廠、原形 四種行為模式: 模板、策略、監(jiān)聽(寫的不多,要百度才能手寫出來)、責任鏈 一個業(yè)務場景的算法選擇,字典樹算法給出的業(yè)務場景:目前有一堆單詞,給定開頭的前綴,如ab找出這對單詞中以ab開頭的單詞。這個沒有手寫,但是之前在業(yè)務上自己用過,放這里方便大家參考public static void initTrie(Set ) { words = new HashMap(.size()); Map temp; Map temp2; //遍歷傳入的敏感詞集合,構建字典樹 for (String word : ) { temp = words; //將每個詞轉為字符數組,每個字符都是一個狀態(tài),構建有限狀態(tài)集合 for (char character : word.()) { //先查看字典樹內是否存在這個狀態(tài) Object var1 = temp.get(character); if (var1 != null) { //如果存在,則指向下一個節(jié)點 temp = (Map) var1; } else { //如果不存在則進行創(chuàng)建節(jié)點 temp2 = new HashMap(); temp2.put("isEnd", "0"); //放置該字符,并標記其狀態(tài) temp.put(character, temp2); //指向下一個節(jié)點 temp = temp2; } if (word.charAt(word.length() - 1) == character) { temp.put("isEnd", "1"); } } } System.out.println(words); } public static boolean contains(String text, int matchType) { int i = 0; while (i == text.length() - 1) { text.substring(i); } return false; } public static void main(String[] args) { initTrie(new HashSet<>(Arrays.asList("搓搓手", "扣扣腳", "深深懶腰"))); System.out.println(contains("搓手",1)); } 反問環(huán)節(jié)Q:團隊代碼規(guī)范是否嚴苛,是否有注釋A:代碼注釋可能不會特別多,但是對于變量的命名有絕對的標準,代碼倉庫也是自研,如果代碼不是太規(guī)范標準的話,將不能編譯Q:招人團隊屬于哪個業(yè)務線,如果一起奮斗的話,會在哪個模塊A:主要是負責公司自研的代碼倉庫,只有部分命令傳輸模塊使用的是開源組件,其他均為公司自研,非業(yè)務方面,并且能夠看到公司所有的代碼Marcus Hold CodingA:主要是負責公司自研的代碼倉庫,只有部分命令傳輸模塊使用的是開源組件,其他均為公司自研,非業(yè)務方面,并且能夠看到公司所有的代碼

上述文章了解到關于美團社招(上海)Java開發(fā)面經?? ,讓我們對上海java程序怎么樣 有一個直觀的認知。我們發(fā)現(xiàn),作為一個優(yōu)秀的Java程序員是多么的自豪。

本文由 全國千鋒IT培訓 整理發(fā)布。更多培訓課程,學習資訊,課程優(yōu)惠,課程開班,學校地址等學校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢電話:400-850-8622

如果本頁不是您要找的課程,您也可以百度查找一下: