Java開發環境!java工程師薪資行情

美團技術一面20分鐘

晚7點,因為想到下周一才面試,我剛準備出去打個羽毛球,北京的電話就來了。面試官各種抱歉,說開會拖延了。

1、自我介紹

說了很多遍了,很流暢撿重點介紹完。

2、問我數據結構算法好不好

挺好的(其實心還是有點虛,不過最近刷了很多題也只能壯著膽子充胖子了)

3、找到單鏈表的三等分點,如果單鏈表是有環的呢

用快慢指針,一個走一步,一個走三步。如果有環,先判斷環在哪,找最后一個節點,然后用之前的無環的做法

4、講一下項目的架構

我重點講了MVC

5、說一下你熟悉的設計模式

我重點講了單例、工廠方法、代理

6、有沒有配置過服務器啥啥啥

這個我真不知道,都沒聽過呢,只能誠實說沒有,畢竟都沒法扯。

一面挺匆忙的,我估計面試官剛開完會還沒吃飯呢。他說讓我等,可能再找一個同事面我,可能就直接告訴我結果了。從一面面試官的聲音和口吻,我判斷他一定是個部門老大,問的設計偏多,后面hr告訴我他就是我要去的部門的老大。哈哈。

美團技術二面60分鐘,詳細問答

面完一面正準備出去打羽毛球,北京的電話又來了。(注定這周五參加不了球隊活動了!)

二面:跟一面比起來,二面面試官的聲音聽起來就像是搞技術開發的,果不其然,一個小時的純技術電話面試!面的特別全面!

**1、Spring:**有沒有用過Spring,Spring IOC、AOP機制與實現,Spring MVC

其實我挺不想被問到Spring的細節的,框架這些我都沒有復習不太記得了。所以我對面試官說Spring里面的一些比較重要的機制我理解的還不錯,然后我用一個實際的例子把我對IOC、AOP理解講了一下,他聽了說對,理解的不錯(難得遇到一個邊面試邊能給反饋的面試官,好開心)

Spring MVC其實我用過,我就對面試官講了我的項目中用到的Servlet,jsp和javabean實現的MVC,以及MVC各個模塊職責以及每個模塊是怎么聯系到一起的,最后我補充了一句我想SpringMVC的思想其實跟這個是一樣的(他說對的,嘿嘿有反饋真好)

**2、多線程:**怎么實現線程安全,各個實現方法有什么區別,volatile關鍵字的使用,可重入鎖的理解,Synchronized是不是可重入鎖

這里我就主要講了Synchronized關鍵字,還有并發包下面的一些鎖,以及各自的優缺點和區別。volatile關鍵字我主要從可見性、原子性和禁止JVM指令重排序三個方面講的,再講了一下我在多線程的單例模式double-check中用到volatile關鍵字禁止JVM指令重排優化。

3、集合: HashMap底層實現,怎么實現HashMap線程安全

我講了一下HashMap底層是數組加單鏈表實現,Node內部類,add的過程,Hash沖突解決辦法,擴容,三種集合視圖。HashMap線程安全的實現方式主要講了HashTable、ConcurrentHashMap以及Collections中的靜態方法SynchronizedMap可以對HashMap進行封裝。以及這三種方式的區別,效率表現。

4、JVM內存管理,GC算法,HotSpot里面的垃圾回收器、類加載

JVM內存主要分為五個區,哪些是線程共享的,哪些是線程獨享的,每個區存放什么。GC方面:怎么判斷哪些對象需要被GC,GC的方法,Minor GC與Full GC。HotSpot GC算法以及7種垃圾回收器,主要講了CMS和G1收集器。類加載:類加載的過程,Bootstrap classloader-ExtClassloader-AppClassloader,父類委托機制。

5、進程和線程的區別

從調度、并發性、擁有的資源和系統開銷四個方面回答的。

6、HTTP有沒有狀態,我說無狀態,怎么解決HTTP無狀態

怎么解決HTTP無狀態其實就是怎么進行會話跟蹤,有四種方法:URL重寫、隱藏表單域、Cookie、Session。

7、Java IO,NIO,Java中有沒有實現異步IO

Java IO實現的是同步阻塞,它是怎么實現同步阻塞的。我拿了read()方法舉例來講的。NIO實現的是同步非阻塞,我詳細講了一下Selector中的select()方法輪詢說明它是如何實現多路復用IO的。然后對比了一下他們的效率。面試官可能看我對這一塊比較了解,又繼續問我Java中有沒有實現異步IO,我感覺好像沒有,但面試官說有,讓我想想,其實這里我并不清楚啦,所以我就對面試官講了一下我對Unix中異步IO模型的理解,然后說至于Java里面有沒有我真的不太清楚。(他居然笑了!說你理解是對的,Java里面有沒有不重要!哈哈)

8、前端會不會,Ajax是什么,Ajax實現原理

前端我只是會用一些js而已,用過jquery框架,問我Ajax全稱是啥,我猜是異步的js和xml。Ajax實現原理其實我也不懂,我就只簡單講了一下它通過XMLHttpRequest對象進行異步查詢,Ajax引擎在客戶端運行,減少了服務器工作量。

9、讓我設計一個線程池

因為我簡歷中有寫到我對多線程、并發這一塊理解比較好。所以他老問這方面的題。這個問題因為我之前看過ThreadPoolExecutor的源代碼,所以我就仿照那個類的設計思路來想的,詳細講了一下核心池、創建線程可以用工廠方法模式來進行設計、線程池狀態、阻塞隊列、拒絕策略這幾個方面。設計的還算比較周全。

10、講幾個設計模式,哪些地方用到了,為什么要用

單例模式,jdk中的getRuntime();工廠方法模式,ThreadPoolExcutor用到ThreadFactory;觀察者模式:java.util包下面的Observable和Observer。最后主要講了一下工廠方法模式的使用場景。

11、Mysql優化、索引的實現

我從數據庫設計優化和查詢優化兩方面講的。索引B+樹實現,InnoDB和MyISAM主鍵索引的實現區別,一個聚集一個非聚集。

12、事務的隔離級別

四種隔離級別,可能會出現哪些異常,mysql中默認級別。

13、有沒有用過Hibernate、mybatis、git

這個簡單講一下就好,分別是干什么的

14、Linux

我說這個本科學過,但是很久沒用,命令忘光了。他說沒事,考你幾個簡單的:cd、ls、dir(真的是簡單的)

15、算法題

從10萬個數中找最小的10個,時間復雜度分析(最大堆,考慮內存)

從一個有正有負數組中找連續子數組的最大和,時間復雜度分析(動態規劃)

滿二叉樹第i層有多少個節點,n層的滿二叉樹共有多少個節點

終于到我提問環節了:

1、你們是什么部門(他說是核心部門,大數據研發)

2、我對高并發和負載均衡挺有興趣的,但是我平時在學校也沒有這個環境讓我在這方面有所體驗,那你建議我目前可以怎么學呢(他說這確實是不太好學,只能看些理論和別人的博客,以后工作中才能慢慢學)

3、中間件具體是做什么的,是解決高并發和負載均衡嗎(他說差不多是的,然后他說我們這個部門不是中間件,是大數據部門啊,我說恩我知道)

最后沒啥問題了,他讓我保持電話暢通。

這一面面完,口干舌燥,我一度懷疑他可能不知道我是在應聘實習生的崗位。有太多要總結的了,放在總結的地方一起講吧。

美團技術三面25分鐘

面試官說是他是另外一個部門的,需要進行交叉面試。

1、MySql優化

2、說下項目做了些什么,架構之類的

3、在collabedit上在線寫代碼,題目很簡單是編程之美上的原題,一個有序的整數數組,輸出兩個數,使它們的和為某個給定的值。之前做過很快寫好,然后給他講思路。他繼續問如果數組無序怎么辦,先排序。

4、兩個文件,每個文件中都有若干個url,找出兩個文件中相同的url(用HashMap)

這一面挺簡單的,只是增加之前面試沒有過的在線寫代碼環節,collabedit后來我才了解,像facebook一些互聯網公司遠程面試都會用這個在線編輯器寫代碼,就是文本文檔寫,沒有提示,不能編譯運行,跟白板寫一樣。平時練練手就好。

美團技術HR四面30分鐘

三面面試官說他那就是終面,說我過了等hr聯系我。萬萬沒想到半小時后的hr面居然也是技術。

1、自我介紹,都四面了還自我介紹?!我還以為是單純的hr面,所以介紹的都是我的性格和生活方面的,結果并不是。

2、問項目,問的特別特別細,技術細節,還有遇到什么問題,怎么解決的,做項目有沒有人帶,怎么跟別人溝通的。

3、數據庫優化,如果數據庫一個表特別大怎么辦

數據庫優化我就講了之前講過很多遍的點,他問一個表特別大怎么辦:大表分小表,怎么實現:使用分區表

4、問研究生的科研題目,為什么選這個題,看了一些什么論文(細到問我那些論文是發表在什么期刊上的,作者是哪所學校的),為什么要選這個算法,怎么優化的,實驗結果怎么跟別人作對比的,為什么比別人的算法好(一個個問題不斷砸過來,我猜我說的那些專業名詞他應該不太懂,只是判斷一下是不是我做的而已。。)

5、確定實習時間

這一面確實讓我感到有壓迫感,項目是本科做的,挺久了,一些技術細節上也沒太總結,所以問細了我只能連想帶編,嘿嘿。科研方面倒還好,上個學期都在弄這個,一些算法的實現和改進、對比都還記得比較清楚,回答的挺流暢的,可能這真的就是技術型的hr面吧。

Kafka實戰筆記

關于這份筆記,為了不影響大家的閱讀體驗,我只能在文章中展示部分的章節內容和核心截圖,如果你需要完整的pdf版本,戳這里即可免費領取。

image.png

  • Kafka入門
  • 為什么選擇Kafka
  • Karka的安裝、管理和配置

image.png

  • Kafka的集群
  • 第一個Kafka程序
  • image.png

afka的生產者

image.png

  • Kafka的消費者
  • 深入理解Kafka
  • 可靠的數據傳遞

image.png

image.png

  • Spring和Kalka的整合
  • Sprinboot和Kafka的整合
  • Kafka實戰之削峰填谷
  • 數據管道和流式處理(了解即可)

image.png

  • Kafka實戰之削峰填谷

image.png

ka的整合**

  • Sprinboot和Kafka的整合
  • Kafka實戰之削峰填谷
  • 數據管道和流式處理(了解即可)

[外鏈圖片轉存中…(img-C4hXexlQ-1625742105145)]

  • Kafka實戰之削峰填谷

[外鏈圖片轉存中…(img-pdtnNNyy-1625742105146)]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385693.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385693.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385693.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java開發環境!為什么MySQL不推薦使用uuid作為主鍵

目錄 由于文檔內容過多,共計有500頁,因此為了避免影響到大家的閱讀體驗,在此只以截圖展示部分內容,詳細完整版的可以在文末獲取! 部分內容展示 深入淺出索引(上) 索引的常見模型InnoDB 的索引…

Java開發環境!我總結了所有面試題

Linux 專題 微服務專題 微服務架構有哪些優勢?微服務有哪些特點?設計微服務的最佳實踐是什么?微服務架構如何運作?微服務架構的優缺點是什么?單片,SOA 和微服務架構有什么區別?在使用微服務架構…

Java開發知識體系!我用2個月的時間破繭成蝶

CAP原則 在分布式系統要滿足CAP原則,一個提供數據服務的存儲系統無法同時滿足:數據一致性、數據可用性、分區耐受性。 C數據一致性:所有應用程序都能訪問到相同的數據。 A數據可用性:任何時候,任何應用程序都可以讀寫…

你真的了解Java系統啟動流程嗎?mysql不包含多個字符

Kubernetes(k8s)理論與實戰雙飛 ①理解控制器: ②網絡詳解: ③伸縮原理: ④認證與調度: ⑤服務原理: ⑥鏡像自動拉取: ⑦節點就緒問題之一: ⑧節點就緒問題之二&#xf…

你花了多久弄明白架構設計?多個java應用同時訪問數據庫

01 分布式限流:NginxZooKeeper 1.1 分布式限流之Nginx 請解釋一下什么是 Nginx? 請列舉 x Nginx 的一些特性。 請列舉 x Nginx 和 和 Apache 之間的不同點 請解釋 x Nginx 如何處理 P HTTP 請求。 在 x Nginx 中,如何使用未定義的服務器名稱來阻止…

保潔阿姨看完都會了!java面向對象編程開發證書

一、什么是ZooKeeper ZooKeeper是一個分布式服務協調框架,提供了分布式數據一致性的解決方案,基于ZooKeeper的數據結構,Watcher,選舉機制等特點,可以實現數據的發布/訂閱,軟負載均衡,命名服務&…

做了6年的Java,docker端口映射無法外部訪問

1.1. 操作系統簡介 我通過以下四點介紹什么是操作系統: 操作系統(Operating System,簡稱 OS)是管理計算機硬件與軟件資源的程序,是計算機的基石。操作系統本質上是一個運行在計算機上的軟件程序 ,用于管理…

做了6年的Java,mysql配置環境變量mac

一:打破狹窄的技術視野 ①真實項目對外開發系統性講解 ②例如電商、教育行業、社區網站等主流互聯網場景的商業解決方案講解 ③針對不同業務場景海量數據或者訪問量以及及時響應等所面臨的挑戰進行對應的瓶頸分析。 ④拓展技術視野,與一線大廠零距離…

做了三年Java,docker網絡映射配置

數據庫 2.1 池化技術:如何減少頻繁創建數據庫連接的性能損耗?2.2 數據庫優化方案(一):查詢請求增加時,如何做主從分離?2.3 數據庫優化方案(二):寫入數據量增…

入職阿里啦!docker-e命令參數

JAVA基礎 JAVA異常分類及處理異常分類異常的處理方式Throw和throws的區別JAVA反射動態語言反射機制概念 (運行狀態中知道類所有的屬性和方法)Java反射API反射使用步驟(獲取Class對象、調用對象方法)獲取Class對象的3種方法創建對…

算法 | 快速排序

【算法圖解】&#xff1a;數據結構教程李春葆版P378 1. 遞歸代碼&#xff1a; #include<iostream> #include<vector> using namespace std;void quicksort(vector<int> &v, int left, int right) {if (left < right){int key v[left];int low le…

全套學習!java排序sort方法

字節跳動 ?試前?????結 ?試前 頭條的?試是三家?最專業的&#xff0c;每次?試前有專?的HR和你約時間&#xff0c;確定OK后再進??試。每次都是通過視頻?試&#xff0c;因為都是之前都是電話?或現場?&#xff0c;所以視頻?試還是有點不?然。也有?覺得視頻?試…

【排序算法】計數排序

當輸入的元素是 n 個 0 到 k 之間的整數時&#xff0c;它的運行時間是 Θ(n k)。計數排序不是比較排序&#xff0c;排序的速度快于任何比較排序算法。 由于用來計數的數組B的長度取決于待排序數組中數據的范圍&#xff08;等于待排序數組的最大值與最小值的差加上1&#xff0…

全套學習!mysql2003錯誤代碼

正文 在寫這個文章之前&#xff0c;我花了點時間&#xff0c;自己臆想了一個電商系統&#xff0c;基本上算是麻雀雖小五臟俱全&#xff0c;我今天就用它開刀&#xff0c;一步步剖析&#xff0c;我會講一下我們可能會接觸的技術棧可能不全&#xff0c;但是夠用&#xff0c;最后…

全套學習!mysql命令窗口執行sql文件

阿里P8級架構師核心理論落地篇 再造淘寶&#xff0c;貫穿全系&#xff0c;阿里團隊代碼落地&#xff0c;詳細每個版本迭代&#xff0c;拒絕2-3個月PPT架構師再造淘寶之咚寶-技術支撐-完整搭建DevOps再造淘寶之咚寶-統一規則-代碼規范落地解析再造淘寶之咚寶搭建基礎服務再造淘…

java招聘職位描述,附學習筆記+面試整理+進階書籍

面&#xff1a;為什么要使用雙親委派機制去加載類&#xff1f; 答&#xff1a;避免多份同樣字節碼的加載&#xff0c;浪費內存。 類的加載方式 隱式加載&#xff1a;new顯示加載&#xff1a;loadClass、forName等 類的裝載過程如下圖&#xff1a; 面&#xff1a;loadClass和…

94. 二叉樹的中序遍歷

給定一個二叉樹&#xff0c;返回它的中序 遍歷。 示例: 輸入: [1,null,2,3] 1 \ 2 / 3 輸出: [1,3,2] 進階: 遞歸算法很簡單&#xff0c;你可以通過迭代算法完成嗎&#xff1f; 來源&#xff1a;力扣&#xff08;LeetCode&#xff09; 鏈接&#xff1a;http…

判斷兩個結構體是否相等

一、判斷兩個結構體是否相等 判斷兩個結構體是否相等&#xff1a;重載操作符""不能用函數memcpy來判斷兩個結構體是否相等&#xff1a;memcmp函數是逐個字節進行比較的&#xff0c;而struct存在字節對齊&#xff0c;字節對齊時補的字節內容是隨機的&#xff0c;會產生…

java攔截器和過濾器,2021最新版!

正文 現在市面上的算法資料也五花八門&#xff0c;種類繁多&#xff0c;小編也整理了一份不同于市面且有意思的算法資料&#xff0c;不能說多全面&#xff0c;但是是小編花了很長時間整理歸納出來的&#xff0c;自我感覺還行。分享給同事及群里反響都不錯&#xff0c;所以小編…