985碩,秋招面試30家企業,怒斬阿里、位元組、美團offer

yunduo1發表於2020-10-06

 

6.1號開始投簡歷,7.6號開始第一場面試,9.30號收到最後一家意向書,我的秋招結束了!

 

找工作期間薅了網上不少大佬的羊毛,特別感謝期間給予幫助的各位前輩們。在此記錄下秋招的全過程,也算是對幫助我的大佬們的回饋,十一假期期間碼字,面試問題都排在後面(先看看我是如何一點點薅羊毛的),看得出我對幫助過我的大佬們的重視!(舔就完了,滋滋)

 

背景介紹

 

本科東北某985機械專業,研究生武漢某985計算機專業,勉勉強強算半個科班?無實習、無專案、無計算機相關競賽,"三無"選手一枚,是真滴菜。而且專碩兩年制,上了半年課,疫情在家呆了半年,實話說,找工作之前,我沒去過實驗室,更不用提專案了。說到這還是要感謝研究生導師當時保研要了我,我是真沒想到自己可以從機械跨專業保研到計算機。雖然研究生期間沒參與過專案吧,但好歹簡歷上有計算機學院的碩士,不會掛簡歷,足以足以。

 

因為自己沒有研究演算法相關,加上聽往屆學長們說找工作越來越難,去年10月開始決定找Java開發崗,後面投遞的也都是這個崗位。最終收穫的意向書有:位元組跳動、百度、快手、美團點評、網易、京東。研一下才知道的很多大佬,如果能早點知道,可能會準備的更充分,哈哈,再誇一下,網上的大佬們真的是好!

複習準備

 

我是從去年10月份開始自學一些課程,前期主要也就是刷刷演算法題,畢竟沒有找工作的緊迫感,效率也沒那麼高,真正認真複習應該是年後2月份開始。當時疫情在家,得知武漢一時半會也開不了學,就在家安心複習吧,前期主要還是看視訊為主,在家剛開始很難投入學習狀態,因為看不進去書,每天就是看視訊+整理面經+刷程式碼題,後續狀態上來了,就開始看書和背知識點,建議大家早點開始準備,這樣就能趕在7月份投一波提前批。我之前也猶豫了一下要不要投提前批,畢竟提前批都是神仙打架,但誰又知道自己是不是神仙呢,哈哈,這裡建議在複習的差不多的情況下,可以提前批就投起來,這時候hc多,面試流程快,只要通過面試基本就有位置,而且很重要的是很多大廠提前批免筆試!!!位元組、京東、百度、快手都是免筆試的。我是在7月份就拿到了位元組和京東的意向書,當時心裡就很穩了,後面提前批又拿了百度和快手,所以正式批就沒怎麼投簡歷了,省去了每天大量投簡歷和筆試的時間,本想後續再好好努力衝一下阿里騰訊,不過確實有點懈怠了,再加上水平有限,就沒拿到,阿里面完了三輪技術,官網顯示三面通過,但是沒有被髮起第四輪面試,應該是投的部門招滿了,不再繼續面了,後續又被另一個部門撈起來,現在還在流程中,就當掛了吧。

 

如果提前批准備的不是特別好的話,或者說還沒開始大量的背書,很多基礎的東西答不上,那也不建議投提前批,雖然提前批多一次機會,但是如果面評顯示的是基礎不好,那麼正式批有的就不給面試了,周圍有同學就是這樣,所以大家還是根據自己的複習進度決定要不要投提前批。之前都說,"金九銀十",感覺現在已經是"金八銀九"了,每年7月份就開始招聘了,真是越來越早了。

資料結構與演算法:劍指offer+LeetCode

 

樓主是個跨專業選手,從去年9月研究生開學之後,開始學習資料結構與演算法,最開始是學的演算法導論那本書,邊學邊敲,課後題也跟著做,當時是第一次接觸DFS、BFS、回溯、二分、貪心、動態規劃等等演算法。演算法導論用了一個月左右時間過了一遍,對基本的資料結構和演算法有了全新的認識。10月份國慶假期之後,開始刷LeetCode,最開始一天只能刷個2-3道,因為平時還要去教室上研究生的課,利用晚上或者水課帶著平板刷題,不得不說,每天過的還是很充實的,沒課就去圖書館刷題,有種世界與我無關,我只管刷題上課吃飯睡覺。當然效率不是很高了,因為總有課提前結束要考試或者交大作業的,而且沒有找工作的那種緊迫感。

 

演算法題自己一直在堅持刷,LeetCode上搞了三個進度條,刷題數分別是456、165、306。這裡解釋下,第一個進度條是最遠刷到的題數,後面兩個進度條是重新從頭開始刷,第二個是重刷了一下熱題100和劍指offer,第三個是今年6月份開始重新按專題刷。因為好多題是看題解做的,做完就忘了,我不是很開竅的那種,所以我能做的就是反覆刷,光劍指offer我就刷了三遍,勤能補拙,到後來面試的時候,演算法題基本都是秒做。還記得快手二面一共三道程式碼題,十分鐘不到就寫完了,面試官說,小夥子,演算法題沒少刷啊,我倆相視一笑,我覺得程式碼題真是特別重要的,基本上程式碼題寫不出來,這場面試就掛了,程式碼題寫好了,哪怕基礎弱點,也能進二面。建議大家早點開始刷題,不用刷太多,我找工作前的兩三個月已經不再重新整理題了,都是反覆刷之前做過的,爭取看到題目就能給出思路。

劍指offer

 

目錄

 

 

 

LeetCode

 

目錄

 

資料是免費分享給大家的,有需要的鐵鐵,幫忙轉發一下,關注下方公眾號即可100%免費獲取噻

 

作業系統+Linux:

 

這裡還是要感謝下導師,導師是教本科生OS課的,自己報名了導師的助教,平時去教室蹭本科生大三的課,再加上幫本科生改課後作業和實驗課,基本上相當於跟著學了一遍OS,不僅有助教的錢拿,還能學東西,何樂而不為,作業系統有一些知識點還是挺難的,比如程式執行緒區別、程式間共享機制、執行緒的各種狀態以及轉化、生產者消費者模型,這個面試有被手撕過,還有檔案管理系統、儲存系統、磁碟扇區、分頁分段段頁結合等等,還有一個值得一提的就是LRU程式排程演算法,頭條一面被考的這個。剛好這邊是用Linux來講解的,就又學了一下Linux。這樣後續面試的時候,就很有底氣的跟面試官介紹這塊的內容,不用怕是自己自學的不好而說不明白。建議沒學過OS的,可以看看網課,比如王道的,自己看書總感覺理解不透,也抓不住重點。Linux的話,可以自己搞個虛擬機器,來個ubuntu,實際操作一下,很多命令都是敲熟了都能背下來了,常考的命令有:top、chmod、du/df、vim、head、tail、ps、kill、cat、ping、grep、cp、mv、rm、tar、diff、scp、ssh、more/less、mkdir、rmdir等等。

作業系統

 

目錄:

 

 

 

 

Linux

 

目錄

 

資料是免費分享給大家的,有需要的鐵鐵,幫忙轉發一下,關注上方公眾號即可100%免費獲取

計算機網路

 

這個主要是看了周志壘老師的網課,講的特別好,B站連結https://www.bilibili.com/video/BV1gK411n7tK/,用的是課程筆記,書籍方面主要是看了《大話計算機》那一系列書籍,主要能補全計算機網路底層的知識。

還有課件分享

IO課件

TCP/IP課件

TCP/IP/IO網路通訊視訊和課件獲取,轉發關注小編,關注上方公眾號自行獲取!

 

常考的有:

 

1、OSI七層模型、TCP/IP5層模型以及每一層常用的協議

 

2、TCP、UDP協議的區別、TCP粘包問題、資料包文的結構(應用程式+TCP/UDP報文頭部+IP報文頭部+乙太網頭部)

 

3、點對點和端對端

 

4、TCP的滑動視窗、擁塞控制過程、三次握手、四次揮手以及每個過程的狀態,為什麼三次四次

 

5、SYN泛洪攻擊

 

6、瀏覽器輸入url並回車的過程(①、根據域名查詢域名的IP地址,DNS解析。②、TCP連線③、傳送HTTP請求④、伺服器處理請求並返回HTTP報文⑤、瀏覽器解析渲染頁面⑥、連線結束。)每個過程都要很熟,要經得起推敲,不要面試官一深問就不會說了

 

7、HTTP1.0、1.1、2.0之間的區別

 

8、HTTP 和HTTPS的區別

 

9、SSL連線的過程、對稱加密、非對稱加密

 

10、HTTP請求的各種方法、狀態碼(1**、2**、3**、4**、5**)

 

11、請求行、請求頭、請求體、響應行、響應頭、響應體都包括什麼

 

12、Session和Cookie的區別以及如何解決分散式session問題

大話計算機

 

目錄

 

 

 

Java基礎+JavaWeb+SSM+SpringBoot

 

這個我是看的馬士兵的教程,基礎的部分是在去年10-12月中間完成的,連帶一起看了MySQL資料庫相關的基礎語句,B站連結,B站是個好站!https://www.bilibili.com/video/BV1UD4y1o7ms,找工作前,看了Java核心技術 卷I 基礎知識那本書,適合我這種基礎不好的,周圍同學有看程式設計思想的,那個也不錯。可以參考下cyc2018和java guide兩位老哥關於java基礎常見的問題,github上直接搜尋即可。

 

JavaWeb和SSM框架也是看的馬士兵的視訊入門,SSM框架是在今年2-3月份才看完的,SpringBoot也是看的馬士兵的,後面買了一本《SSM企業級框架實戰》那本厚厚的書看了一遍,當做複習了。大廠對框架問的不多,好多就是問的IoC,AOP思想、進而引出反射和動態代理模式的問題,還有問的就是SpringBoot的幾大特性,相比Spring的區別等等,大家不要把太多精力放在框架的學習上,面試問的不太多,主要還是基礎和程式碼題。

Java核心技術 卷I 基礎知識

 

目錄

 

SSM企業級框架實戰

 

目錄

 

有需要獲取完整文件用來學習的朋友,幫忙轉發一下,關注文末公眾號免費獲取即可

資料庫MySQL

 

我學的是MySQL,剛開始也是跟著馬士兵的視訊來的,後續看了一下MySQL 從入門到專案實踐》前幾章入門的,刷了一下lc上資料庫的部分就可以了。

 

常考的有:

 

1、手撕SQL語句

 

2、資料庫事務、隔離級別、Innodb和Myisam的區別

 

3、鎖機制(悲觀鎖、樂觀鎖、行鎖表鎖、獨佔鎖共享鎖等等)

 

4、MVCC、NK-Lock

 

5、索引的資料結構(B+樹)、索引優缺點

 

6、最左字首原則、索引優化

 

7、聚簇索引、覆蓋索引

 

8、資料庫三大正規化

 

9、主從複製、主從一致、分庫分表等等問題

 

後端考察資料庫還是蠻多的,多看書,多看面經準備。

MySQL 從入門到專案實踐

 

目錄

 

 

 

 

目錄太長了,文章內容太詳細,就不一一展現了,有需要獲取完整文件用來學習的朋友,幫忙轉發一下,關注文末公眾號免費獲取即可

JVM

 

強烈推薦《深入理解JVM》周志明的,主要看記憶體管理、垃圾回收、類載入機制、雙親委派機制這幾章即可,後續的JVM調優我沒看,也沒被問過,是加分項吧,有餘力可以看。

 

目錄

 

 

多執行緒併發

 

看的是《Java併發程式設計實戰》,這本書相當經典,但是比較難啃,我也是看了兩遍才把大概的框架搞清楚,之後又針對不同的知識點看的技術部落格,慢慢啃透的。建議書上看不懂的地方可以去CSDN上搜一些部落格,加強鞏固。

 

 

 

常考的有:

 

1、程式和執行緒的區別

 

2、執行緒安全的定義、執行緒的狀態

 

3、多執行緒的實現方式(Runnable和Callable的區別)、start/run方法的區別

 

4、wait()/notify()/sleep()/yield()/join()幾個方法的意義

 

5、notifyall()這塊涉及到資源池和鎖池,可以加深理解下

 

6、執行緒池的建立方式,7大引數、阻塞佇列、拒絕策略、大小如何設定

 

7、鎖機制:樂觀鎖CAS、悲觀鎖synchronized和ReentrantLock、實現原理以及區別,非常重要,基本每次必問,可以多掌握一些,看到原始碼層面,每次這塊我都能給面試官說五到十分鐘不停。

 

8、鎖優化:偏向鎖、輕量級鎖、自旋鎖、適應性自旋鎖、鎖消除、鎖粗化等

 

9、Java記憶體模型和volatile的原理,以及volatile和synchronized區別

 

10、ThreadLocal執行緒本地儲存原理,原始碼層面

 

11、記憶體洩漏問題

 

12、AQS同步佇列器原理,CLH佇列

 

13、AQS元件:ReentrantReadWriteLock、CountDownLatch、CyclicBarrier、Semaphore原理掌握

 

14、JUC原子類,原理:CAS+volatile + native方法來保證操作的原子性

 

15、集合框架的多執行緒實現類:CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet、ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinkedQueue、ConcurrentLinkedDeque

Redis快取和MQ訊息佇列

 

這兩個現在基本也是秋招必備的了,當然還有SpringCloud,SpringCloud我沒學,騰訊二面問到了,沒答上,就涼了。

 

Redis的話可以看《Redis設計與實現》這本書,mq我沒有特意看書,是在專案中用到了,就上網上找了點部落格,加深理解了一下。Redis考察的點還是挺多的,京東二面問了15分鐘的Redis。

 

 

以上資料均免費和大家分享,只需要幫忙轉發一下,關注文末公眾號即可獲取

 

常考的有:

 

1、Redis為什麼要作為快取? 高效能和高併發

 

2、redis和memcached的區別

 

3、redis常用資料結構、以及資料結構底層,常考到跳錶的結構

 

4、定期刪除、惰性刪除

 

5、記憶體淘汰機制

 

6、持久化機制

 

7、快取雪崩、快取穿透、快取擊穿

 

8、併發競爭key問題

 

9、快取和資料庫雙寫時的資料一致性

 

10、為什麼單執行緒還那麼快?(非阻塞多路IO複用)

 

11、select、poll、epoll區別

 

12、五種IO模型

 

13、redis叢集、哨兵機制

 

14、分散式鎖

 

專案

 

說到專案,真的很慚愧,是爛大街的秒殺,跟那些專案大佬真的沒的比,沒有實習就意味著只能做網上的開源專案,面試官一看就知道專案是怎麼來的,很尷尬,不過既然這樣,那就盡力把專案搞熟,爭取每個細節都不放過,這樣面試官問起來也會對答如流,證明自己親手做過,能做的就是不能讓面試官在專案這裡減分吧,加分肯定是夠嗆!

秋招面經

 

位元組跳動提前批(三輪技術面,offer)

 

7.6號一面58min

 

自我介紹

 

為什麼投客戶端(專案是後端的)

 

網路

 

1.http和https區別

 

2.說一下加密演算法(說的比較詳細,面試官讓簡單點說)

 

多執行緒

 

1.synchronized和lock區別

 

2.說一下各自原理

 

3.樂觀鎖悲觀鎖說一下

 

4.syn和lock是樂觀還是悲觀

 

5.樂觀鎖有啥?原理和ABA問題

 

6.重入鎖說一下

 

OS

 

1.頁面置換演算法

 

2.LRU快取,讓我設計LRU思路

 

JVM

 

1.說一下垃圾回收這塊,知道的都說出來吧

 

2.新生代和老年代都用什麼演算法?

 

3.雙親委派說一下

 

4.類載入過程

 

資料庫

 

1.索引作用?

 

2.索引的資料結構

 

3.聚簇索引是什麼?

 

4.innodb是什麼索引?

 

5.查字典是什麼索引?

 

程式碼

 

1.單例模式(寫的雙重檢驗)

 

追問syn和volatile作用

 

2.Z字型遍歷二叉樹

7.13號二面55min

 

面試官沒開攝像頭,看不到表情,緊張+1

 

自我介紹

 

聊一下專案

 

1.專案上線了嗎?(沒有)

 

2.基於springboot的還是什麼?資料庫用的啥?(mysql)

 

3.說說依賴注入,ioc

 

4.說說aop,中間講到了動態代理

 

5.說一下動態代理(jdk和cglib)

 

6.靜態代理和動態代理區別?

 

7.專案裡哪塊用到aop了(說的事務管理)

 

8.redis熱key問題如何解決(本地快取,熱key備份)

 

9.如何獲得熱key(redis-cli-hotkeys)

 

10.dns解析過程

 

11.tcp的擁塞控制

 

12.jvm記憶體模型

 

13.棧裡面存了啥?

 

14.堆的劃分,垃圾回收演算法

 

15.synchronized原理,作用在哪?

 

程式碼題

 

1.手撕生產者消費者模型

 

2.和最大連續子陣列

7.16號三面50min

 

1.自我介紹

 

2.專案介紹

 

3.md5是多少位?(答錯了,應該是128位)

 

4.md5原理知道嗎?可逆嗎?

 

5.還知道哪些加密演算法?(說了對稱加密和非對稱加密)

 

6.哪裡用到了非對稱加密?(https)

 

7.說一下https請求過程

 

8.equals和==區別(null哪個能用)

 

9.hashcode和equals

 

10.如果沒有重寫equals方法,那麼a==b和a.equals(b)一樣嗎?

 

11.建立執行緒的方法?區別?

 

12.try catch能捕獲到哪些異常?

 

13.說說註冊登入怎麼設計?

 

14.為什麼投客戶端?

 

程式碼題

 

1.判斷兩個連結串列是否相交

 

2.判斷一個連結串列是否有環,求出入環節點

 

3.如果連結串列是有環的,那如何求兩連結串列的相交節點?

招銀網路提前批(三輪技術面,掛)

 

 

電話面26min

 

自我介紹

 

Java基礎

 

1.過載和重寫的區別

 

2.static和final會被重寫嗎

 

3.string三姐妹

 

4.jdk1.8有什麼改進(沒系統總結,只說了介面,hashmap,lambda)

 

5.集合類的流操作用過嗎

 

6.邏輯與的短路原則

 

&與位運算有什麼聯絡

 

&&如果前面為false,後面如果有空指標語句,會不會報異常?

 

多執行緒

 

1.程式執行緒協程區別和聯絡

 

2.多執行緒相關的關鍵字

 

3.synchronized可以作用在哪些位置

 

4.鎖升級有哪些變化?

 

5.自動升級的條件是什麼?還是會自璇多少次或者其等待執行緒超過多少就升級?

 

6.CAS怎麼解決ABA問題

 

計網

 

1.TCP和UDP區別

 

資料庫

 

2.MySQL有幾種搜尋引擎,區別?

 

框架

 

1.Spring IoC和AOP的理解

 

2.AOP場景

 

3.AOP註解

 

4.SpringBoot裡面用了哪些starter?

 

5.專案部署有用到分散式部署嗎?

 

6.springcloud?

 

7.大資料有什麼瞭解嗎?hive和hbase的區別?

 

反問:還有幾輪面試?兩輪技術+HR

 

視訊一面30min

 

1.自我介紹

 

2.多執行緒瞭解嗎?說一下哪裡用到多執行緒了

 

3.執行緒池核心引數

 

4.資料庫查詢比較慢,怎麼排查?(說了explain,sql語句優化,分庫分表,用redis)

 

5.專案用到redis了,說說redis使用場景

 

6.專案用到分散式部署了嗎?

 

7.分散式session存在redis哪個目錄裡?

 

8.redis分散式鎖

 

9.垃圾回收機制

 

程式碼題:

 

一張表裡有:分行行號,5月和6月的績效,讓統計每個分行5月和6月的排名差?說是Java也行sql也行

 

懵逼了,第一次做這種題,和麵試官說了思路,沒寫完,面試官說時間短,說說思路吧,不寫了

招銀網路視訊二面20min

 

1.自我介紹

 

2.為什麼跨專業?

 

3.學過哪些計算機專業課?如何安排時間的

 

4.學Java的時候,哪塊感覺不好學?

 

5.說說你理解的反射,應用在哪?(說了spring註解)

 

6.說說QPS是啥?跟啥有關?

 

7.如何評價電腦的效能?

 

8.雙重MD5是絕對安全的嗎?

 

9.如何校驗第一次傳進來的密碼?

 

10.設計模式的七大原則?

 

11.Es為啥能保證實時性?

 

12.redis的key怎麼設計?

 

13.一次一例?好像意思是每個請求使用一個金鑰?什麼什麼的保證安全?(沒聽懂問題)

 

14.類的生命週期

 

15.說說知道的設計模式

 

16.說說介面卡模式

中興優招(兩輪技術面,測評掛)

 

 

一面電話面20min

 

投的上海,問考慮南京嗎?我說可以

 

自我介紹

 

Java指令碼寫過嗎?(沒)

 

計網TCP/IP四層協議

 

作業系統程式之間通訊

 

使用過Linux嗎?說說常用命令

 

寫過shell嗎?

 

編譯原理學過嗎(沒)

 

瞭解過音視訊檔案的結構,有解析過嗎?(沒)

 

獎學金拿過什麼?

 

有沒有發過專利,論文?

 

專業排名?

 

有個任務,本來定6天完成,突然讓你3天搞定,你怎麼做?

 

如果遇到困難了該咋辦?

 

反問:後續還有面試嗎?說還有

二面視訊面30min

 

1.驗證身份,學生證和身份證

 

2.自我介紹

 

3.專案經歷,挑一個熟的講一下

 

4.說一下專案架構,流程

 

5.為什麼做這個專案?

 

6.專案單機的還是分散式部署?

 

7.訊息佇列技術的優點

 

8.訊息佇列放到記憶體還是磁碟?放磁碟為什麼還這麼快?(蒙了!面試官讓課後瞭解一下)

 

9.md5解釋一下

 

10.如何保證http請求安全?(答:用https)

 

11.說一下https原理,加密演算法解釋一下

 

12.意向工作地可選範圍?

 

13.為啥來南方讀研?

 

14.未來兩三年工作規劃?

 

15.技術棧Java,能考慮換c嗎?

 

16.中興能吸引你的地方?

 

17.有什麼愛好?

 

18.三個詞形容自己性格

 

19.在哪瞭解到中興招聘的?

 

20.進公司能為公司帶來什麼?

 

21.能接受加班的範圍?

 

22.反問:問了部門業務(答:路由器,機頂盒和音視訊處理)

京東提前批(兩輪技術、一輪HR,offer)

 

 

7.14號一面55min

 

1.自我介紹

 

2.介紹專案,負責哪塊,上線了嗎?

 

3.如何保證redis和資料庫一致性?(答:延時雙刪)

 

4.延時雙刪的時間精度?

 

5.專案有要求時間精度嗎?(答:毫秒級的,沒做更多要求)

 

6.說說mq原理,怎麼保證訊息接受順序?

 

7.對比其他mq,有什麼區別,怎麼選型?

 

8.專案壓測了嘛?(Jmeter)

 

9.arraylist,linkedlist,hashset區別和使用場景,執行緒安全?

 

10.hashset為什麼是隨機的?其他兩個是按存入順序的?

 

11.說說類載入過程(5步)

 

12.雙親委派模型好處?

 

13.new子類的時候,子類和父類靜態程式碼塊,構造器的執行順序

 

14.程式和執行緒的區別

 

15.如何建立執行緒?

 

16.runnable和callable區別

 

17.執行緒池相關

 

18.synchronized和lock區別原理

 

19.tcp三次握手四次揮手工作在哪一層?

 

20.說一下三次握手過程和狀態

 

21.用過序列化和反序列化嗎?(沒用過,只知道理論)

 

22.設計模式瞭解哪些?(沒深入問)

 

23.程式碼題

 

(1)連結串列反轉

 

(2)int陣列,實現偶數在前,奇數在後,不改變相對順序

 

24.反問:如果能通過面試,後續還有幾輪?

 

答:不清楚,但肯定是有面試的

7.16號京東二面50min

 

面試官人超級好,打call!

 

1.簡單聊天

 

2.說說專案

 

3.各種redis相關的問題,大概有15分鐘

 

4.執行緒池引數

 

5.Reentrantlock原理

 

6.AQS原理,裡面有幾個佇列?(CLH+條件佇列)

 

7.ThreadLocal原理,同時引出記憶體洩露

 

8.事務的特性

 

9.隔離級別

 

10.解釋一下幻讀

 

11.索引的結構,為啥用B+樹?

 

12.樂觀鎖CAS原理解釋一下?怎麼獲取到記憶體對應的值?(說了native方法獲取offset,然後偏c語言底層了,面試官也沒為難)

 

程式碼題

 

1.二分法找排序陣列中絕對值最小的元素

 

2.連結串列兩兩反轉

 

反問:

 

1.面試官是負責哪塊業務的?

 

答:京東零售,推薦演算法相關的,根據使用者搜尋智慧推薦商品

 

2.如果能通過面試,是加入您這邊部門嗎?(因為我投的是國際化業務,但是被京東零售發起的面試)

 

答:是的

 

3.後續還有幾輪面試?

 

答:如果通過,就是HR面了

京東HR面7min

 

1.自我介紹

 

2.有實習經歷嗎?

 

3.說一下你在其中的一個專案中最有成就感的事

 

4.性格是什麼樣的?

 

5.瞭解過我們這邊是做什麼的嗎?

 

6.為什麼對我們這個業務比較感興趣?

 

7.在看其他校招機會嗎?

 

8.在北京嗎?如果面試通過,能參加實習嗎?

 

9.反問:後續還有面試嗎?

 

答:7.31號之前會完成所有的校招流程,之後就進入校招組HR的offer流程,本次是最後一次面試。

招行總行提前批(一輪技術,一輪綜合,offer)

 

7.17號一面20min

 

一共四位面試官,輪流提問

 

1.自我介紹

 

2.本科研究生成績排名

 

3.挑一個熟悉的專案介紹一下

 

4.redis怎麼用的?

 

5.怎麼保證redis和資料庫一致性

 

6.說一下程式通訊機制

 

7.說一下反射機制

 

8.mysql主從複製的同步方式有幾種?

 

9.springboot特點?啟動方式

 

10.用過maven嗎?pom.xml如何配置

 

11.記憶體洩露的場景

 

12.介紹一下比賽負責了哪部分?

 

13.char和varchar區別?

 

14.關係型資料庫和非關係型資料庫區別?

 

15.Linux如何檢視所有檔案系統佔多少磁碟?(只知道檢視程式佔用記憶體用top,檔案系統忘了)

 

16.意向工作地

8.7號二面8min

 

1.自我介紹

 

2.筆試題感覺怎麼樣?有難度嘛?哪塊做的不太好

 

3.附加題做了嗎?(沒有。。。)

 

4.研究生保送的嗎?學碩還是專碩?

 

5.有實習經歷嗎?

 

6.有投其他公司嗎?

 

7.為啥選擇國企銀行類的公司?

 

8.有組織過什麼學生活動嗎?

 

9.本科研究生排名?

新浪微博提前批(兩輪技術,泡池子中)

 

 

7.28一面25min,面試體驗賊好

 

1.自我介紹

 

2.說一下hashmap實現

 

3.說一下執行緒安全的hashmap

 

4.虛擬記憶體介紹一下

 

5.redis持久化機制

 

6.Innodb引擎的特點

 

7.還知道其他引擎不?

 

8.程式碼題(真正的手撕程式碼!用筆紙寫,拍照發過去)

 

一萬行檔案,每行是一個int資料,統計出現次數top10

 

9.海量資料top100問題

 

10.能來實習嗎?

 

11.反問:面試官部門負責哪塊業務的?

 

答:負責重新整理微博,熱搜排名top等相關業務,面試官賊有耐心,還給我講了一些高併發的東西,受教了!

7.31二面10min

 

1.自我介紹

 

2.專案介紹

 

3.問了問專案的細節

 

4.反問:還有面試嘛?

 

答:HR會聯絡的

OPPO提前批(兩輪技術、一輪HR,offer)

 

8.1號OPPO一面30min

 

1.自我介紹

 

2.專案介紹,挑一個熟悉的講

 

3.專案瓶頸,如何應對的

 

4.redis用來幹嘛?

 

5.如何避免重複下單?

 

6.mq如何實現削峰?

 

7.用到了哪些redis的資料結構?

 

8.String型別底層原理說一下?

 

9.如果String裡有多個key-value,那怎麼儲存?

 

10.說一下set和sortedset底層結構

 

11.專案裡用到threadlocal了,說一下原理,這裡引出了記憶體洩露,又問了一下記憶體洩露相關的

 

12.字首樹瞭解嗎?說一下結構?

 

13.如果要新增到字首樹裡的元素比較多,記憶體放不下怎麼辦?(說了用B+樹類似的結構)

 

14.說一下網路三次握手的過程

 

15.為什麼三次握手?

 

16.擁塞控制過程說一下

 

17.演算法題:給一個字串,輸出合法的ip地址

 

口述思路即可(用了三層for迴圈,面試官說可以)

 

18.有什麼愛好嗎?

 

19.覺得計算機相關課程哪個最難?怎麼學的,分數怎麼樣?

 

20.反問:還有幾輪面試?

 

答:一共2-3輪

8.7號OPPO二面30min

 

1.自我介紹

 

2.關鍵詞搜尋怎麼做?說說Es

 

3.說說下訂單的過程

 

4.如何避免重複下單

 

5.如果手機端和pc端同時登陸,就想下兩次單,應該怎麼辦?

 

6.面試官提示說可以不一定要在服務端生成訂單,可以考慮在請求的時候,或者用一些訂單生成演算法?

 

7.redis庫存用的什麼結構?

 

8.如何保證庫存一致性?

 

9.庫存多了或者少了有啥影響?

 

10.分散式鎖

 

11.下訂單和付錢的事務怎麼控制?

 

12.如果有人下訂單未付錢如何回滾事務?

 

13.那回滾庫存之後,和redis不一致如何處理?

 

14.如果硬要保證redis和db庫存一致,如何保證?

 

15.終於不問秒殺了!說說concurrenthashmap如何保證執行緒安全的?

 

16.說說synchronized鎖升級的過程

 

17.自己部署過什麼伺服器嗎?

 

18.Linux用過哪些常用命令?

 

19.除了concurrenthashmap還有哪些執行緒安全的集合?

 

20.BlockingQueue的add,put和offer的區別?(懵逼了,好像只用過offer)

 

21.arraylist執行緒安全對應的集合是什麼?

 

22.CopyOnWriteArraylist原理說一下,如何安全的?

8.8號HR面20min

 

1.用三個詞介紹自己

 

2.四六級多少?

 

3.哪一年出生的?(面試官說我是不是提前上學了,是在暗示我年齡小嗎,哈哈)

 

4.意向工作地?

 

5.找工作考慮的因素?

 

6.自己喜歡的方向?

 

7.為什麼轉專業?

 

8.為什麼對計算機感興趣?

 

9.期望薪資多少?為什麼這麼要?

 

10.還收到其他家offer了嗎?別人家給了多少(說一下範圍即可)

 

11.說一下自己團隊合作的專案,自己負責什麼?做了哪些成果?

 

12.如果團隊意見不一致怎麼解決?能還原一下之前意見不一致的場景嗎?

 

13.自己在專案中的角色?為什麼沒當負責人?

 

14.自己在團隊中的貢獻?

 

15.如果再做一遍這個專案,會有什麼效果?

 

16.優缺點?

 

17.興趣愛好?

 

18.為什麼有這個愛好?

 

19.最近關注的社會現象?

 

20.對這個現象的看法?

 

21.最欣賞的人?原因?

百度提前批(三輪技術+一輪綜合面,offer)

 

8.3號百度一面電話面44min

 

1.自我介紹

 

2.碩士方向是啥?

 

3.介紹一下專案(從三個角度:解決問題、負責哪塊、怎麼實現)

 

4.專案上線了嗎?

 

5.有一些架構是師兄師姐們搭建好的嗎?

 

6.專案涉及到幾個服務?怎麼部署?

 

7.遇到的困難?挑一個講一下

 

8.為什麼轉專業?

 

9.為什麼用ThreadLocal?(裂開!ThreadLocal這個揪著問了10分鐘,後來實在說不下去了)

 

10.ThreadLocal能解決什麼問題?

 

11.ThreadLocal能解決分散式session問題嗎?

 

12.執行緒內部共享,不同執行緒獨享,這個和分散式session矛盾嗎?

 

13.開始搬出ThreadLocal原始碼,balabala說一頓,感覺面試官還是說我理解的不對,還讓我說!

 

14.多執行緒訪問一個變數有什麼需要注意的?

 

15.又來ThreadLocal,那ThreadLocal需要加鎖嗎?(崩潰!)

 

16.程式執行緒協程區別?

 

17.執行緒的切換和協程的切換有什麼區別?

 

18.為什麼協程切換開銷少?

 

19.執行緒程式協程在併發訪問變數的時候,都有什麼措施?

 

20.多協程訪問程式設計需要加鎖嗎?

 

21.說一下DNS域名解析是哪一層?用的TCP還是UDP?

 

22.說一下DNS解析過程

 

23.www.baidu.com哪個是根域名,頂級域名,權威域名

 

24.TCP三次握手過程

 

25.為什麼三次握手

 

26.如何判斷客戶端和服務端已經建立連結?

 

(答的用netstat檢視,面試官說想問的不是這個,面試官提醒說可以檢視資料包)

 

27.哪幾個元素可以識別TCP連線?(從底層說,比如源IP,源埠,源mac?)

 

28.IP資料包如何判斷是tcp還是udp連線的?

 

29.Linux用過嗎?

 

30.如何檢視程式?

 

31.如何檢視佔用cpu最多程式?

 

32.簡述快排

 

33.反問:學習建議?

 

答:要把知識點扣的細一些。

8.5號百度二面電話面40mi

 

1.一面感覺怎麼樣?

 

2.針對一面沒答出來的再說一下?

 

3.兩個專案介紹一個能體現出來自己實力?

 

4.說一下專案的技術點和難點

 

5.怎麼得出資料庫是瓶頸的結論?(說的壓測發現資料庫佔用cpu最多)

 

6.你是感覺資料庫佔據cpu最多就是瓶頸了嗎?

 

7.別的地方還有瓶頸沒?

 

8.專案裡應該有蠻多環節,其他環節或者模組考慮過瓶頸問題嗎?(沒有。。。。)

 

9.如何應對高併發?

 

10.如果沒有redis,資料庫如何應對高併發?(答了分庫分表)

 

11.資料庫佔據cpu多,那是select語句還是update語句或者其他語句佔據多?

 

12.如何優化查詢?(說了加索引,面試官問,加索引就行了嘛?)

 

13.如果把併發量再提高到1000萬,如何應對?(答了negix負載均衡以及放出少量請求,負載均衡被否了,後者說可以)

 

14.又聊到限流降級元件

 

15.說一下記憶體管理中的邏輯地址轉換成實體地址的方法

 

16.DNS解析過程?

 

17.知道根域名伺服器有多少個嗎?(之前看過,忘了。。。)

 

18.如果本地DNS伺服器查不到,那是所有的都要去查根域名伺服器?那全球的根域名伺服器壓力不會很大嗎?

 

19.程式的排程方式?Java用的哪個?(搶佔)

 

20.為啥要有非搶佔方式?

 

21.說一下arp協議的過程

 

22.知道arp欺騙嗎?

 

23.Linux用的多嗎?(不多,沒追問)

 

23.演算法題

 

兩個有序陣列,找合併後的中位數

 

先說了O(n)的方式,後來又說了O(logn)的方式

 

24.反問業務:百度智慧雲相關的~

8.12號百度三面45min

 

1.說說自己前兩面表現怎麼樣?

 

2.問幾個Linux命令吧(我說Linux不怎麼熟)

 

(1)如何查到a.txt文字中字元b出現的行

 

(2)找到上述行中的最後一列

 

(3)如果最後一列是10 20 10 30,那麼如何統計每個數字出現的次數,比如輸出2~10 1~20 1~30

 

(4)如果系統卡頓,如何排查,為什麼要查cpu佔用率?如果不排查會怎樣?排查之後做什麼?

 

3.演算法題:

 

(1)根據二叉樹後序遍歷和中序遍歷輸出前序遍歷

 

(2)實現兩種降序排序(快排,堆排)

 

(3)上述兩種排序的時間複雜度,如果已知每個數的區間是[l,u),如何用O(n)的時間複雜度排序

 

4.ping是哪個協議?說一下ping的過程

 

5.ping可以ping埠嗎?(不可以)

 

6.說說專案的難點,如何解決的?

 

7.如何技術選型?

 

8.瞭解我們部門嗎?(不瞭解。。。)

 

9.可以接受加班嗎?

 

10.未來3-5年之內的規劃

 

11.能提前實習嗎?

 

12.邏輯題:8個球,有1個是輕的,通過天平最少測幾次能找出(2次)

 

13.目前有別的offer嗎?

 

14.期望工作地?

 

15.反問:大概多久出結果?

 

答:1-2周,HR比較少,技術面進度快,HR面比較慢

8.19四面54min

 

類似於HR面,但又比正常的HR面聊的多很多,之前說是加面,搞不懂到底是什麼面,大概涉及的問題:

 

1.為什麼轉專業?(問了好久好久。。。)

 

2.自己跟本碩都是計算機的同學的優勢和劣勢?

 

3.用專業術語詳細描述一下本科的一個機械類的比賽

 

4.完成一個專案的流程都有哪些考慮的因素?

 

5.為什麼感覺網際網路公司有前景?

 

6.有沒有持之以恆的堅持一件事?

 

7.對公司的選擇主要考慮哪些因素?(讓實話實說)

 

8.如果有多個大廠offer,會怎麼選?

 

9.如何看待加班?

 

10.網際網路公司的缺點?

 

11.未來3年的規劃?

 

12.覺得什麼時候算是技術學成了?(我答的是等到leader放心把一個業務交給我的時候,哈哈哈)

 

13.如何看待35歲的事?

 

14.壓力大怎麼處理?

 

15.本碩成績排名?

 

16.有沒有列一個清單,最近要學的東西?

 

17.喜歡看書嗎?

 

18.家裡幾個孩子?父母做啥的?

 

19.感覺你一直在避開一個問題,就是本科不是計算機的劣勢?

 

20.薪資怎麼考慮的?是第一選擇標準嗎?

 

21.又來轉專業的事,看你機械的成績也很高,為啥改行計算機?興趣在哪?真的嗎?

 

22.為什麼大一不轉計算機!!!!

 

23.除了在實驗室學習,還喜歡做啥?

 

24.喜歡旅遊,都去過哪些地方?

 

25.為什麼不從事演算法?

 

26.演算法是用來幹嘛的?

 

27.如果到公司了發現做的東西和自己期望不一樣怎麼辦?

 

28.為什麼研究生選**學校?離家不會太遠嗎?

 

29.研究生保研還有別的學校offer嗎?為啥選**?

 

30.希望從公司學到什麼?

猿輔導(一面掛,全程45分鐘,問了30分鐘計網,頂不住)

 

 

1.自我介紹

 

2.介紹一下專案

 

3.用到md5加密了,過程說一下?

 

4.md5只用一次不行嗎?

 

5.md5可逆不?

 

6.除了md5還了解別的加密技術嗎?

 

7.說說對稱加密和非對稱加密?

 

8.說說https加密過程

 

9.說一下驗證證照合法性的過程(信任鏈)

 

10.一個證照只能加密一個域名嗎?子域名可以不?(可以)

 

11.https是對請求頭還是請求體加密?

 

12.除了get和post,還用到別的方法了嗎?

 

13.put是幹嘛的?它有請求體嗎?

 

14.請求頭請求體都包括啥?

 

15.content-length一定有嗎?如果資料特別長,一次都能讀取嗎?那length表示的是每次讀取的長度還是總長度?

 

16.請求體的資料結構?(json,xml之類的)

 

17.長連線是幹啥用的?舉個場景說

 

18.長連線的連線數有限制嗎?

 

19.跨域瞭解嗎?

 

20.cookie支援跨域嗎?

 

21.cookie可以包括哪些型別的資料?

 

22.rabbitmq有幾種工作模式?

 

23.自己用的哪種?

 

24.mq裡的訂單如何刪掉?(設定過期時間)

 

25.演算法題

 

反轉連結串列,迭代+遞迴兩種都寫

網易網際網路(三輪技術+一輪HR,offer)

 

 

8.18網易有道一面50min

 

面試體驗賊好,面試官很準時,先介紹了一下部門和業務

 

1.自我介紹

 

2.專案介紹

 

3.技術棧用的什麼框架?(springboot和ssm)

 

4.說說spring的ioc和aop

 

5.有自己用過aop嗎?(剛好專案裡有一塊用到,就說了)

 

6.ip是什麼?v4和v6的區別?

 

7.子網掩碼作用?

 

8.tcp說一下(三次握手,四次揮手)

 

9.tcp滑動視窗的原理和作用?

 

10.為什麼三次握手?

 

11.http常用的方法

 

12.https和http的區別?

 

13.說一下ssl/tls過程?

 

14.服務端申請證照,客戶端驗證證照過程詳細說一下

 

15.知道http的長連線嗎?舉個場景說一下

 

16.tcp三次握手四次揮手過程中客戶端和服務費的狀態?

 

17.回到spring,說說aop的原理(動態代理)

 

18.說一下動態代理吧

 

19.反射的原理?怎麼獲取到方法的?

 

20.說一下類載入的過程

 

21.雙親委派解釋一下?為什麼要用雙親委派?

 

22.程式碼題

 

(1)寫一個執行緒安全的單例模式

 

(2)搜尋旋轉陣列最小值,比如在[3,4,5,1,2]中找到1最小

 

(3)二維陣列,從左上到右下路徑的最小值,只能向右和向下走

 

面完試一個小時,收到二面通知,許願二面

8.20二面40min

 

1.自我介紹

 

2.說一下多執行緒瞭解哪些?

 

3.提到了AQS,說一下原理

 

4.知道哪些AQS元件?

 

5.countdownlatch原理

 

6.cyclicbarrier原理

 

7.select,poll,epoll三連

 

8.epoll的觸發方式?水平觸發,邊緣觸發區別?

 

9.資料庫事務隔離級別,分別產生什麼問題?

 

10.Innodb預設在哪個級別?如何保證事務的?

 

11.NK-lock記錄鎖,間隙鎖如何保證的?

 

12.ThreadLocal工作原理?

 

13.四大引用(強軟弱虛)區別?

 

14.記憶體洩露

 

15.智力題:10個蘋果分三堆,每堆不為空,有多少種分法?

 

16.演算法題:最長遞增子序列,如有多個,按照字典序輸出第一個。

 

比如:[1,2,8,4,6]要輸出[1,2,4]

 

17.反問:一共幾輪面試?

 

答:三輪技術面,一輪HR面

 

面完一小時,約明天總監面,但是明天自己有事,改到下週面,效率很高

8.28總監面35min

 

面試官是個北大的大佬,看著就很大佬那種

 

1.自我介紹

 

2.為什麼轉專業?

 

3.計算機專業課怎麼學的?

 

4.技術棧是什麼?

 

5.實驗室方向?

 

6.哪塊學的比較好?

 

7.作業系統怎麼樣?程式間通訊機制?

 

8.通訊機制自己有動手實現嗎?

 

9.http介紹一下,與https的區別?

 

10.怎麼實現永續性登入?(cookie/session)

 

11.建堆的時間複雜度?堆排序過程口述一下

 

12.家是哪的?工作計劃是什麼?

 

13.程式碼題:一個字串裡面,找出所有以"139"和"186"開頭的符合長度的電話號碼。

 

字串裡不一定都是數字,還有可能有別的字元

 

14.反問學習建議?

 

答:可以多寫程式碼提升自己的工程能力

 

面完半小時,約當天HR面

8.28HR面15min

 

1.面試官介紹

 

2.自我介紹

 

3.為什麼投Java開發?

 

4.未來工作規劃?

 

5.還拿了哪些offer?

 

6.為什麼選擇投遞網易?

 

7.期望薪資?

 

8.如果多家offer,你會怎麼選?

 

9.別人家給多少工資?

 

10.面試流程中還有哪些?

 

11.選擇offer的因素?

 

12.反問:會被分去哪個部門?

 

答:現在還不清楚,然後HR給介紹了好長時間網易的工作氛圍和企業文化,很耐心。

快手提前批(三輪技術+一輪HR,offer)

 

 

8.29號一面50min

 

1.自我介紹

 

2.專案介紹

 

3.關於秒殺專案的一系列問題:

 

(1)redis怎麼用的,都存了什麼?mq怎麼用的?

 

(2)mq用了幾個worker?如何保證順序消費?

 

(3)壓測的結論是什麼?原因?

 

(4)如果持續增大併發量,哪個模組會出問題?如何解決?

 

(5)資料庫主從複製的延時問題如何解決?

 

(6)mq堵塞了怎麼辦?

 

(7)多worker會不會對資料庫產生壓力?如何解決?

 

(8)如何避免重複下單?

 

(9)客戶端如何知道自己下單成功?

 

4.設計模式知道哪些?

 

5.秒殺專案中用了什麼設計模式?

 

6.秒殺中mq的部分用到了什麼設計模式?

 

7.程式碼題:兩個字串A,B,找到A中覆蓋B的最短的子串?

 

8.反問:部門業務?

 

答:商業化部門,廣告,流量變現之類的

 

面完十分鐘,約了當天下午二面

8.29號二面50min

 

1.自我介紹

 

2.專案介紹

 

3.自己負責的部分仔細講一下?

 

4.TrieTree字首樹結構講一下

 

5.ThreadLocal原理說一下?

 

6.為什麼key用弱引用?如何避免記憶體洩露?

 

7.四種引用型別說一下

 

8.美國大學生數學建模競賽解決的問題?(大二搞的,太久了,都沒準備,尷尬)

 

9.三次握手、四次揮手各個階段的狀態

 

10.為什麼關閉的時候要等2MSL時間?

 

11.洪泛攻擊知道嗎?如何避免?

 

12.GC機制和類載入機制說一下?

 

13.為什麼分為新生代和老年代?

 

14.為什麼分成e區和兩個s區?比例為什麼8.1.1?

 

15.垃圾回收器知道哪些?更新一點的知道嗎?

 

16.說一下G1收集器的過程

 

17.Innode引擎都知道什麼?

 

18.事務的底層是怎麼實現的?

 

19.binlog中都有啥?如何回滾,如何提交?

 

20.mvcc解決了什麼問題?

 

21.如果只有一條select語句,它加鎖嗎?

 

22.如果一條delete語句,如何加鎖?

 

23.主鍵加鎖嗎?

 

24.聚簇索引和非聚簇索引如何加鎖?

 

(蒙了蒙了,徹底蒙了。。。。)

 

面試官笑了一下,說:沒事,我就只是問問

 

25.程式碼題

 

(1)一次買賣股票的最大收益

 

(2)多次買賣股票的最大收益

 

(3)列印二叉樹中所有路徑和為sum的集合

 

面完十分鐘,通知二面過了,約了下週三面

9.1號三面30min

 

1.自我介紹

 

2.專案介紹

 

3.抖音和快手的區別?

 

4.有實習經歷嗎?

 

5.挑一個鍛鍊自己的專案詳細介紹

 

6.redis為什麼快?

 

7.redis持久化機制?

 

8.redis缺點?

 

9.redis會不會造成資料丟失?

 

10.redis飽和怎麼辦?什麼策略?

 

11.分數排行榜應該用redis哪個資料結構?

 

12.說說跳錶結構?為什麼不用雜湊表?時間複雜度?

 

13.平時怎麼學技術?

 

14.最近看什麼書?

 

15.spring框架好用嗎?說說理解的框架的優點?

 

16.反問:學習建議?

 

答:基礎很紮實,以後多參加專案鍛鍊更好。

9.5號HR面25min

 

1.自我介紹

 

2.意向工作地?

 

3.選擇工作的因素?

 

4.拿了別人家offer嗎?有談薪嗎?如何選擇?

 

5.有沒有實習?

 

6.在導師合夥的公司主要負責什麼?有沒有團隊合作?

 

7.平時用快手嗎?用抖音嗎?區別?

 

8.用快手都來幹什麼?直播買貨還是純娛樂?

 

9.有人說快手比較接地氣,你怎麼理解?

 

10.保研的條件?

 

11.學習路上有什麼困難嗎?如何解決的?

 

12.可以實習嗎?

 

13.反問:新人培養怎麼樣?

 

答:導師制,不會立馬就給需求,導師一對一帶

阿里本地生活(三輪技術面,又被另一個部門撈,還在池子中。。)

 

 

一面45min

 

自我介紹

 

專案介紹

 

專案框架?

 

SpringBoot介紹一下優點?

 

Redis持久化機制

 

Redis為什麼快?

 

TrieTree字首樹介紹一下

 

字首樹用來幹嘛了?

 

CAS原理說一下?

 

多執行緒都有哪些鎖?

 

synchronized和lock區別?

 

說一下生產線消費者模型的實現方式?

 

mvcc知道嗎?解決什麼問題?

 

資料庫的題:求兩張表分數唯一的name

 

程式碼題:給定一些時間區間,判斷一個時間點是否在區間裡。(先合併區間,再排序,二分查詢)

 

回顧筆試第二題,為什麼只跑了30%?我說剪枝沒時間了,全排列之後就提交了。

9月6號二面40min(沒錄音,好多問題忘記了)

 

沒有自我介紹,直接來專案,各種深問原理

 

1.秒殺專案一系列問題(涉及到超賣,重複下單,資料不一致,交易系統,事務管理,客戶端輪詢反饋,第三方支付,資料庫表的結構,各個表之間的關聯等等)

 

2.資料庫索引的底層實現?B+樹說一下

 

3.資料庫如何加行鎖?

 

4.事務的底層原理?

 

5.主鍵自增的底層是如何實現的?

 

6.jvm記憶體模型

 

7.GC機制

 

8.類載入機制

 

9.雙親委派模型

 

其他問題想不起來了。。。

 

後來面試官介紹自己部門業務介紹了好久,得有十分鐘,很耐心,祈禱三面!

9.8號總監面45min

 

都是開放問題,涉及到併發場景下資料結構的選取,計網挖的也比較深,還有一些專案的問題

 

很奇怪,阿里三面是通過的,後面沒有被髮起第四輪面試,等了兩週,被菜鳥部門撈起來,應該是之前的部門招滿了,還是要早點投。

美團點評(三輪技術面+一輪HR面,offer)

 

 

9.10號一面1h

 

1.自我介紹

 

2.為什麼轉專業?

 

3.本科接觸過哪些程式設計?

 

4.本科研究生成績排名?

 

5.數學建模比賽負責什麼?

 

6.秒殺系統介紹一下?為什麼要引入redis?

 

7.還知道其他快取嗎?

 

8.memcached和redis區別?

 

9.redis支援多核嗎?

 

10.多核是啥意思?並行併發的區別?用專業術語描述一下

 

11.redis的value支援多大?

 

12.redis的過期策略?

 

13.100k的資料適合用memcached還是redis?(應該是memcached)

 

14.mq有幾種?區別瞭解嗎?(rabbitmq,rocketmq,kafka區別)

 

15.七層網路協議都有哪些?

 

16.TCP/IP五層有哪些?為什麼分層?

 

17.交換機,路由器是哪一層?物理層是啥?

 

18.TCP和Http的區別?

 

19.http是基於tcp還是udp?

 

20.長連線說一下

 

21.tcp的報文頭?有報文長度嗎?

 

22.tcp和udp區別?

 

23.粘包問題怎麼解決?(新增報文長度、每個報文結尾加分隔符、報文設定固定長度、傳送方關閉nagle演算法)

 

24.滑動視窗,擁塞控制說一下,視窗滿了怎麼辦?緩衝瞭解嗎?

 

25.四次揮手狀態位?客戶端處於finwait1的時候還能給服務端發資料嗎?

 

26.int和Integer區別?

 

27.定義一個Integer,存在哪?

 

28.堆和棧區別?

 

29.過載和重寫區別?

 

30.一個類中可以重寫方法嗎?

 

31.執行緒池的優點?

 

32.多執行緒解決的問題是什麼?有缺點嗎?

 

33.死鎖解釋一下?如何解決?

 

34.呼叫start和run的區別?sleep和wait區別?

 

35.垃圾回收演算法有哪些?在哪裡進行?

 

36.全域性變數存在哪?

 

37.程式碼能力怎麼樣?1-10打分,如何打分?

 

38.跟程式碼能力特別強的同學的差距在哪?

 

39.程式碼題:氣泡排序

 

先寫了個普通的冒泡,之後問如何優化一個已經排好序的陣列的輸出,之後又讓遞迴寫氣泡排序。

9.16號二面1h

 

1.先做演算法題:

 

刪除連結串列中節點值等於target的節點。

 

不建立輔助節點該怎麼做?

 

2.深拷貝和淺拷貝的區別?

 

3.專案相關問題

 

4.場景題:微博大V每次發微博,如何設計一個介面,給大V的所有粉絲進行推送訊息?

 

剛開始說用訊息佇列,後來面試官說如果大V是話癆,佇列滿了就不行。而且按照主題監聽,需要設定特別多主題,因為有很多大V也不行。

 

後面主要是圍繞設計資料庫,如何互關,如何建表,等等說的。

 

這塊有聊了二十分鐘左右。

 

5.性格上有什麼缺點?

 

6.哪些offer,怎麼選擇?

 

7.反問:部門業務?

 

答:美團平臺,地圖搜尋組

9.18號三面45min

 

1.自我介紹

 

2.專案介紹?瞭解c++嗎?

 

3.秒殺系統介紹一下?為啥引入redis?

 

4.為啥redis快?

 

5.其他快取瞭解什麼?區別?

 

6.在導師合作公司都幹了什麼?(人臉識別相關)

 

7.介紹一下你的人臉識別檢測系統(這塊說了十分鐘左右)

 

8.秒殺系統壓測了嗎?如果繼續增大併發量,那麼接下來的瓶頸是什麼?如何解決?(mq)

 

9.做題:字串翻轉(abc→cba)

 

說實話,碰到這個題我驚呆了,我和麵試官確認了兩遍題目,面試官說對,就是反轉字串!

 

10.redis和mysql區別?

 

11.之前參加的比賽有沒有創新點?介紹一下

 

12.畢業設計方向是什麼?有沒有創新點?

 

13.其他家offer有沒有偏向的?想去哪?

 

14.以後規劃?

 

15.面試官後面介紹說自己組裡是做搜尋的,有工程和演算法,以後有機會也可以進去轉演算法之類的,面試官人很nice~

 

16.面試官介紹自己部門差不多5min

9.23號HR面15min

 

1.自我介紹

 

2.挑一個對自己挑戰大的專案說一下,遇到什麼問題?如何解決?

 

3.團隊分歧怎麼看?

 

4.瞭解我們部門業務嗎?

 

5.家在哪?父母做什麼的?意向地?

 

6.如果能拿到offer,能實習嗎?

 

7.還有其他offer嗎?想去哪?

 

8.為什麼知道美團的Java比較好?

 

9.反問:新人培養,公司有5天培訓,之後部門有導師帶,定期分享會等等~

 

10.反問:什麼時候有結果?答:1-2周之內

總結

 

有時候你覺得工作離自己很遙遠,但是往往事與願違,第一場面試連自我介紹都磕磕巴巴,到後來甚至還可以跟面試官扯扯皮,這就是成長吧。曾經也無數次擔心基礎不好和專碩時間短沒時間準備而找不到工作,既然選擇了改行,就只能咬牙堅持了,特別喜歡一句話:"努力交給自己,剩下的交給時間"。

 

面試掛、筆試掛這些都不重要,還記得秋招第一家vivo提前批筆試就掛了,第二家TP-LINK簡歷掛,第三家招銀網路提前批面試掛,大家都是從不斷的掛中起來的,每次面完試做好覆盤,找好自己哪塊還薄弱,針對性的去複習,總會有幾家面試是剛好對上眼的,就是問的都是你會的那種,如果你還沒遇到,說明面的還不夠多,哈哈。而且面試運氣也很重要,有的面試官就特別好,會指引你一步一步來,不懂的還給講解和提示,而且程式碼題也不難,相反,有的面試官就很刁鑽,偏問你不會的,答不上來就說你基礎不好。所以不要太在意每場面試的結果和麵試官的評價,積累面經才是最重要的,這次不會的,下次保證不會錯就好了。

 

好了,秋招之旅到這就徹底結束了,面經來的有點遲,同屆的同學應該已經都找好工作了,就當記錄一下秋招,順便給後面在黑暗中摸索的人一點經驗,不一定適合所有人。如果大家喜歡的話可以幫忙轉發一下,讓更多的人可以看見,希望大家都能拿到自己想要的offer。

不管怎麼樣,早做準備對自己的面試肯定是有幫助的,以上我的學習方式或許可以助你一臂之力。

如果你需要文章中提及的任何資料,只需要動動手指:

對文章轉發和評論,點點關注,然後關注下方公眾號就可以免費獲取文件啦~

 

相關文章