已拿騰訊后臺開發(fā)崗offer刑桑,簡單說下自己的面試經(jīng)歷和學(xué)習(xí)路線

面前準(zhǔn)備

敲定了方向和目標(biāo)后就開始系統(tǒng)準(zhǔn)備失息,主要分為以下幾個(gè)方面來準(zhǔn)備譬淳。

算法題

事先已經(jīng)看過別人的社招面經(jīng)知道頭條每輪技術(shù)面都有算法題档址,而這一塊平時(shí)練習(xí)的比較少,校招時(shí)刷的題也忘記了很多邻梆。因此系統(tǒng)復(fù)習(xí)的時(shí)候算法題還是花了比較多時(shí)間的守伸。先是快速刷完了劍指 offer,這個(gè)校招時(shí)已經(jīng)刷過兩邊了浦妄,因此現(xiàn)在刷起來會相對快一些尼摹。然后就是啃 LeetCode 的題了,LeetCode 的題比較多剂娄,想在短短幾周內(nèi)刷完基本是不可能的蠢涝,因此我主要按照類型去刷,每個(gè)類型刷幾道就會比較有感覺了宜咒。比如鏈表的題優(yōu)先考慮遞歸和雙指針來解決惠赫,棧和隊(duì)列的題優(yōu)先考慮用兩個(gè)棧或隊(duì)列來解決故黑,樹的題基本都是遞歸等儿咱。不過數(shù)組和字符串的題一般比較靈活,這種題只能盡量多刷了场晶。平時(shí)要上班刷題也不方便混埠,我采用的方法就是看題,用手機(jī)打開 LeetCode 的網(wǎng)站诗轻,看完題目后直接想解決方案钳宪,腦子里大概捋一下代碼怎么寫,能想到的就過扳炬,想不出的就看看別人的解法吏颖,用這個(gè)方法刷起來就很快。用這種方法你可能會擔(dān)心面試時(shí)題寫不完整恨樟,其實(shí)不用太擔(dān)心半醉,因?yàn)槊嬖嚨臅r(shí)候面試官看你寫的核心思路是正確的,邊界處理是對的基本就過了劝术,面試時(shí)間比較有限缩多。

理論基礎(chǔ)

基礎(chǔ)這一塊主要以快速復(fù)習(xí)為主,主要是語言(我主要用C++养晋,所以復(fù)習(xí)C++)衬吆、操作系統(tǒng)和網(wǎng)絡(luò)編程。校招這一塊會問題的比較多绳泉,社招這一塊問的比較少逊抡,但是如果這一塊打不上來就比較尷尬了。語言就不說了零酪,這一塊大家應(yīng)該都知道會考些什么秦忿,校招的時(shí)候畢竟都瘋狂準(zhǔn)備過麦射。操作系統(tǒng)就看內(nèi)存管理、進(jìn)程管理和文件系統(tǒng)灯谣,一般虛擬內(nèi)存問的多。網(wǎng)絡(luò)編程這塊就包括 TCP/IP 協(xié)議蛔琅,HTTP協(xié)議胎许,網(wǎng)絡(luò)安全三個(gè)方面。TCP/IP主要就是三次握手罗售,四次揮手辜窑,TIME_WAIT 的作用等這些常考的題了寨躁。HTTP 協(xié)議考察 HTTP 協(xié)議的返回碼穆碎、HTTP 的方法等。需要特別指出的是 HTTPS 加密的詳細(xì)過程要非常透徹职恳,不然容易產(chǎn)生一種感覺好像都清楚了所禀,但是一問就有點(diǎn)說不清楚。最后就是網(wǎng)絡(luò)安全放钦,主要考察也是 WEB 安全色徘,包括XSS,CSRF操禀,SQL注入等褂策。

后端技術(shù)

這里的后端技術(shù)主要指工作中要用到的一些基礎(chǔ)組件,一些常見的后端架構(gòu)設(shè)計(jì)颓屑。主要準(zhǔn)備了MySQL斤寂、Redis、消息隊(duì)列揪惦、zookeeper遍搞、分布式系統(tǒng)架構(gòu)設(shè)計(jì)和docker。MySQL 主要看了 《高性能MySQL 第三版》丹擎,關(guān)于事務(wù)尾抑、索引、鎖以及 binlog 和 redolog 都講的非常好蒂培,也是面試最愛考的再愈,除此之外對數(shù)據(jù)庫的讀寫分離、分庫分表也要掌握护戳。Redis 主要看了《Redis 的設(shè)計(jì)與實(shí)現(xiàn)》翎冲,然后自己再總結(jié)了一下 Redis 的使用場景,以及 Redis 實(shí)現(xiàn)分布式鎖基本 Redis 就沒有問題了媳荒。分布式系統(tǒng)的就準(zhǔn)備CAP理論抗悍、BASE理論驹饺、限流、熔斷缴渊、一致性***算法赏壹、主從架構(gòu)、集群架構(gòu)衔沼、異地多活蝌借、負(fù)載均衡、分層架構(gòu)指蚁、微服務(wù)等菩佑。

深挖項(xiàng)目

沒有參與開源項(xiàng)目的經(jīng)驗(yàn),工作中做的項(xiàng)目也很一般凝化,項(xiàng)目這塊我實(shí)在沒什么太多拿的出手的稍坯,不過還是要挖掘一下,畢竟這一塊是逃不掉搓劫。我說幾個(gè)我思考的點(diǎn)吧:

找項(xiàng)目中相對而言具有亮點(diǎn)的地方瞧哟。比如我用 redis 實(shí)現(xiàn)了一個(gè)延時(shí)隊(duì)列,然后對這個(gè)延時(shí)隊(duì)列我通過分片來解決瓶頸糟把,通過分發(fā)來加快處理速度绢涡。

找項(xiàng)目中復(fù)雜的地方。如果你做的項(xiàng)目中有復(fù)雜的地方遣疯,即使不是你做的雄可,也可以拿來說,前提是你要搞得非常清楚來缠犀。

量化指標(biāo)数苫。一個(gè)接口原來有性能問題,比如你做了一個(gè)小的優(yōu)化辨液,將其 TP99 的耗時(shí)從原來的 500ms 優(yōu)化至多少 200ms虐急。

賦能整個(gè)團(tuán)隊(duì)。在開發(fā)業(yè)務(wù)的過程中肯定會遇到一些重復(fù)的工作滔迈,或者可以復(fù)用的服務(wù)止吁。你可以開發(fā)了某個(gè)工具或者服務(wù)化了某個(gè)功能推廣到了全組使用,給公司創(chuàng)造了價(jià)值燎悍。

騰訊面試

騰訊面試提前1天和提前一個(gè)小時(shí)都會發(fā)短信提示敬惦。去的騰訊濱海大廈面試,大樓的現(xiàn)代化程度很高谈山,不過需要提醒一下的是俄删,騰訊的濱海大廈分為南塔和北塔。我去的時(shí)候就上錯(cuò)樓了,需要下到4樓重新?lián)Q成電梯畴椰。

筆試

微服務(wù)的特點(diǎn)臊诊,如何實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡

c++內(nèi)存管理

time_wait在哪一端產(chǎn)生,作用是什么

程序crash如何定位

服務(wù)性能問題如何定位

兩個(gè)排序數(shù)組找中位數(shù)

就數(shù)字n的平方根

設(shè)計(jì)一個(gè)算法斜脂,抽獎次數(shù)越多中獎概率就越高

MySQL 如何分析一條語句的執(zhí)行過程抓艳。delete from t1 limit 3和delete from t1的區(qū)別?

一面

問項(xiàng)目

跳臺階

數(shù)組中奇數(shù)個(gè)元素

一棟樓有n層秽褒,不知道雞蛋從第幾層扔下去會碎壶硅,用最少的次數(shù)找出剛好會碎的樓層

動態(tài)規(guī)劃與貪心有什么區(qū)別

redis數(shù)據(jù)結(jié)構(gòu)的底層實(shí)現(xiàn)

redis如何實(shí)現(xiàn)高可用

負(fù)載均衡算法有哪些

服務(wù)發(fā)現(xiàn)是怎么實(shí)現(xiàn)的

熔斷是怎么實(shí)現(xiàn)的

id生成器怎么實(shí)現(xiàn)的,如何實(shí)現(xiàn)全局遞增

協(xié)程和線程的區(qū)別

進(jìn)程間通訊方法

平時(shí)逛哪些論壇销斟,研究哪些算法

paxos算法,這個(gè)算法我說不清楚椒舵,然后說了raft算法

gdb怎么切換線程

如何判斷一個(gè)圖是否有環(huán)

介紹一下緩存

查看 CPU 的命令和磁盤 IO 的命令

二面

項(xiàng)目的系統(tǒng)架構(gòu)畫一下

如果用戶量上漲怎么優(yōu)化

負(fù)載均衡的加權(quán)輪詢算法怎么實(shí)現(xiàn)

背包問題

貝葉斯的概率學(xué)原理

分詞算法

連續(xù)整數(shù)求和(leetcode 第 829 題)蚂踊,要求時(shí)間復(fù)雜度小于O(N)

HR面

1.詢問了除騰訊以外,還在看其他工作機(jī)會么笔宿?分別是什么

2.騰訊犁钟、XXX公司、XXX公司泼橘,你的優(yōu)先級是什么涝动,為什么?

3.之前薪資待遇是多少炬灭?你期望的薪資是多少醋粟?

4.平時(shí)有什么愛好?

5.了解職位需求嗎重归?

6.有沒有想問的米愿?

騰訊二面最后一道算法題只能想出 O(N) 復(fù)雜度的,面試官一定要小于 O(N) 的鼻吮,答不上來育苟。這道題是 leetcode hard 級別的難度,所以沒有刷椎木。后來又跟面試官探討了一下自己比較擅長的方面违柏,比如協(xié)程與TCP方面的,因?yàn)樽约阂脖容^喜歡在GitHub上面鉆研這些東西香椎,

wangbojing/NtyCo?github.com

wangbojing/NtyTcp?github.com

我個(gè)人在這里學(xué)到的東西比較多(/狗頭)

技術(shù)知識學(xué)習(xí)路線

【文章福利】小編推薦自己的linuxC/C++語言交流群:832218493漱竖!整理了一些個(gè)人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在里面士鸥,有需要的可以自行添加哦闲孤!~

一、 數(shù)據(jù)結(jié)構(gòu)與算法、設(shè)計(jì)模式讼积、工程管理

排序 (11種排序) 與 KMP

紅黑樹 證明

B樹與B+樹

Hash與布隆過濾器

責(zé)任鏈模式

過濾器模式

發(fā)布訂閱模式

工廠模式

Makefile/cmake/configure

git /svn與持續(xù)集成

Linux系統(tǒng)運(yùn)行時(shí)命令

二肥照、代碼實(shí)現(xiàn)、方案分析

網(wǎng)絡(luò)io與select/poll/epoll

reactor的原理與實(shí)現(xiàn)

http/https web服務(wù)器的實(shí)現(xiàn)

websocket協(xié)議與服務(wù)器實(shí)現(xiàn)

服務(wù)器百萬并發(fā)的實(shí)現(xiàn)(c10K勤众,c1000k舆绎, C10M)

redis/memcached/Nginx網(wǎng)絡(luò)組件

Posix API與網(wǎng)絡(luò)協(xié)議棧

UDP可靠協(xié)議 QUIC/KCP

三、池式結(jié)構(gòu)们颜、高性能組件吕朵、開源組件

線程池(手寫)

內(nèi)存池 ringbuffer

異步請求池 性能優(yōu)化,異步mysql 異步dns 異步redis

mysql連接池

redis連接池

原子操作 CAS

消息隊(duì)列與無鎖隊(duì)列

定時(shí)器的方案 紅黑樹 時(shí)間輪 最小堆

鎖的實(shí)現(xiàn)原理 互斥鎖窥突,自旋鎖 努溃,樂觀鎖,悲觀鎖阻问,分布式鎖

服務(wù)器連接蔽嗨埃活 keepalived

try/catch的實(shí)現(xiàn)

libevent/libev框架

異步日志方案 log4cpp

應(yīng)用層協(xié)議 protobuf/thrift

openssl加密

json與xml解析器

字符編碼unicode/gbk/utf-

四、協(xié)程框架的實(shí)現(xiàn)称近、用戶態(tài)協(xié)議棧 NtyTCP (tcp/ip)

協(xié)程的原理與工程案例

協(xié)程的調(diào)度器實(shí)現(xiàn)

滑動窗口 擁塞控制 滿啟動

tcp定時(shí)器的實(shí)現(xiàn)

epoll的源碼實(shí)現(xiàn)

五第队、Skynet、ZeroMQ刨秆、DPDK

skynet高性能網(wǎng)關(guān)

actor實(shí)現(xiàn)與cluster/負(fù)載均衡

skynet網(wǎng)絡(luò)與熱更新 數(shù)據(jù)共享

ZeroMQ Router-Dealter模式

源碼分析:消息模型與工程案例

源碼分析:網(wǎng)絡(luò)機(jī)制

dpdk PCI原理與 testpmd/l3fwd/skeletion

kni數(shù)據(jù)流程

dpdk實(shí)現(xiàn)dns

dpdk的高性能網(wǎng)關(guān)的實(shí)現(xiàn)

半虛擬化 virtio/vhost的加速

六凳谦、 MySQL、Redis衡未、Nginx尸执、mongodb、dfs

SQL語句 索引 存儲過程 觸發(fā)器

2.數(shù)據(jù)庫連接池與sql解析剖析

存儲引擎原理 MyISAM與Innodb 事務(wù)隔離

自己實(shí)現(xiàn)一個(gè)存儲引擎 MySQL源碼

MySQL集群與分布式 高可用高并發(fā)

Redis相關(guān)命令與持久化

Redis連接池與異步操作

源碼分析:存儲原理與數(shù)據(jù)模型

源碼分析:主從 原子模型

redis的集群方案

Nginx使用conf配置

nginx模塊開發(fā) 過濾器模塊

Nginx模塊開發(fā) handler模塊

源碼分析: Nginx Http狀態(tài)機(jī)

源碼分析:進(jìn)程間通信與Slab共享機(jī)制

Mongo接口編程與MongoDB命令使用

MongoDB的集群方案

ceph

fastdfs

七眠屎、Linux內(nèi)核進(jìn)程管理剔交、內(nèi)存管理、文件系統(tǒng)

進(jìn)程管理與調(diào)度

鎖與進(jìn)程間通信

系統(tǒng)調(diào)用 如何自己實(shí)現(xiàn)一個(gè)syscall

物理內(nèi)存 伙伴算法

2.進(jìn)程虛擬內(nèi)存 mm_struct

頁的回收與頁交換

虛擬文件系統(tǒng)

Ext2/3/4 文件系統(tǒng)

無持久的存儲

八改衩、性能分析

工具 wrk/ webbench/ loadbalance/valgrind

Google gTest/Memtrack

火焰圖/熱圖

九岖常、分布式架構(gòu)篇

騰訊的Tars

虛擬化的docker

分布式注冊中心etcd

P2P 網(wǎng)絡(luò)穿透 打洞 去中心化的網(wǎng)絡(luò)


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市葫督,隨后出現(xiàn)的幾起案子竭鞍,更是在濱河造成了極大的恐慌,老刑警劉巖橄镜,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎快,死亡現(xiàn)場離奇詭異,居然都是意外死亡洽胶,警方通過查閱死者的電腦和手機(jī)晒夹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丐怯,你說我怎么就攤上這事喷好。” “怎么了读跷?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵梗搅,是天一觀的道長。 經(jīng)常有香客問我效览,道長无切,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己脆贵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兢交,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锭沟。 梳的紋絲不亂的頭發(fā)上抽兆,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機(jī)與錄音族淮,去河邊找鬼辫红。 笑死,一個(gè)胖子當(dāng)著我的面吹牛祝辣,可吹牛的內(nèi)容都是我干的贴妻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼蝙斜,長吁一口氣:“原來是場噩夢啊……” “哼名惩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起孕荠,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤娩鹉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后稚伍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弯予,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年个曙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锈嫩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呼寸,靈堂內(nèi)的尸體忽然破棺而出艳汽,到底是詐尸還是另有隱情,我是刑警寧澤等舔,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布骚灸,位于F島的核電站,受9級特大地震影響慌植,放射性物質(zhì)發(fā)生泄漏甚牲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一蝶柿、第九天 我趴在偏房一處隱蔽的房頂上張望丈钙。 院中可真熱鬧,春花似錦交汤、人聲如沸雏赦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽星岗。三九已至,卻和暖如春戒洼,著一層夾襖步出監(jiān)牢的瞬間俏橘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工圈浇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寥掐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓磷蜀,卻偏偏與公主長得像召耘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子褐隆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容