校招秋招面经整理及复习规划
記錄秋招面經(jīng)與復(fù)習(xí)計劃(大佬勿噴)
- 復(fù)習(xí)計劃
- PHP方向
- Java方向
- 數(shù)據(jù)結(jié)構(gòu)
- 計網(wǎng)操作系統(tǒng)
- 編碼方面
- 小結(jié)
- 面經(jīng)
- oppo(現(xiàn)場面2技術(shù) 1hr)PHP開發(fā)
- 中興(專業(yè)面試 綜合面試)java開發(fā)
- 遠(yuǎn)景(2技術(shù) 1hr)java開發(fā)
- 猿輔導(dǎo)(2技術(shù))java開發(fā)
- 流利說(電話面)java開發(fā)
- 瘋狂游戲(電話面)java開發(fā)
- 貝殼(現(xiàn)場面2技術(shù) 1hr)PHP開發(fā)
- 星環(huán)科技(電話面)java開發(fā)
- 百度(不知道哪個部門)PHP開發(fā)
- 百度(百度云3技術(shù))PHP開發(fā)
- 百度(不知道哪個部門,1面掛)PHP開發(fā)
- 阿里(新零售2技術(shù))java開發(fā)
- ihandy(1技術(shù))java開發(fā)
- bigo(1技術(shù))java開發(fā)
- shopee(2技術(shù) 1hr)java開發(fā)
- 浦發(fā)(1技術(shù))java開發(fā)
- 美團(2技術(shù))java開發(fā)
- 總結(jié)/個人感悟
博主菜雞,分享些自己秋招面經(jīng)和復(fù)習(xí)規(guī)劃,供大家一起交流探討,大佬勿噴。簡單介紹下本人情況,計科本碩211,研究生做的方向主要是代碼安全方向,自己寫小項目用PHP多些,因此秋招本打算找PHP,但經(jīng)歷春招實習(xí)面試試水發(fā)現(xiàn)PHP需求太少,因此同時也開始復(fù)習(xí)java基礎(chǔ)找java方向。最終秋招簽了字節(jié)跳動的安全研發(fā)方向。下面先分享下復(fù)習(xí)規(guī)劃,隨后分享相關(guān)的秋招面經(jīng)。(注:本文為作者原創(chuàng),轉(zhuǎn)載請注明出處!!)
復(fù)習(xí)計劃
PHP方向
主要以常見的PHP語法以及相關(guān)的PHP面試問題為切入點進行復(fù)習(xí),這里可以借鑒github的一些PHP相關(guān)復(fù)習(xí)資料的整理,比較全面,博主也是跟著一些項目的知識點總結(jié)進行復(fù)習(xí)的。由于后面發(fā)現(xiàn)這塊需求量不是很大,因此花費時間比較少,大約每天分配半小時到一個小時復(fù)習(xí)知識點,簡歷中的相關(guān)項目也只有一個學(xué)習(xí)swoole時的練手項目。關(guān)于該方向的面試感覺主要集中在應(yīng)用較多,多數(shù)會給你具體場景去分析用什么技術(shù)解決,包括結(jié)合服務(wù)器做一些負(fù)載均衡等知識點,但在面試中發(fā)現(xiàn)如果只會PHP相關(guān)內(nèi)容還是比較困難的,比如面試百度PHP方向,一面基本全是問的java基礎(chǔ)。二面才問了PHP相關(guān)內(nèi)容。
Java方向
雖然以前本科也學(xué)過java,但因為當(dāng)時沒怎么深入自學(xué),而且代碼也敲得比較少,所以這塊缺口還比較大。博主的主要復(fù)習(xí)方式是先跟著Cyc大佬的總結(jié)資料基本過一遍面試所需要的必備知識點,隨后對重要的部分再做深入學(xué)習(xí),比如虛擬機并發(fā)及容器部分。這里由于時間關(guān)系大概只復(fù)習(xí)了兩個月左右,所以其實這塊掌握的并不細(xì)致,在許多面試過程中也能明顯的感覺到,比如猿輔導(dǎo)面試時被問及線程池相關(guān)內(nèi)容只能回答到最基本的概念,甚至連幾個參數(shù)和相關(guān)含義都沒有了解。后期這塊主要靠刷牛客面經(jīng)進行查漏補缺,不得不說面試題目許多重復(fù)率還是挺高,建議走校招的同學(xué)還是能夠早些準(zhǔn)備,扎實基礎(chǔ)才是王道。
數(shù)據(jù)結(jié)構(gòu)
關(guān)于數(shù)據(jù)結(jié)構(gòu)這塊個人認(rèn)為還是要好好下功夫,無論對于面試還是做題都很有幫助。博主個人復(fù)習(xí)方法主要是結(jié)合王道考研書進行基本知識概念的復(fù)習(xí),同時切記不能光看,要動手去編碼實現(xiàn),尤其是鏈表和二叉樹相關(guān)內(nèi)容。計算機學(xué)習(xí)的大忌就是光看不動手,博主在本科期間只注重文化課理論知識,只追求考試分?jǐn)?shù)而導(dǎo)致編碼能力沒有很好地去鍛煉,因此對這塊深有體會。
計網(wǎng)操作系統(tǒng)
這里也是面試過程中考察較多的地方,校招主要注重基礎(chǔ)知識的考察,因此這塊同樣也需要下功夫去在記憶的基礎(chǔ)上加以理解。博主的主要復(fù)習(xí)方法是跟隨Cyc大佬的復(fù)習(xí)筆記,以該筆記為框架對于具體的知識還要再做深入學(xué)習(xí)和了解。在過完知識點后就要大量的刷面經(jīng)來查漏補缺了。個人觀點是先進行知識點的整體學(xué)習(xí)后再刷面經(jīng),而不是一上來就直接刷面經(jīng)
編碼方面
這里也是面試過程中的考察重點。因為筆試題目貼合實際場景,需要進行提取和抽象,所以短期內(nèi)可能沒法進行很好的練習(xí),但對于面試而言還是可以短時間做一個不錯的提高(前提是有一定編碼基礎(chǔ)),因為面試過程的手撕代碼其實重復(fù)率也挺高,而且難度會比筆試題低許多,因此這里也需要下一定功夫,建議每天要分配一定時間進行練習(xí)。首先,劍指offer是必不可少的,建議刷兩遍或以上,第二遍開始可以選擇考試模式,這樣有助于練習(xí)找bug能力,筆記筆試過程不會明顯提示報錯原因,可以幫助熟悉筆試。同時,leetcode也是必不可少的,可以按照自己的習(xí)慣,比如分類刷題或按順序刷,博主一般習(xí)慣按順序刷題,這里建議leetcode刷100道以上,你會發(fā)現(xiàn)做題會越來越有感覺的。這里要注意在開始刷題的時候可能困難會比較多,因此要注意時間的把握,如果一道題思考30min還沒有思路建議看別人的解題筆記進行學(xué)習(xí),同樣不建議一上來就去看解題筆記。刷題過程有時沒辦法找到最優(yōu)解題方法,因此可以先考慮“暴力”解題,在解題成功后再進一步優(yōu)化或?qū)W習(xí)他人的巧妙解題方法。
小結(jié)
以上即是博主復(fù)習(xí)過程的一些安排,當(dāng)然每個人具體情況不同,可以根據(jù)自身情況做具體安排,但要注意校招注重學(xué)生基礎(chǔ)的掌握,因此要在這塊下一定的功夫。
下面貼出博主的一些面經(jīng),首先簡單說下博主的offer情況:
offer:中興(get),華為(get),百度(get),oppo(get),shopee(get),浦發(fā)(接到體檢),小米(get),字節(jié)(get),貝殼(get)
未通過或其它情況:遠(yuǎn)景(hr面掛),阿里(二面完沒反應(yīng)),bigo(一面完沒反應(yīng)),流利說(一面掛),瘋狂游戲(一面掛),猿輔導(dǎo)(二面掛),美團(二面掛),tx(一面掛),星環(huán)科技(一面完等后續(xù)現(xiàn)場面),ihandy(二面有事沒參加)。
通過校招深刻體會到這個過程運氣也相當(dāng)重要,秋招前比較想去的公司就是tx,百度,字節(jié)和貝殼了,最后在百度字節(jié)的糾結(jié)中選擇了字節(jié),雖然是安全研發(fā)方向(樓主本來是做后臺方向的),但也算還愿了吧。
面經(jīng)
oppo(現(xiàn)場面2技術(shù) 1hr)PHP開發(fā)
一面
二面
中興(專業(yè)面試 綜合面試)java開發(fā)
編程題:
二重背包問題。
給定數(shù)組按數(shù)字出現(xiàn)的頻率由高到低排列數(shù)字。
一面
半小時聊項目 十幾分鐘聊天 數(shù)據(jù)庫視圖解釋
二面
更像是hr面,基本沒什么技術(shù)問題。
遠(yuǎn)景(2技術(shù) 1hr)java開發(fā)
一面
自我介紹
項目介紹
JVM模型?
JVM如何調(diào)優(yōu),有哪些監(jiān)控工具?
HashMap查找原理?
自己如何設(shè)計一個HashMap?
ArrayList與LinkedList區(qū)別?使用場景?
ArrayList如何優(yōu)化(知道數(shù)據(jù)數(shù)量情況下)?
線程和進程區(qū)別?
是否使用過java多線程?
二面
hr面崩了,問我了不了解他們公司,上沒上過他們的官網(wǎng),然后我手里拿了哪些offer
猿輔導(dǎo)(2技術(shù))java開發(fā)
一面
項目介紹
int與Integer區(qū)別,給數(shù)量龐大的數(shù)字使用Integer創(chuàng)建是否會對重復(fù)數(shù)字創(chuàng)建新對象?
java垃圾回收算法有哪些,現(xiàn)在商用主要使用哪種回收算法?
算法:二叉樹打印所有和為某值的路徑。
算法:數(shù)字中查找第k大。
二面
自我介紹
談?wù)剬taic認(rèn)識,有什么好處和缺點?
談?wù)劸€程池,核心線程數(shù)和最大線程數(shù)分別指什么?
什么情況下會使用多線程?
如何保證多線程工作時變量的一致性?
鎖有哪些類型?
sychronized屬于樂觀鎖還是悲觀鎖?實現(xiàn)原理是什么?屬于對象層面線程還是進程層面?
Lock與sychronized區(qū)別?
什么是死鎖?
是否了解原子類?
什么是CAS?原理是什么?
算法:實現(xiàn)CAS
優(yōu)化:如何解決ABA現(xiàn)象
猿輔導(dǎo)掛主要是java基礎(chǔ)掌握不牢固,同時11個算法實現(xiàn)的不是很好
流利說(電話面)java開發(fā)
一面
同步和異步概念
swoole特性
redis項目中作用
redis數(shù)據(jù)結(jié)構(gòu)有哪些
redis訂閱發(fā)布功能
Mysql索引作用,底層實現(xiàn)
post與get區(qū)別
http基于什么傳輸層協(xié)議實現(xiàn)的?一次http連接成功后斷開重新進行第二次http連接是否需要重新tcp連接。
https實現(xiàn),ca證書作用
對稱加密與非對稱加密
鏈表是否有環(huán),若有環(huán)如何求環(huán)長度
小明去書店買4中參考書,每種書價格為3,5,7,11,他有70元錢,在保證每本書至少買一本的情況下畫完全部錢有多少種買法。
流利說感覺是答得比較好的,沒有不會的,結(jié)束面試官評價也不錯,估計hc不多。
瘋狂游戲(電話面)java開發(fā)
一面
java線程池?
Nosql使用
手寫觀察者模式
解釋觀察者模式工作原理
是否了解ES6,webpack,vue等?
項目介紹?
是否有轉(zhuǎn)前端的想法(后端名額較少,前端空缺較大)
瘋狂游戲也是感覺答得還可以的,面完后面試官也是評價不錯,但可能后端hc不多,也不同意轉(zhuǎn)前端的原因。
貝殼(現(xiàn)場面2技術(shù) 1hr)PHP開發(fā)
一面
二面
貝殼比較曲折,提前批和正式批兩次筆試4道題a了3道以上都沒有面試,最后還是現(xiàn)場又去筆試了一次才面試的,面試過程中小哥也給了一些建議,比如知識點沒有串起來形成一個系統(tǒng),記憶成分居多。
星環(huán)科技(電話面)java開發(fā)
一面
項目介紹
數(shù)組與鏈表區(qū)別
快排時間復(fù)雜度,堆排時間復(fù)雜度,快排空間復(fù)雜度(遞歸實現(xiàn)),堆排序空間復(fù)雜度??炫旁?#xff1f;堆排原理?
建堆的時間復(fù)雜度?
JVM的GC機制?是否碰到過由于GC導(dǎo)致問題。
Java異常種類?
工廠模式,使用場景?***模式?單例模式?
是否使用過數(shù)據(jù)庫事務(wù)?ACID指什么?
隔離級別?分別含義?
是否了解過大數(shù)據(jù)相關(guān)知識?
業(yè)務(wù)介紹。
星環(huán)科技面試體驗也不錯,小哥很專業(yè),態(tài)度也很好,后來offer基本定了二面要去現(xiàn)場面就拒絕了。
百度(不知道哪個部門)PHP開發(fā)
一面
http1.0,http1.1,http2.0
協(xié)程原理,用戶態(tài)還是和心態(tài)
分布式一致性如何保證,存在延遲不一致如何處理,數(shù)據(jù)延遲如何處理。
口述快排。
然后就是長達(dá)50min的場景設(shè)計,記不清了,反正被惡心到了。。。
百度(百度云3技術(shù))PHP開發(fā)
一面
項目 自我介紹介紹
Java中的final的用法
JVM結(jié)構(gòu)
java寫程序如何進行異常處理
當(dāng)異常拋出到最上層需要如何處理
描述堆的結(jié)構(gòu)
堆排序?qū)崿F(xiàn)策略
比較快排和堆排序時間復(fù)雜度最好最壞情況,空間復(fù)雜度。
Linux基本命令是否熟悉
log目錄中有大量log文件,找出最近10天內(nèi)未訪問的文件。
系統(tǒng)cpu使用壓力過高,如何排查或哪些進程造成原因。Top能檢查到哪些關(guān)鍵參數(shù)。如何按照進程使用內(nèi)存或cpu占用時間進行排序。
有無遇到自己寫的程序造成內(nèi)存占用過高情況。
從一臺server訪問另一臺server出現(xiàn)unreachabel報錯如何排查網(wǎng)絡(luò)那個部分出現(xiàn)錯誤。
TCP與UDP區(qū)別
UDP使用場景(計算機系統(tǒng)中使用UDP),在什么情況下優(yōu)先考慮使用UDP。
協(xié)程有無了解,實現(xiàn)原理,處理網(wǎng)絡(luò)連接有什么優(yōu)勢。Java開發(fā)過程是否用到。
二面
用什么命令查文件中關(guān)鍵字,大小寫是否敏感,如何查找某個范圍
前中后序遍歷二叉樹,非遞歸中序遍歷
http請求方式,get,post,head有什么區(qū)別
如何設(shè)計服務(wù)端日志,需要記錄那些字段。
然后又開始了愉快的場景設(shè)計
三面
百度(不知道哪個部門,1面掛)PHP開發(fā)
一面
編碼:十進制轉(zhuǎn)二進制
編碼:數(shù)組實現(xiàn)隊列,用最小時間復(fù)雜度獲得當(dāng)前隊列中最大值
500w個手機號和用戶信息,如何設(shè)計數(shù)據(jù)庫存儲
10億個數(shù),機器內(nèi)存512m,如何找所有重復(fù)整數(shù)
各種排序算法在哪些場景使用,如歸并排序,快排,冒泡排序
是否了解大小端,代碼如何實現(xiàn)大小端
判斷兩個鏈表是否有公共節(jié)點?有哪些可能異常。
阿里(新零售2技術(shù))java開發(fā)
一面
1.自我介紹
2.項目介紹,難點,挑戰(zhàn),職責(zé),核心技術(shù)(3個)
3.鏈表和數(shù)組區(qū)別。
4.兩個鏈表判斷是否相交。
5.線程池。
6.排序算法有哪些,一般怎么選擇。
7.一個文件有許多英文單詞,如何統(tǒng)計出現(xiàn)頻率最高前10個。
8.b 樹是什么。
9.線程進程區(qū)別。
10.線程池概念。
11.是否有發(fā)表論文。
二面
java里list,set,map,hashmap區(qū)別,使用場景
String,StringBuffer,StringBuilder區(qū)別
如何在大數(shù)組中找到從小到大第一億個
thread local是什么,如何使用
csrf原理
servlet生命周期
Spring的AOP原理
JVM的GC算法有哪些
cpu占用過高排查思路(使用哪些命令)
線程池
還有兩道編程忘了,關(guān)于阿里秋招體驗極差,要找靠譜的內(nèi)推人,8月份內(nèi)推系統(tǒng)沒開之前就已經(jīng)面了兩面了,后來內(nèi)推系統(tǒng)開了簡歷錄入到系統(tǒng)后一直沒有人來面試,期間被別的部門撈起面過,還以為是三面,結(jié)果后來人家約二面才知道換部門了,但后來另一個部門說新零售這塊簡歷沒釋放,沒法繼續(xù)面試了,聯(lián)系內(nèi)推人釋放簡歷也不理我,就這樣不掛不面不放簡歷一直到秋招結(jié)束,所以建議大家還是要找靠譜的內(nèi)推人。
ihandy(1技術(shù))java開發(fā)
一面
自我介紹
項目介紹
項目2
談?wù)剬edis的了解
redis單線程如何保證高效?I/O多路復(fù)用有哪些方法,使用過哪種?
php有無實現(xiàn)I/O多路復(fù)用的方法?java下是否有?
WebSocket內(nèi)容?屬于哪一層?基于什么實現(xiàn)的?
TCP在哪一層?OSI五層分別是哪些?各層功能是什么?都有哪些協(xié)議?
訪問百度過程中各層做了什么?
2核cpu4g內(nèi)存使用redis最大QPS是多少?
進程間通信方式?共享存儲如何實現(xiàn)?
進程和線程有什么區(qū)別?
I/O多路復(fù)用,線程,進程間有什么關(guān)系?
select工作機制?針對進程還是線程?
算法:無序數(shù)組找出前k大方法,時間復(fù)雜度?為什么是這樣的時間復(fù)雜度?有無其它方法?計數(shù)排序空間復(fù)雜度有無辦法優(yōu)化?
1t文件中每行存一個單詞,使用內(nèi)存為256M的機器如何統(tǒng)計頻率最高的10個詞?
最近遇到什么挫折?
未來發(fā)展方向?
用3個詞形容自己優(yōu)點?3個詞形容自己缺點?
有無實習(xí)意向?
對公司選擇考慮什么?
二面因為在貝殼現(xiàn)場面試給鴿了
bigo(1技術(shù))java開發(fā)
一面
操作系統(tǒng)管理哪些內(nèi)容?
內(nèi)存管理方法有哪些?空閑地址鏈表概念?
段式,頁式,段頁式含義及優(yōu)缺點?
頁面置換算法有哪些?LRU如何實現(xiàn)?
怎么理解線程和進程,它們之間的關(guān)系?
多線程如何保證線程安全?
線程安全實現(xiàn)的其他方法?
sychnized是否是可重入鎖?
一般在什么情況下使用鎖?
讀操作是否需要上鎖?如何實現(xiàn)?
樂觀鎖悲觀鎖概念?
有無一種機制讀時不上鎖,寫時上鎖?
生產(chǎn)者消費者模型?如何用java去實現(xiàn)生產(chǎn)者和消費者?
select和epoll的區(qū)別?epoll如何實現(xiàn)不輪詢方式?
線程狀態(tài)有哪些?創(chuàng)建一個線程后進入什么狀態(tài)?創(chuàng)建完線程后如何調(diào)用線程?什么情況下會進入block狀態(tài)?
系統(tǒng)調(diào)度獲取cpu時間片
描述一種死鎖的場景?死鎖的本質(zhì)?
java數(shù)據(jù)結(jié)構(gòu)了解哪些?Map使用hashmap還是hashtable多些,二者有什么區(qū)別,針對增刪改查哪種效率高?
是否知道哈希沖突如何解決?java里hashmap沖突用哪種方法解決?
concurrenthashmap與hashtable區(qū)別?
鏈表數(shù)組優(yōu)劣,使用場景?
什么時候會使用堆棧?
了解哪些樹?二叉平衡樹概念?二叉搜索樹?二叉排序樹?二叉平衡樹基于什么衍生出來?二叉排序樹缺點?
數(shù)據(jù)庫什么是外鍵?
索引概念,主要作用?如何實現(xiàn)加速查詢?
TCP三次握手過程?傳輸過程中如何做流量控制?擴大窗口縮小窗口機制?
TCP與UDP區(qū)別?使用場景?
如何可靠化UDP?
個人愛好?訪問哪些技術(shù)網(wǎng)站?自己是否有寫博文?
bigo也是面完以后體驗不錯的,面完面試官也說對我印象非常好,覺得我很不錯,然后就沒然后了,一直到10月底三方簽了才有電話約二面。
shopee(2技術(shù) 1hr)java開發(fā)
一面
代碼:“1223345677881”,字符串去重?時間復(fù)雜度?
瀏覽頁面過程client和server做了什么?
Accept發(fā)生在TCP三次握手的哪個階段?connect,listen函數(shù)?
Http常見的狀態(tài)碼?
項目問答?
redis數(shù)據(jù)類型有哪些?應(yīng)用?
有序集合底層實現(xiàn)?跳表如何實現(xiàn)?做了哪些優(yōu)化?
圖遍歷方法?分別解釋如何遍歷。
PHP解析整體流程,如何進行性能優(yōu)化?
解釋swoole。
了解或使用過哪些鎖?
死鎖含義?何時會發(fā)生死鎖?如何避免死鎖?
看什么技術(shù)方面書?
http與https,https如何實現(xiàn)加密
二面
項目介紹
手寫代碼圖廣度優(yōu)先遍歷
手寫代碼二叉樹廣度優(yōu)先遍歷(限時7min)
介紹Java常用機制了解哪些,簡單介紹。
Http常見狀態(tài)碼及含義
從文件打開到編輯代碼并執(zhí)行操作系統(tǒng)做了哪些事
數(shù)據(jù)庫事務(wù)ACID指什么,含義?
性格優(yōu)缺點
公司平臺選擇有什么要求
浦發(fā)(1技術(shù))java開發(fā)
筆試
面試
美團(2技術(shù))java開發(fā)
美團一面
二面掛
就很迷,完全get不到他的點,全程智力題居多
總結(jié)/個人感悟
個人在經(jīng)歷秋招后有些感悟,如下:
秋招運氣成分太大了,可能你準(zhǔn)備的還不錯,但遇上bt面試官就是沒辦法,所以還是整理好心態(tài),盡人事吧。
最后,歡迎小伙伴們留言交流,也歡迎大佬對安全研發(fā)方向的學(xué)習(xí)給予建議!!!
總結(jié)
以上是生活随笔為你收集整理的校招秋招面经整理及复习规划的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你要的能做出炫酷图表的网站来啦
- 下一篇: 短信平台验证码的特点