國(guó)內(nèi)各個(gè)廠面經(jīng)
本人21屆渣碩,也算國(guó)互聯(lián)網(wǎng)大部分都面過(guò)了,答應(yīng)群友發(fā)一下面經(jīng),非互聯(lián)網(wǎng)和小廠就不發(fā)了,有些面完就發(fā)到博客了所以會(huì)詳細(xì)一點(diǎn),有些面完沒(méi)記錄可能存在遺漏,大家酌情參考。
答案和經(jīng)驗(yàn)后面都為大家整理成文檔,但我不建議大家直接去看,大家可以先看前面的真題,自己看完在腦海里做一做看自己能達(dá)到一個(gè)什么水平!完整版的面試題+經(jīng)驗(yàn)+視頻都為大家整理好的,有需要的朋友關(guān)注公眾號(hào):前程有光自取!
騰訊(后端)
一面(30分鐘)
TCP三次握手四次揮手 及狀態(tài)轉(zhuǎn)移過(guò)程
Http和Https的區(qū)別 主要S的過(guò)程
算法題:求最大質(zhì)因數(shù)
redis的數(shù)據(jù)結(jié)構(gòu)和具體實(shí)現(xiàn)方法
i++語(yǔ)句 系統(tǒng)實(shí)現(xiàn)過(guò)程
ACID和隔離級(jí)別
算法題:鏈表判斷環(huán)及求環(huán)的位置
二面(40分鐘)
聊項(xiàng)目
redis分布式實(shí)現(xiàn)原理 三種分布式 以及哨兵模式 一致性hash
分布式鎖的實(shí)現(xiàn)
redis ziplist的條件
c語(yǔ)言相關(guān)的(好像是字符串復(fù)制函數(shù)(忘了))
大量數(shù)據(jù)小內(nèi)存求中位數(shù)
算法題:手寫快排
百度(數(shù)據(jù)研發(fā))
一面(50分鐘)
聊項(xiàng)目
spark 常用算子介紹
spark shuffle流程
數(shù)據(jù)傾斜及解決方案
map join
廣播變量
智力題:3個(gè)人 3個(gè)帽子 紅紅藍(lán) 紅紅紅 藍(lán)藍(lán)紅
第一次大家都不知道,第二次有個(gè)人知道了
必定的分配情況 紅紅藍(lán)
sql:求7日留存
算法題:有序矩陣求目標(biāo)數(shù)值(leetcode 240題)
XGB和GDBT區(qū)別
XGB做了哪些改良
XGB對(duì)缺失值的處理
美團(tuán)(大數(shù)據(jù))
一面(70分鐘)
聊項(xiàng)目
各個(gè)排序算法和復(fù)雜度(讓列出10個(gè))
Http和Https的區(qū)別
Spark和Hadoop的區(qū)別
聊項(xiàng)目
每個(gè)語(yǔ)言(c go python java)的循環(huán)控制語(yǔ)句
存儲(chǔ)介質(zhì)由慢到快
反問(wèn)
二面(50分鐘)
為啥沒(méi)有實(shí)習(xí),對(duì)數(shù)據(jù)開(kāi)發(fā)的看法
秋招為啥沒(méi)有offer
介紹hashmap,為什么要數(shù)組加鏈表 為什么要轉(zhuǎn)紅黑樹(shù),為什么要是2的n次方
還是hashmap 為什么不能直接equal要先hashcode
為什么要重寫equal
b+樹(shù)和b樹(shù)的區(qū)別
ACID
Mysql如何實(shí)現(xiàn)可重復(fù)讀
聚集索引和非聚集縮影
什么語(yǔ)句能用到索引,索引如何優(yōu)化
問(wèn)項(xiàng)目,為啥這么架構(gòu)
Spark shuffle流程
做題:有序鏈表交叉重構(gòu),常數(shù)空間。
反問(wèn)
字節(jié)(大數(shù)據(jù))
一面(50分鐘)
做題:求數(shù)組波峰
優(yōu)化為二分查找
做題:二進(jìn)制相加
做出來(lái)讓優(yōu)化 (然后沒(méi)想出來(lái),應(yīng)該是異或和與的操作,力扣有原題)
聊項(xiàng)目
2道困難SQL(沒(méi)做出來(lái))
XGB的原理
Kmeans的原理
Kmeans和KNN的區(qū)別
無(wú)監(jiān)督和有監(jiān)督學(xué)習(xí)的各自優(yōu)缺點(diǎn)
反問(wèn)
滴滴(大數(shù)據(jù))
一面(50分鐘)
聊項(xiàng)目
TCP和UDP 三次握手 TCP狀態(tài)轉(zhuǎn)移
HTTP和HTTPS 區(qū)別和S多的流程
Tcp和http的關(guān)聯(lián)與不同
Kafka 和 RocketMQ的區(qū)別
Spark rdd介紹, shuffle 過(guò)程介紹,血緣依賴 rdd和dataset的區(qū)別
redis的各個(gè)數(shù)據(jù)結(jié)構(gòu)和實(shí)現(xiàn)方法
redis分布式的實(shí)現(xiàn)方法
做題:忘了,應(yīng)該是個(gè)中等題
反問(wèn)
二面(60分鐘)
聊項(xiàng)目
大量數(shù)據(jù)(存在重復(fù)),小內(nèi)存,統(tǒng)計(jì)重復(fù)個(gè)數(shù)
說(shuō)思路然后在面試官提示下優(yōu)化
聊kafka 分配原理 分區(qū)存儲(chǔ)和broke相關(guān)
聊分布式相關(guān) key的hash原則,一致性hash等(有些忘了)
做題:大數(shù)相加
情景題:
如何用DBSACN確定司機(jī)的劃分區(qū)域
滴滴業(yè)務(wù)介紹。
反問(wèn)
三面(35分鐘)
對(duì)數(shù)據(jù)開(kāi)發(fā)的看法
各個(gè)排序算法
程序內(nèi)存空間如何分配
http和https
情景題:合并單號(hào) 并用算法實(shí)現(xiàn) 然后優(yōu)化
反問(wèn)
四面(加面40分鐘)
聊項(xiàng)目 并詳細(xì)問(wèn)各個(gè)技術(shù)的使用情況和為什么使用
問(wèn)抗壓能力
閑聊
小米(算法平臺(tái))
一面(15分鐘)
做題:二叉樹(shù)的左視圖
然后問(wèn)如何優(yōu)化寫的算法。
聊項(xiàng)目
聊常用哪些算法(然后直接結(jié)束了)
二面(40分鐘)
聊項(xiàng)目
做題:反轉(zhuǎn)鏈表
XGB和GDBT區(qū)別
ROC,AUC,準(zhǔn)確率,召回率計(jì)算公式
樹(shù)模型調(diào)優(yōu)方法
好未來(lái)(大數(shù)據(jù))
一面(50分鐘)
聊項(xiàng)目
hive:內(nèi)部表,外部表 ,數(shù)據(jù)傾斜及解決,鎖表
spark:reducebykey和groupbykey的區(qū)別
flink:如何保證一致性
說(shuō)了一下check和barrier
sql的索引及區(qū)別
說(shuō)了一下聚集和非聚集
innodb和myism簡(jiǎn)單說(shuō)了一下
做題:左上到右下的消耗最小
sql:求七日連續(xù)登錄的人
反問(wèn):業(yè)務(wù)內(nèi)容和評(píng)價(jià)
二面
操作系統(tǒng)如何工作(懵比)
然后問(wèn)如何進(jìn)行內(nèi)存管理和文件管理,進(jìn)程管理
講一下hadoop這些分布式如何實(shí)現(xiàn)
講了一下主從復(fù)制和選舉(谷歌三大論文里面的一些知識(shí))
講一下RDD如何實(shí)現(xiàn)分布式的
做題:數(shù)組的第二大數(shù)
Kafka如何實(shí)現(xiàn)分布式
講了一下broke和partiton 感覺(jué)面試官不太滿意
讓手寫網(wǎng)絡(luò)編程 實(shí)現(xiàn)服務(wù) 對(duì)redis的各種數(shù)據(jù)結(jié)構(gòu)調(diào)度
反問(wèn)哪些方向需要提高
攜程(數(shù)據(jù)開(kāi)發(fā))
一面(30分鐘)
聊項(xiàng)目
問(wèn)算法,邏輯回歸、和svm的計(jì)算流程
xgb的特征重要性計(jì)算原理
項(xiàng)目其他的算法問(wèn)題
數(shù)據(jù)庫(kù)索引:聚集索引和非聚集索引
做題:兩個(gè)數(shù)組求交集
順豐(大數(shù)據(jù))
一面(40分鐘)
java 多態(tài)概念,抽象接口和抽象類
java hashmap及底層原理
java sleep和wait 哪個(gè)會(huì)釋放資源
做題:二叉樹(shù)左視圖
一個(gè)無(wú)序堆,變成大根堆時(shí)間復(fù)雜度
Spark RDD和dataframe,數(shù)據(jù)傾斜及解決辦法。
Spark 內(nèi)存模型
減少并行的task數(shù)量能否減少內(nèi)存壓力
我的面試經(jīng)驗(yàn)分享(超詳細(xì))
首先基礎(chǔ)這一塊是絕對(duì)不能落下的,所謂萬(wàn)丈高樓平地起就是這個(gè)道理,包括mybatis,springboot,springmvc,甚至springcloud這些都是需要基本掌握的,我的話是選擇視頻的方式學(xué)習(xí)和復(fù)習(xí),大家如果也有這一方面的需求的話,我這里視頻也可以分享給大家!

數(shù)據(jù)結(jié)構(gòu)與算法
然后就是刷算法題,算法刷題我認(rèn)為在面試比例中還是占據(jù)很大一部分模塊的的,我刷算法一般是先看視頻,看完之后再自己去刷,這樣印象和理解都效果比較好!

刷八股文
這個(gè)東西相信不用我說(shuō)大家也知道他在面試中的占比了,幾乎不管你去哪一家面試都會(huì)問(wèn)到,怎么積累經(jīng)驗(yàn)?zāi)兀课业幕卮疬€是刷題,自己刷+看視頻講解,堅(jiān)持幾個(gè)月相信你都會(huì)驚訝自己的改變!

刷面試題
這個(gè)我一般都是選擇在面試的前幾天去??蜕厦嫒タ?,上面還是有很多大佬總結(jié)的非常透徹的,當(dāng)然,你要是比較偷懶的話我這邊整理了一套2021頭部互聯(lián)網(wǎng)公司的面試題,都是視頻的形式講解,算是比較好理解的了!

看書
這是最原始也是相對(duì)來(lái)說(shuō)比較高效的學(xué)習(xí)方法了。看什么書,這是針對(duì)自身情況來(lái)的,自己需要補(bǔ)充什么相信你絕對(duì)比我清楚!當(dāng)然如上所述,你要想偷懶的話,我這里也有一套150集阿里巴巴開(kāi)發(fā)手冊(cè)最新版(嵩山版)視頻詳解,不管你是萌新還是大佬都可以選擇看看,有需要的自??!

自己總結(jié)的面試題

這么多年面試了這么多家公司,自己平時(shí)又有喜歡做筆記寫博客的習(xí)慣,我這里已經(jīng)積累了大量的一線大廠面試題,都是我自己記下來(lái)然后標(biāo)注自己的理解和回答,完整版我已經(jīng)整理成PDF文件了,有需要的朋友關(guān)注公眾號(hào):前程有光,自??!,包括以上所有視頻和資料都請(qǐng)自??!
最后
分享一點(diǎn)心得吧,不管你是跳槽,還是找工作,又或者是實(shí)習(xí),你可以永遠(yuǎn)把你這一次面試當(dāng)做最后一次面試去對(duì)待,不要想著自己這里還有退路,那里還可以再面,這樣只會(huì)影響你的發(fā)揮,認(rèn)真對(duì)待每一次面試,是對(duì)自己負(fù)責(zé)也是對(duì)自己面試的公司負(fù)責(zé)。最后,祝愿在找工作的你面試成功拿到滿意的offer,不需要找工作的你工作順利,事業(yè)有成??!!覺(jué)得文章對(duì)你有幫助記得點(diǎn)個(gè)贊!