在這篇文章詳細說了該如何去複習,以前也答應各位把面經整理一下,可是由於入職的事情耽擱了,如今整理出來回饋給你們!java
0.自我介紹
1.問項目(項目詳細介紹、用到什麼技術、有什麼優化)
2.線程池?建立線程池須要哪些參數?是否會存儲內存溢出?
3.經常使用的數據結構?
4.棧跟隊列的區別?
5.編程題:使用兩個棧實現隊列的功能
6.mysql的b樹和b+樹?
7.聚簇索引和非聚簇索引?
8.索引的優化,索引的失效?爲何不是索引建的越多越好?
9.線程安全的問題?(這個問題我並無聽懂)
10.建立線程須要建立哪些資源?線程有哪些狀態?
11.線程的start方法和run方法?
12.線程之間通訊有哪些方法?進程之間通訊有哪些方法?
13.線程和進程之間的區別?
14.tcp和udp的之間的區別?
15.drop、truncate、delete之間的區別?
16.javaGC有哪些算法?常見的垃圾回收器?
17.java內存區域?
18.何時會進行young GC?何時會進行full GC?
19.反問環節python
0.自我介紹
1.ApplicationContext這個接口?有什麼用?繼承自什麼接口?
2.springboot的啓動流程?
3.三道代碼題:mysql
PS:一面就三道編程題把我弄得有點蒙,面試小哥說時間不夠了,我給你安排二面吧...面試
0.自我介紹
1.作項目遇到的問題?
2.單線程改成多線程會產生什麼問題?(由於我項目中使用了多線程優化和線程池)
3.線程池的參數?
4.線程池的內存溢出是什麼狀況?
5.阻塞隊列介紹一下?加鎖的狀況?
6.寫過關於信號量的東西嗎?(面試官對我把阻塞隊列中底層源碼lock.newCondition做爲鎖表示懷疑,因此問出來了這個問題)
7.線程池的啓動流程?
8.線程池的過時時間這個參數,指的是什麼?線程池的過時時間到了以後,線程是如何被操做的?
9.OSI七層模型?
10.TCP和UDP的區別?
11.三次握手協議?
12.hashmap的原理?hashcode和equals的關係?hashcode相等,equals是否相等?
13.hashmap爲何是線程不安全的?
14.hashmap的尾部遍歷?(沒答上來)
15.數據庫的優化過程?
16.explain的查看哪些字段?(答的不完整)
17.數據庫爲何使用B+樹而不是使用B樹?
18.索引存儲的位置?磁盤仍是什麼?
19.B+樹的葉子有什麼特色?爲何B+樹適合範圍查詢?
20.什麼是回表操做?如何避免索引的回表?
21.什麼狀況的會用到鎖?介紹一下java中的鎖?
22.synchronized的鎖的底層實現?
23.鎖升級理論?何時會轉化爲重量級鎖?
24.算法題:給定數組,一個給定值,尋找數組中兩個數字之和爲指定值。(使用了暴力解法,面試問了一下優化方式,沒答上了)
25.反問環節算法
PS:這個面試明顯比上一個氣場要強,問的問題比上一個面試官深,雖然基本上都答上了,可是面試官會對一些平時不太注意的細節加以詢問。總體的流程比較嚴肅。spring
正在騰訊的筆試,打來了電話,說詢問一下狀況。。。sql
1.實習經歷
2.實習項目
3.項目的解決思路
4.在實習公司如何學習
5.對應聘部門的瞭解
6.反問數據庫
1.自我介紹
2.在學校的GPA,在學校有沒有參加ACM和數學建模
3.你我的的博客地址(我寫了本身常常寫博客)
4.閱讀過的技術書籍,遇到問題怎麼去查找
5.hashmap的基本原理
6.處理hash衝突的方式
7.jdk1.8使用treemap來處理哈希衝突,你是怎麼理解的?
8.arraylist和linkedlist的區別
9.增長刪除線性表的第一個元素,使用哪一種數據結構
10.JVM的內存結構
11.新生代和老年代的GC算法
12.內存泄露是什麼?什麼狀況出現?
13.HTTP常見狀態碼
14.HTTP和HTTPS的區別
15.mysql提供哪幾種索引
16.單庫數據庫知足不了性能,如何處理
17.分庫分表的水平和垂直切分
18.Redis的分佈式鎖
19.什麼是公平鎖?什麼是非公平鎖?
20.常見的設計模式?
21.工廠模式使用場景
22.Linux命令:awk命名(分割符),查找指定列;pdm集羣找出文件
23.線程池的實現思路
24.反問:部門的主要內容、HC多很少、本身的不足編程
總結:基本上都答出來,Linux命令兩個都不知道,沒有考察編程,由於面試官說我筆試不是很好,因此沒考察,後面的會重點考察。設計模式
PS:而後就沒而後,今年阿里瘋狂刷KPI,我投的屬於比較晚的,截止到4.30號,仍是沒有消息,找內推人獲得的回覆是,面試官比較忙,而後我就主動結束了內推流程了。。。
1.懟項目
2.瘋狂懟項目
3.歸併排序
4.TCP爲何須要三次握手而不是二次握手
5.反問:部門是什麼,二面何時,部門的業務和語言
PS:這是PCG部門,部門的語言是go、python、java,我猜想這個面試官的主要方向不是java,沒有問我java方面的,問了30分鐘的項目,最後的結論是:項目太少、語言掌握太少。
一段時間以後就收到感謝信了(估計是語言不符)
0.自我介紹
1.線程和進程的區別?
2.進程何時會從用戶態進入內核態?爲何須要引入用戶態和內核態?
3.什麼是守護進程
4.什麼是孤兒進程?什麼是殭屍進程?
5.進程的通訊方式?本機進程與進程使用socket的場景?
6.TCP和UDP的區別?
7.OSI七層協議?五層協議?
8.路由器和交換機分別位於哪層協議?
9.TCP保證可靠的機制?
10.TCP如何確認每次數據的正確性?
11.三次握手和四次回收?
12.TCP創建鏈接和斷開鏈接的狀態(time_wait和close_wait)
13.time_wait和close_wait大量存在的緣由和處理辦法
14.time_wait 的存在時間爲2msl,爲何?
15.數據庫索引?
16.數據庫索引優缺點?索引回表(結合着一個場景題)
17.何時數據庫索引失效?
18.隊列和棧的區別?平衡二叉樹?
19.AVL樹、B樹、紅黑樹的區別?
20.java面向對象特性?繼承、封裝、多態?
21.什麼是反射?使用場景?
22.jvm的內存區間分佈?堆和棧分別存儲的內容?
23.對象的方法參數存儲的位置?
24.gc回收、分代垃圾回收算法、年老代和年輕代回收?
25.hashmap在jdk1.8的變化?
26.項目介紹
27.項目本身作的優化
28.一致性hash算法、負載均衡
29.反問:部門狀況、語言、表現如何、多久能夠接到通知
PS:網易的招聘流程給個人感受很不錯,通知也很及時,問的也很基礎,面試感受比較好。
0.自我介紹
1.項目相關?郵件存儲的方式(個人項目是郵件項目)
2.技術上的優化方案?
3.算法題:01二維數組,上下左右視爲連續,求二維數組中連續的最大1的個數。
4.java中支持併發的容器
5.hashmap的底層實現?get的操做過程?
6.從網頁上寫下一個URL,都有什麼過程?
7.https的非對稱加密?加密過程?
8.反問環節
PS:面試小哥全稱帶笑,算法題也是引導着很快就作出來了。
0.自我介紹
1.學校擔任過什麼職位
2.對網易的見解
3.平時玩遊戲嗎?玩什麼遊戲?
4.平時如何學習的?經過什麼方式去解決問題?
5.說一下你以爲你處理的最好的事情?
6.反問
PS:網易這個hr給個人感受就比較親切,開始的時候還自我介紹了一下,給我一種十分尊重的感受,而後交流的時候也十分輕鬆,就感受本身已通過了。。。
0.自我介紹
1.平時怎麼學?看過什麼書?
2.項目相關?幾我的作的?如何配合工做?功能模塊遇到的問題?如何優化?
3.實習時間?有什麼感覺?
4.上一個實習加班嗎?
5.hashmap如何遍歷?
6.hashcode和equals方法區別和做用?
7.new一個對象,java中有什麼操做?
8.類加載的過程?
9.泛型?泛型的兩個關鍵字介紹一下?(extends、super)
10.Spring的AOP,底層的兩種實現?(兩種動態代理模式)
11.sql語句,班級表,查出重名的人?
12.sql語句優化(慢查詢、explain)
13.網關接口,每一個接口被調用的次數(這個沒答出來,說了一下冪等性的惟一id的那種模式,面試官反饋好像能夠)
14.本身的平時愛好?
15.本身的缺點?
16.你有什麼要問的嗎?
總結:感受面試的比較倉促,而後就沒有了,也沒有感謝信。。。
0.自我介紹
1.算法題:整數數組,打印一個和最大的連續子數組,和相同的狀況下打印最長的狀況。
2.常見排序方法?
3.快速排序和冒泡排序的區別?是否穩定、時空複雜度?
4.遞歸方法的優缺點?
5.研究生實習時長?
6.實習期間的主要收穫是什麼?
7.反問環節?
PS:一面比較簡單。
0.自我介紹
1.學校何時開學?
2.何時能來實習?
3.導師對實習的態度?
4.學校的位置?
5.對微服務架構的理解?
6.實習的目的?
7.會選擇留在華爲嗎?
8.使用過什麼數據庫?
9.有女友嗎?(emmmm)
PS:這個大佬是2004年碩士畢業進華爲的(我也不知道爲何二面會安排這種資歷的面試我。。。),這個大佬剛進華爲的時候被派到我學校附近工做,常常去我學校吃飯打籃球,就對我很親切,全稱聊的很開心,當天晚上就給offer了。
0.自我介紹
1.抽象類和接口的區別?分別用於在什麼場景?
2.String 、Stringbuffer、Stringbuilder
3.重載和重寫的區別?
4.arraylist和linkedlist的區別?
5.爲何hashmap不是線程安全的?
6.線程的狀態?
7.wait和sleep的區別?
8.synchronized的類鎖和對象鎖?
9.線程池在CPU密集型和IO密集型?
10.youngGC和fullGC的觸發條件?
11.young區分爲哪些區,哪一個區滿了會觸發youngGC?
12.垃圾回收器?G1和CMS的瞭解?
13.java內存模型?
14.線程的同步和通訊?
15.volatile關鍵字?底層的機制?
16.float和double的浮點的精度運算?
17.數據庫場景題:
18.樂觀鎖和悲觀鎖?
19.spring的初始化的流程?
20.Redis的數據結構?
21.Redis的分佈式鎖?
22.Redis的哨兵機制?
23.消息中間件使用過嗎?
24.編程題:兩個單向鏈表進行加和,例如1->2->3->4,另外一個是3->4,返回一個鏈表1->2->6->8;不能夠遍歷轉出數字直接加。。。
PS:在數據庫場景題上答的很差,其餘的差很少答上,最後由於部門名額沒了,收到感謝信了
對於大廠面試,我最後想要強調的一點就是心態真的很重要,是決定你在面試過程當中發揮的關鍵,若不能正常發揮,極可能就由於一個小失誤與offer失之交臂,因此必定要重視起來。另外提醒一點,充分複習,是消除你緊張的心理狀態的關鍵,但你複習充分了,天然面試過程當中就要有底氣得多。上面的面試題以及答案我都整理成了一份文檔,能夠關注個人公衆號:前程有光免費獲取!你們看完有什麼不懂的也歡迎私信問我!