More  

收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

小編的世界 優質文選 資料

985碩,秋招面試30家企業,怒斬阿裏、字節、美團offer


字體大小:
2020年10月13日 -
:     
 

目錄

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%免費獲取

計算機網絡

這個主要是看了周志壘老師的網課,講的特別好,

用的是課程筆記,書籍方面主要是看了《大話計算機》
那一系列書籍,主要能補全計算機網絡底層的知識。

還有課件分享

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連接③、發送請求④、服務器處理請求並返回報文⑤、瀏覽器解析渲染頁面⑥、連接結束。)每個過程都要很熟,要經得起推敲,不要面試官一深問就不會說了

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

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

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

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

大話計算機

目錄

Java基礎+JavaWeb+SSM+SpringBoot

這個我是看的馬士兵的教程,基礎的部分是在去年10-12月中間完成的,連帶一起看了MySQL數據庫相關的基礎語句!,找工作前,看了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

自我介紹

為什麼投客戶端(項目是後端的)

網絡

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.哪裏用到了非對稱加密?

7.說一下請求過程

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解釋一下

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

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.哪個是根域名,頂級域名,權威域名

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)上述兩種排序的時間複雜度,如果已知每個數的區間是

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.說說加密過程

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

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

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

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.常用的方法

13.說一下ssl/tls過程?

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

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

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.通信機制自己有動手實現嗎?

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.交換機,路由器是哪一層?物理層是啥?

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。

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

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

對文章轉發和評論,點點關注,然後私信學習資料就可以免費獲取文檔啦~