1. 程式人生 > >Java後臺-面試問題彙總:歷時20天,主流網際網路公司面試經歷

Java後臺-面試問題彙總:歷時20天,主流網際網路公司面試經歷

本人Java開發,3年經驗,7月初來到帝都,開啟面試經歷,前後20天左右,主面網際網路公司,一二線大公司或者是融資中的創業公司都面試過,拿了一些offer,最後綜合決定還是去360了。
不同面試官面試風格一定不同,我這裡就是總結這些天面試Java開發過程中的大多數問題,綜合分類有Java基礎,框架,多執行緒,網路通訊,Linux,資料庫,設計模式,演算法,快取等幾個模組,由於問題太多,下面先列出問題,之後有時間在寫文章解答,或者網上有很多答案,可以自行搜尋。
一、Java基礎
1.String類為什麼是final的。
2.HashMap的原始碼,實現原理,底層結構。
3.反射中,Class.forName和classloader的區別
4.session和cookie的區別和聯絡,session的生命週期,多個服務部署時session管理。
5.Java中的佇列都有哪些,有什麼區別。
6.Java的記憶體模型以及GC演算法
7.Java7、Java8的新特性(baidu問的,好BT)
8.Java陣列和連結串列兩種結構的操作效率,在哪些情況下(從開頭開始,從結尾開始,從中間開始),哪些操作(插入,查詢,刪除)的效率高
9.Java記憶體洩露的問題調查定位:jmap,jstack的使用等等

二、框架
1.struts1和struts2的區別
2.struts2和springMVC的區別
3.spring框架中需要引用哪些jar包,以及這些jar包的用途
4.springMVC的原理
5.springMVC註解的意思
6.spring中beanFactory和ApplicationContext的聯絡和區別
7.spring注入的幾種方式
8.spring如何實現事物管理的
9.springIOC和AOP的原理
10.hibernate中的1級和2級快取的使用方式以及區別原理
11.spring中迴圈注入的方式

三、多執行緒
1.Java建立執行緒之後,直接呼叫start()方法和run()的區別
2.常用的執行緒池模式以及不同執行緒池的使用場景
3.newFixedThreadPool此種執行緒池如果執行緒數達到最大值後會怎麼辦,底層原理。
4.多執行緒之間通訊的同步問題,synchronized鎖的是物件,衍伸出和synchronized相關很多的具體問題,例如同一個類不同方法都有synchronized鎖,一個物件是否可以同時訪問。或者一個類的static構造方法加上synchronized之後的鎖的影響。
5.瞭解可重入鎖的含義,以及ReentrantLock 和synchronized的區別
6.同步的資料結構,例如concurrentHashMap的原始碼理解以及內部實現原理,為什麼他是同步的且效率高
7.atomicinteger和volatile等執行緒安全操作的關鍵字的理解和使用
8.執行緒間通訊,wait和notify
9.定時執行緒的使用
10.場景:在一個主執行緒中,要求有大量(很多很多)子執行緒執行完之後,主執行緒才執行完成。多種方式,考慮效率。

四、網路通訊
1.http是無狀態通訊,http的請求方式有哪些,可以自己定義新的請求方式麼。
2.socket通訊,以及長連線,分包,連線異常斷開的處理。
3.socket通訊模型的使用,AIO和NIO。
4.socket框架netty的使用,以及NIO的實現原理,為什麼是非同步非阻塞。
5.同步和非同步,阻塞和非阻塞。

五、Linux
1.常用的linux下的命令
2.大的log檔案中,統計異常出現的次數、排序,或者指定輸出多少行多少列的內容。(主要考察awk)
3.linux下的調查問題思路:記憶體、CPU、控制代碼數、過濾、查詢、模擬POST和GET請求等等場景
4.shell指令碼中#!的作用

六、資料庫MySql
1.MySql的儲存引擎的不同
2.單個索引、聯合索引、主鍵索引
3.Mysql怎麼分表,以及分表後如果想按條件分頁查詢怎麼辦(如果不是按分表字段來查詢的話,幾乎效率低下,無解)
4.分表之後想讓一個id多個表是自增的,效率實現
5.MySql的主從實時備份同步的配置,以及原理(從庫讀主庫的binlog),讀寫分離
6.寫SQL語句。。。
7.索引的資料結構,B+樹
8.事物的四個特性,以及各自的特點(原子、隔離)等等,專案怎麼解決這些問題

七、設計模式(寫程式碼)
1.單例模式:飽漢、餓漢。以及餓漢中的延遲載入
2.工廠模式、裝飾者模式、觀察者模式。

九、快取
1.為什麼用快取,用過哪些快取,redis和memcache的區別
2.redis的資料結構
3.redis的持久化方式,以及專案中用的哪種,為什麼
4.redis叢集的理解,怎麼動態增加或者刪除一個節點,而保證資料不丟失。(一致性雜湊問題)

相關推薦

Java後臺-面試問題彙總歷時20主流網際網路公司面試經歷

本人Java開發,3年經驗,7月初來到帝都,開啟面試經歷,前後20天左右,主面網際網路公司,一二線大公司或者是融資中的創業公司都面試過,拿了一些offer,最後綜合決定還是去360了。 不同面試官面試風格一定不同,我這裡就是總結這些天面試Java開發過程中的大

Java後臺-面試問題彙總主流網際網路公司面試經歷

本人Java開發,3年經驗,7月初來到帝都,開啟面試經歷,前後20天左右,主面網際網路公司,一二線大公司或者是融資中的創業公司都面試過,拿了一些offer,最後綜合決定還是去360了。 不同面試官面試風格一定不同,我這裡就是總結這些天面試Java開發過程中的大多數問題,綜合分

2015年Java後臺開發面試問題分享彙總主流網際網路公司面試經歷

不同面試官面試風格一定不同,我這裡就是總結這些天面試Java開發過程中的大多數問題,綜合分類有Java基礎,框架,多執行緒,網路通訊,Linux,資料庫,設計模式,演算法,快取等幾個模組,由於問題太多,下面先列出問題,之後有時間在寫文章解答,或者網上有很多答案,可以自行搜尋。一、Java基礎1.String類

歷時 7 我把一萬行 Scala 程式碼移植到了 Kotlin 上!

【CSDN編者按】去年,Google 宣佈 Kotlin 正式成為 Android 官方開發語言,由此引發了遷移 Kotlin 的一股熱潮。在本文中,作者分享了他在七天內把程式碼從 Scala 移植到 Kotlin 的經過,以及從中吸取的經驗教訓。 以下為譯文:

#程式設計師面試能力得到賞識差點拿到Offer!網友很傻很天真

俗話說“是金子哪裡都會發光”,在如今飛速發展的網際網路時代,技術更新迭代得非常快,所以在這個行業中,一切都是以技術為尊,技術好代表著你的能力就強,能夠跟上時代的腳步,那麼你在行業中的競爭力就強。 然而近日有一位程式設計師在面試的時候,稱自己的技術得到了HR的賞識,可是還是面試還是沒有通過

Java後臺向蘋果APNS推送文字圖片視訊功能

務虛廢話,直接來程式碼 方式一: 推送文字,百度Demo比較多,顯示以下程式碼:   try { //從客戶端獲取的deviceToken,在此為了測試簡單,寫固定的一個測試裝置標識。 String device

20全方位學習FANUC機器

有需要的去看看吧。 ========================================= 《20天,全方位學習FANUC機器人》 2018全年20節 哈工海渡機器人學院資深講師、FANUC高階工程師 精心打造視訊課程、盡在海渡學院APP   &nb

java後臺list集合傳值到前臺再取值的幾種方法

1.在jsp頁面中巢狀 java程式碼: 首先jsp頁面中匯入java的工具類 <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEnco

SpringCloud與idea在專案中相遇第五Hystrix

服務熔斷 a)以vlluviaCloud-provider-dept-8001為原型建立vlluviaCloud-provider-dept-hystrix-8001 專案 b)修改PersonController 類 @RequestMapping(va

超強彙總學習Python列表只需這篇文章就夠了

千里之行,始於足下。要練成一雙洞悉一切的眼睛,還是得先把基本功紮紮實實地學好。今天,本喵帶大家仔細溫習一下Python的列表。溫故而知新,不亦說乎。 當然,溫習的同時也要發散思考,因為有些看似無關緊要的、約定俗成的語言習慣,例如陣列索引為何從0開始,其背後可能大有來歷。知

2022小時20我是如何幹掉這本1000頁的程式碼大全的

從11月24日到12月15日,20天內,投入22個小時又20分鐘,從頭到尾通讀完了這本程式碼大全,每一章都按同樣的標準做了筆記,共1.7w字。 從本書本身的學到的倒是其次,最關鍵的是,我點亮了一個新技能,如何在一個漫長而枯燥的任務堅持下來,並保持同樣的投入標準直至結束。 從此以後,我的字典裡不再有堅持二字

Java面經 面試經驗 網際網路公司面試經驗 後端面試經驗

應聘相關 宣告: 1,程式設計師相關的哈 2,萬事無定論,比如說,就算你小學畢業,但是java基礎卻紮實到變態,我相信open的公司還是會給你機會的。 3,心態很重要,雖然日常的心態不容易控制,面試那倆小時的心態,只要你想,就能控制。 1,先來一份前輩的勸戒 1,

Java日常刷題第十二錯題練習

選擇題 1。在某個類A中存在一個方法:void set(int x),以下不能作為這個方法的過載的宣告的是(A) A.void set(int y) B.int set(int x,double y) C.double set(int x,int y) D.vo

Java 這一年IntelliJ 稱霸 IDEKotlin 成最大贏家!

【CSDN 編者按】我們已經迎來了 Java 11,而 Java 12 也將很快到來,Oracle 已經帶著 Java 如此向前了,但我們在實際生產環境中所使用的卻顯得滯後許多,本文作者分享了整個 Java 生態在2018 年的現狀,值得一讀。 作者 | 帝都羊

學習vue 20我寫了點東西

往昔 最初團隊裡使用Angularjs進行開發,剛開始還好,到了專案後期越發感覺Angularjs太重了,以至於後來重構專案時,毅然放棄Angularjs,投入了Vue的懷抱。除了組建團隊時,是我搭建了基於Angularjs的前端開發框架,之後都是由前端小組開發。前段時間,由於公司層面的原因,整個團隊解散,不

歷時902017 CCF大資料與計算智慧大賽(BDCI)決賽落幕

2017年12月24日,CCF第五屆”大資料與計算智慧大賽(Big Data & Computing Intelligence Contest, BDCI)”在江蘇常熟落下帷幕。此次大賽歷時90天,釋出了來自領軍企業和創新企業的12道高質量大資料與計算智

Java效能優化二併發程式設計優化開發必備優化技巧!

一、JDK 併發資料結構: 1、併發 List : Vector 或者 CopyOnWriteArrayList 是兩個執行緒安全的 List 實現。 CopyOnWriteArrayList 很好的利用了物件的不變性,在沒有對物件進行寫操作之前,由於物件未發生改變,因此不需要加鎖。而在試圖

轉發9個offer12家公司35場面試從微軟到谷歌應屆計算機畢業生的求職之路

1 作者:_Luc_ 來源:www.cnblogs.com/figure9 文章來源: https://mp.weixin.qq.com/s?__biz=MzUyOTk5NDQwOA==&mid=2247484737&idx=1&sn=5eb443218a12

面試整理關於代價函式正則化

 向AI轉型的程式設計師都關注了這個號???大資料探勘DT資料分析  公眾號: datadw注:

用到的時間工具前後x前後x分鐘某小時初始某小時結束週一週日月第一月最後一季度第一季度最後一年度第一年度最後一

程式碼如下: // 當天前後x天的時間,value負數表示x天前,正數表示x天后 fun getDay(value: Int): Timestamp { val cal = Calendar.getInstance() c