天天看點

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

面經來源:牛客作者 擎宇要努力努力再努力 連結:https://www.nowcoder.com/discuss/592854?type=2&channel=-1&source_id=discuss_center_discuss_jinghua_nctrack

自身情況:

1、大學雙非,碩士211,均不是計算機相關專業。

2、研究所學生期間從事的科研項目,材料方向,沒有java或者其它程式設計相關的項目。

3、大學參加比賽較多,電子設計大賽,大學生數學競賽等,沒有程式相關的比賽經曆。

4、由于身邊的人大多數從事程式員行業,自己其實也很糾結,于是疫情期間(2020年4月份)開始零基礎看Java,由于個人原因,5、6月份也沒怎麼學習,斷斷續續刷了點題(真後悔5、6月份沒好好刷題)。還狠狠地梳理了一遍知識體系

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

系統知識圖

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

Docker思維圖(xmid)

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

5、實習的話,由于5、6月份沒好好準備,水了一個線上實習,一個月,寫了個爬蟲,就靠這個java相關的項目和一堆無關的比賽和科研項目拼命掙紮

6、秋招投了網際網路、銀行、營運商、研究所等很多公司,總的來說還可以。

7、不要學我,早點準備!!!我準備得太少了!!!

8、沒有系統的學習,學了Java基礎,就靠刷面經、刷左神視訊、B站視訊等,太難了,雖然最後拿了不少offer,但是都是白菜價,太難了!!!大家一定要好好準備

關于算法部分,其實要準備的細節内容非常多,是以我也花了不少心思整理了一份關于算法方面的寶典,這份資料我對算法的認識以及我的學習方法,除了Leetcode以外,大廠喜歡問的核心算法題也進行一道一道的深度解析。
雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水
雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水
雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

9、國企的話,其實看的因素就太多了,後面我也沒怎麼參加面試(拿了京東offer後,自己已經很滿足了,銀行、營運商的面試幾乎全拒了!!)

10、好好刷題、刷面經!!!

我特意搜集整理了近3年來一線網際網路公司的面試題(技術部分),會發現這些面試題實際問的大同小異,但考察你的内容和技術都是有不同的目的性的,對這一部分的分析,我也有寫在答案裡(詳細見文檔)。
雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水
雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

11、見好就收,知足常樂。

接下來彙總下我的多家面經吧。(可能不全了,僅供參考學習)後面有時間繼續補充……

文末免費打包分享文中内容涉及到:面試題(含答案)+學習筆記+電子書籍+學習視訊

面經彙總:

(A)美團

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

(一)一面:

1、自我介紹

2、項目、實習方面

(1)項目或者實習中最有挑戰性的一個

(2)遇到的問題

(3)介紹下webmagic架構

(4)布隆過濾器原理

3、Mysql

(1)三大範式,為什麼用範式

(2)事務的四大特性,具體說一下

(3)隔離級别,分别解決什麼問題

(4)說一下髒讀

4、Java (1)collection集合

(2)ArrayList和linkedList的差別

(3)線程安全的有哪些

(4)synchronized

5、算法題:反轉連結清單

6、JVM (1)知道哪些垃圾回收算法

(2)說一下垃圾回收機制

(3)知道哪些JVM參數(這個不會回答,讓我自由發揮的)

7、還有一些暫時想不起來

(二)二面:

2、項目有關

3、計算機網絡 (1)網絡TCP和UDP的差別

(2)TCP保證可靠性, TCP在那一層

(3)分層

(4)HTTP的結構

(5)三次握手、四次揮手,為什麼不是兩次握手?

4、資料庫 (1)資料庫優化

(2)索引的分類、 索引優缺點、 聚集索引

(3) 慢查詢,截取分析

(4)紅黑樹

5、Java基礎 (1)線程池

(2)volatile

(3)垃圾回收機制

(4)建立線程的方式

6、算法題:比對括号

(B)京東(提前批)

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

1、自我介紹、項目等

(1)自我介紹

(2)如何學習Java、通過哪些資料

(3)項目、實習中遇到的問題(問題解決後有去了解原理嗎)

(4)通過實習、項目,有哪些提升

2、Java

(1)線程池的參數 ——》線程池核心線程大小和線程池最大線程數量的差別

(2)集合了解嗎 ——》set和list的差別——》set如何驗證是否重複——》為什麼用equals和hashcode呢?而不是用1個

(3)SpringAop用過嗎——》沒用過

(4)JVM運作時資料區有哪些結構——》還有嗎

(5)JVM垃圾回收機制——》為什麼有老年區和新生區

(6)稍等一下……

3、資料庫

(1)好的,繼續……

(2)事物的四個特性 ——》什麼是隔離性

(3)隔離級别有哪些——》分别會有什麼問題——》什麼是髒讀——》什麼是幻讀

(4)有一個問題忘了,比較底層,不清楚如何答,就說了不會

2、Spring中的AOP是如何實作的,jdk和CGLIB方法的差別

3、資料庫hash索引和b+樹的差別

4、b樹和b+樹的差別,b+樹的優勢

5、垃圾回收器CMS和g1的差別

6、http1.0和1.1的差別

7、mysql聯合索引使用A>n and B=m和 A=n and B=m的差別

8、線程池中多線程的處理過程(最大核心是5,最大線程數量10,最大隊列數量10);如果滿了後,如何進行;核心線程最終會結束嗎(一面的時候和面試官讨論過,面試官說核心線程也是會結束的,是以我就按照1面的說的)

9、你知道哪些java鎖

10、TCP4次揮手、3次握手

11、為什麼是4次揮手,而不是3次 ——》為什麼四次揮手等待2MSL

12、SpringBoot核心自動裝配原理——》為什麼使用EnableAutoConfiguration 注解

13、用過mybatis嗎

14、httpclient這個忘了

15、反問環節:問了平台的業務和用到的技術棧

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

贈送我的刷題題庫(1:BAT一線大廠面試真題)

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

贈送我的刷題題庫(2:專題面試題)

(C)京東(校招正式批)

2、多線程的狀态

3、建立線程的方式

4、死鎖的必要條件

5、String、StringBuffer與StringBuilder之間差別

6、排序算法有哪些

7、GC(Java垃圾回收機制)

8、B和B+樹的差別

9、對無向圖有了解嗎

10、深度優先周遊類似于二叉樹的哪個周遊(二叉樹的周遊種類)

11、排序算法中不穩定的排序有哪些

12、現有1000個蘋果,分别裝到10個箱子裡,要求可随意拿到任何數目的蘋果但不拆箱,是否可行?若行,每個箱子放的蘋果數分别是多少?若不行,請說明理由

(1,2,4,8,16,32,64,128,256,489):考慮二進制

13、45 79 56 38 40 84 第一個為基準,快速排序第一次劃分結果是?

14、反問:業務方向和技術棧

(二)二面:1、ArrayList、LinkedList的差別——》LinkedList為什麼删除快、查詢慢

2、隊列和棧有了解嗎——》怎麼實作

3、優先級隊列了解嗎——》堆用什麼資料結構實作

4、基本類型——》int是多少位——》封裝拆箱了解過嗎

5、String、StringBuffer、StringBuilder的差別——》線程不安全那能不能用?——》什麼場景下使用線程不安全的情況

6、Java記憶體配置設定政策(JVM方面)——》建立一個對象,會在哪呢——》垃圾回收器的算法——》你自己具體用的是哪個算法——》具體的回收器(不是原理)——》垃圾回收機制——》每個區都用到的什麼算法

7、Java模型解決的問題(沒懂啥意思)

8、Violatile了解麼?——》什麼場景下使用過?

9、==和equlas的差別

10、synchronized了解嗎——》和lock的差別——》為啥有synchronized了還用lock——》預設使用的是樂觀鎖嗎?還是說怎麼設定——》樂觀鎖和悲觀鎖如何切換

11、了解單例模式嗎——》怎麼設計單例模式——》為什麼這樣就是單例的——》如何做到受控操作呢?

12、線程池中如何使線程run起來——》線程池的參數——》線程池的執行流程——》跑任務結束後,如何把結果拿出來

13、HashMap了解嗎?——》什麼場景下使用過——》查詢的時間複雜度是多少——》為什麼是O(1)——》hash碰撞怎麼辦——》hashmap使用的哪一種

14、了解SQL注入嗎——》原因是啥?如何避免SQL注入?

(三)三面——HR面:

1、自我介紹 2、如何學習Java 3、遇到問題 4、了解面試的什麼部門嗎?5、了解業務嗎?6、下載下傳京東健康APP去了解了嗎 7、一會兒會給你結果,去官網查就行了

(D)伴魚

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

算法題(沒思路5分鐘可以換題)

1、按奇偶排序數組II(給定一個非負整數數組 A, A 中一半整數是奇數,一半整數是偶數。對數組進行排序,以便當 A[i] 為奇數時,i 也是奇數;當 A[i] 為偶數時, i 也是偶數。)(leetcode 922原題)

一下子沒有思路,換題

2、給定一個整數數組,判斷是否存在重複元素。

如果任意一值在數組中出現至少兩次,函數傳回 `true` 。如果數組中每個元素都不相同,則傳回 `false` 。

面試的時候,先寫的雙重循環,寫完後,主動和面試官說有個更好的思路(Set判斷),要不要再寫一個,然後面試官說可以,這樣二面的時候會給面試官一個好印象。

3、然後說我通過了,問我有啥問題。(就實習、還有移動端、自己學java聊了聊)

4、沒過兩分鐘,通知明天二面。

2、垃圾回收算法——》結合自己的了解說一個算法原理——》垃圾回收機制(過程)

3、JVM的結構有哪些

4、七層網絡協定有哪些

5、輸入一個連結的一個過程(輸入URL之後的流程)

6、說一下四次揮手過程

7、UDP和TCP的差別

8、GET和POST的差別

9、post如何防止重複送出(這個沒說上來)

10、Java的三大特性——》解釋什麼是多态——》重寫和重載的差別——》通路權限問題——》再說下重載

11、synchronized和lock的差別(原理)

12、線程池的執行流程

13、類加載機制

14、有一個問題(忘了),沒了解過

15、設計模式有哪些

16、Mysql:查詢資料

17、如何通過IO實作檔案的一個拷貝(這個見到過,給忘了!!!)

18、說一下某個集合的底層結構吧

19、有一個問題,沒了解過,忘了

20、一個數組,實作把某個資料放到第一位,其他的保持順序不變後移,說一下思路

21、檔案夾下邊有子檔案夾……可能有很多子檔案的子檔案,擷取所有的檔案名字(有一個方法可以直接擷取名字,沒想起來,面試官告訴我了)——》我想的是遞歸,面試官說有好的辦法,我沒想出來

22、如何用一個可盛3L水的杯子,一個可以盛5L水的杯子,如何擷取4L水。

23、遇到問題如何解決?結合自身說一下

24、你說你積累過錯誤,說一個你積累的錯誤,以及錯誤的原因說一下

1、對前兩輪面試的體驗

2、聊碩士期間的研究、實驗室情況

3、什麼時候開始打算從事網際網路行業的

4、家庭情況

5、隻找了北京的公司嗎

6、預期薪資

7、目前其他公司面試流程

8、可以來實習嗎

9、投遞伴魚公司的初衷(忘了啥問題了,我說了下我的初衷)

10、反問

11、HR介紹公司情況

(E)阿裡

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

1、項目

(1)思路*

(2)遇到的最大的難題,自己做得最好的地方

(3)Mysql用到的語句

(4)實作翻頁的原理

(5)自己一個人做的嗎

(6)為什麼選擇網際網路行業?跨專業(電子到軟體)

2、Java基礎

(1)基本類型及長度

(2)ArrayList、LikedList、Vector的差別

(3)ArrayList為什麼有這些特點,因為什麼造成的呢

(4)線程池如何實作

(5)多線程如何實作的

(6)為什麼使用GC(垃圾回收)

3、算法題

(1)如何判斷一個單連結清單是否有環

(2)二分查找的原理

(3)資料結構中你最擅長的是?

2、 HTTP協定、HTTP狀态嗎

3、TCP三向交握

4、Java 記憶體管理

5、 Cookie和Session的差別

6、List和Map的源碼實作

7、講一下List的add方法實作和Map的get方法實作

8、線程的生命周期

9、如何建立線程

10、資料庫的索引結構

11、描述B+樹

12、Java中的鎖實作方式

13、項目介紹

14、爬蟲如何避免反爬蟲

15、算法題:最長公共子序列

(三)三面:

1、回憶代碼

2、自我介紹

3、項目介紹

4、項目具體流程和分工

5、你負責的工作.

6、性能要求變高,怎麼解決,講一下思路

7、在最近一年,你在技術上遇到什麼難點是什麼?或者說挑戰過最難的事情

8、除了項目之外,自己參加過什麼比賽

9、研究所學生期間,項目之外自己做過什麼技術上的

(F)奇安信

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

1、說一下Collection接口下面的類

2、 ArrayList和LinkedList差別

3、JVM的垃圾回收

4、JVM堆記憶體預設比例

5、對多線程方面的了解

6、多線程的狀态

7、synchronized具體實作原理

8、談談自己對Spring Ioc和AOP的了解

9、項目中是怎麼使用事務的?spring怎麼實作事務的?

10、TCP和UDP差別

11、SpringBoot與SpringMVC的差別

12、 類加載機制

13、 java通路修飾符的作用範圍

(G)百度

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

1、項目介紹

2、為什麼選擇這個崗位

3、今後幾年有什麼規劃

4、自我介紹

5、Java的基本類型

6、boolean的底層是什麼存儲?為什麼?

7、其他語言呢

8、接口和抽象類的差別

9、為什麼沒有多繼承

10、枚舉類和普通類的差別

(H)華為(數通)

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

2、項目

3、計算機網絡問的多

4、Java他說不會

5、算法題:24點遊戲(不會寫,說了說思路)、字元串反轉(不是正常的類型,沒寫出來,說了說思路)

6、反問

2、項目(SCI論文問的多)

3、計算機網絡知識,涉及較多

4、算法題:輸入一個日期,判斷是今年的第幾天

5、反問

(三)主管面:

3、遇到問題怎麼解決等正常問題

4、反問

(四)來了個加面:

1、一個很重要的問題:你說一下你能打動我的地方

2、其它都是HR面正常問題

(I)浪潮

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

7/7投遞提前批——》8/4AI面試——》等待ing——》9/2通知通過AI面試——》9/4上午9:20面試——》大約10分鐘

等待的時間太漫長了

好,下邊面試過程(浪潮線上面試系統)

1、HR(可能是HR,也可能不是,暫定HR):時間比較緊,咱就不自我介紹了,你意向地點是北京,濟南,有傾向嗎——》學校在北京,家鄉濟南,都可,根據組織安排

2、HR:你從事的是Java是吧

3、技術面試官1:我也不懂JAVA,你說個你做過的項目吧——》巴拉巴拉

4、 技術面試官1:我問你點别的吧——》知道哪些排序算法——》快速排序說一下——》說一下時間複雜度

5、技術面試官1:用過資料庫是吧,具體操作過嗎?——》MyISAM和InnoDB的差別

此時,好巧不巧,信号斷了,直接進進不去 ,退出又重新進的(對于這個系統,有過AI面的各位應該深有體會,不多言)

終于又進入面試系統

6、HR:你是等了好長時間才進來的嗎?——》說了一下情況,解釋了一下

7、HR:沒事,你接着說吧

8、技術面試官1:我沒啥問的了

9、技術面試官2(全程沒咋說話,面無表情,此刻開口):我沒啥問題問了

10、HR:您有什麼問題要了解嗎——》業務,不同部門,後續安排——》HR:後續會有HR和你聯系溝通具體的部門和地點。

結束……

不得不說,投一次浪潮做一遍測評,太難受了,從實習到提前批、被從智聯上撈起,做了七八次測評了……

不管怎麼說,面試之前大家千萬要做好準備,無論從履歷方面還是刷題,刷面經,刷視訊,而我的是這樣的:

履歷參考《程式員找工作指南》,另外我可以提供18種優秀的履歷模闆。

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

關于學習方法,我個人喜歡閱讀書籍文檔結合視訊的方式,對于這些我自己個人也有一些整理。

閱讀書籍文檔:

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

Java架構成長筆記

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

Redis核心技術筆記(學習總結)

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

Spring全家桶學習筆記(SpringBoot+SpringMVC+SpringCloud+源碼等)

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

其它

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

看視訊學習:

雙非大學跨專業5面京東,8600小時後收到通知,流下喜悅淚水

結尾:未來願景及祝福

我知道,每個人的情況不盡相同,但是未來的路究竟要怎麼走,取決于你自己的步伐。每個人都有自己的選擇,但我一直持有的一個觀念就是:好運永遠是留給有準備的人的。

最後,希望未來的我發展順利!同樣,也祝願你實作自己的人生理想,願我們都越來越好,共勉!

繼續閱讀