2021年跳槽漲薪該如何準(zhǔn)備?c/c++ linux服務(wù)器開發(fā)崗

靈魂三問:

2021年你漲薪了嗎?

你是否對(duì)于現(xiàn)在的工作滿意?

你距離你的目標(biāo)還差多少?

“金三銀四”已經(jīng)過去,換工作的大潮已經(jīng)退去,作為一年的跳槽季,你是否已經(jīng)找到自己滿意的工作?薪資是否滿意?而對(duì)于還在原崗位堅(jiān)持的小伙伴是否漲薪了呢?無論是跳槽還是漲薪,都需要有堅(jiān)實(shí)的技術(shù)背景作為支撐,對(duì)于不滿現(xiàn)狀的朋友,又擔(dān)心自己的技術(shù)積累不夠,就需要一個(gè)具體可執(zhí)行的提升計(jì)劃了。

計(jì)劃的意思是了解當(dāng)下市場招聘環(huán)境的變化,并且根據(jù)對(duì)自己技術(shù)勢(shì)力的綜合評(píng)估對(duì)當(dāng)前的市場行情的預(yù)估之后,分析技術(shù)差距羅列的一個(gè)學(xué)習(xí)列表,具體細(xì)節(jié)的實(shí)施,學(xué)習(xí)效果的驗(yàn)證,要花費(fèi)多長時(shí)間來完成他,每天要投入多少精力學(xué)習(xí)等等,根據(jù)不同的情況來自己把握。

首先給大家分享一份對(duì)標(biāo)鵝廠T8(原2.3)職級(jí)的技術(shù)棧,供大家查漏補(bǔ)缺

c/c++ linux服務(wù)器開發(fā)免費(fèi)學(xué)習(xí)地址:c/c++ linux后臺(tái)服務(wù)器高級(jí)架構(gòu)師

1、數(shù)據(jù)結(jié)構(gòu)與算法

視頻解析:5種紅黑樹的場景,從Linux內(nèi)核談到Nginx源碼,聽完醍醐灌頂

2、設(shè)計(jì)模式23種(沒有全部列舉)

3、工程管理

4、代碼實(shí)現(xiàn)

視頻解析:linux下的epoll實(shí)戰(zhàn)揭秘——支撐億級(jí)IO的底層基石

5、方案分析

6、池式結(jié)構(gòu)

視頻解析:160行代碼帶你手寫線程池,面試不懼手撕( 完整版)

7、高性能組件

8、開源組件

9、協(xié)程的原理及實(shí)現(xiàn)

視頻解析:linux系統(tǒng)下協(xié)程的實(shí)現(xiàn)與原理剖析

10、基礎(chǔ)開源框架

視頻解析:為什么dpdk越來越受歡迎,看完以后,讓人醍醐灌頂

聊聊linux服務(wù)器端高級(jí)架構(gòu)—云風(fēng)的skynet

11、中間件開發(fā)

mysql

redis

nginx

mongodb、dfs

視頻學(xué)習(xí)地址:Nginx源碼從模塊開發(fā)入手,3個(gè)項(xiàng)目弄透nginx模塊開發(fā)

聊聊mysql,面試中經(jīng)常被問的存儲(chǔ)引擎

12、linux內(nèi)核

視頻解析:90分鐘了解Linux內(nèi)存架構(gòu),numa的優(yōu)勢(shì),slab的實(shí)現(xiàn),vmalloc原理

13、性能分析

14、分布式框架

其次,跳槽找工作肯定是需要面試的,在這總結(jié)一些面試題供大家參考(因?yàn)槭荂/C++的,而鵝廠是cpp的主戰(zhàn)場,所以總結(jié)的是鵝廠的一些面試題)

c/c++ linux服務(wù)器開發(fā)免費(fèi)學(xué)習(xí)地址:c/c++ linux后臺(tái)服務(wù)器高級(jí)架構(gòu)師

【文章福利】小編還總結(jié)了其它一線互聯(lián)網(wǎng)大廠的面試題,需要的朋友可以加群812855908領(lǐng)取

C/C++

const

多態(tài)

什么類不能被繼承(這個(gè)題目非常經(jīng)典,我當(dāng)時(shí)答出了private但是他說不好,我就沒想到final我以為那個(gè)是java的)

網(wǎng)絡(luò)

網(wǎng)絡(luò)的字節(jié)序

網(wǎng)絡(luò)知識(shí) tcp三次握手 各種細(xì)節(jié) timewait狀態(tài)

tcp 與 udp 區(qū)別 概念 適用范圍

TCP四次揮手講一下過程,最后一次ack如果客戶端沒收到怎么辦,為什么揮手不能只有三次,為什么time_wait。

對(duì)于socket編程,accept方法是干什么的,在三次握手中屬于第幾次,可以猜一下,為什么這么覺得。

tcp怎么保證有序傳輸?shù)?,講下tcp的快速重傳和擁塞機(jī)制,知不知道time_wait狀態(tài),這個(gè)狀態(tài)出現(xiàn)在什么地方,有什么用?

知道udp是不可靠的傳輸,如果你來設(shè)計(jì)一個(gè)基于udp差不多可靠的算法,怎么設(shè)計(jì)?

http與https有啥區(qū)別?說下https解決了什么問題,怎么解決的?說下https的握手過程。

tcp 粘包半包問題怎么處理?

keepalive 是什么東東?如何使用?

列舉你所知道的tcp選項(xiàng),并說明其作用。

socket什么情況下可讀?

nginx的epoll模型的介紹以及io多路復(fù)用模型

SYN Flood攻擊

流量控制,擁塞控制

TCP和UDP區(qū)別,TCP如何保證可靠性,對(duì)方是否存活(心跳檢測(cè))

tcpdump抓包,如何分析數(shù)據(jù)包

tcp如何設(shè)定超時(shí)時(shí)間

基于socket網(wǎng)絡(luò)編程和tcp/ip協(xié)議棧,講講從客戶端send()開始,到服務(wù)端recv()結(jié)束的過程,越細(xì)越好

http報(bào)文格式

http1.1與http1.0區(qū)別,http2.0特性

http3了解嗎

http1.1長連接時(shí),發(fā)送一個(gè)請(qǐng)求阻塞了,返回什么狀態(tài)碼?

udp調(diào)用connect有什么作用?

操作系統(tǒng)

進(jìn)程和線程-分別的概念 區(qū)別 適用范圍 它們分別的通訊方式 不同通訊方式的區(qū)別優(yōu)缺點(diǎn)

僵尸進(jìn)程

死鎖是怎么產(chǎn)生的

CPU的執(zhí)行方式

代碼中遇到進(jìn)程阻塞,進(jìn)程僵死,內(nèi)存泄漏等情況怎么排查。

有沒有了解過協(xié)程?說下協(xié)程和線程的區(qū)別?

堆是線程共有還是私有,堆是進(jìn)程共有還是私有,棧呢

了解過協(xié)程嗎(我:攜程???不了解嗚嗚嗚)

共享內(nèi)存的使用實(shí)現(xiàn)原理(必考必問,然后共享內(nèi)存段被映射進(jìn)進(jìn)程空間之后,存在于進(jìn)程空間的什么位置?共享內(nèi)存段最大限制是多少?)

c++進(jìn)程內(nèi)存空間分布(注意各部分的內(nèi)存地址誰高誰低,注意棧從高道低分配,堆從低到高分配)

ELF是什么?其大小與程序中全局變量的是否初始化有什么關(guān)系(注意.bss段)

使用過哪些進(jìn)程間通訊機(jī)制,并詳細(xì)說明(重點(diǎn))

多線程和多進(jìn)程的區(qū)別(重點(diǎn) 面試官最最關(guān)心的一個(gè)問題,必須從cpu調(diào)度,上下文切換,數(shù)據(jù)共享,多核cup利用率,資源占用,等等各方面回答,然后有一個(gè)問題必須會(huì)被問到:哪些東西是一個(gè)線程私有的?答案中必須包含寄存器,否則悲催)

信號(hào):列出常見的信號(hào),信號(hào)怎么處理?

i++是否原子操作?并解釋為什么???????

說出你所知道的各類linux系統(tǒng)的各類同步機(jī)制(重點(diǎn)),什么是死鎖?如何避免死鎖(每個(gè)技術(shù)面試官必問)

列舉說明linux系統(tǒng)的各類異步機(jī)制

exit() _exit()的區(qū)別?

如何實(shí)現(xiàn)守護(hù)進(jìn)程?

linux的內(nèi)存管理機(jī)制是什么?

linux的任務(wù)調(diào)度機(jī)制是什么?

標(biāo)準(zhǔn)庫函數(shù)和系統(tǒng)調(diào)用的區(qū)別?

補(bǔ)充一個(gè)坑爹坑爹坑爹坑爹的問題:系統(tǒng)如何將一個(gè)信號(hào)通知到進(jìn)程?(這一題哥沒有答出來)

Linux系統(tǒng)

linux的各種命令 給你場景讓你解決

Linux了解么,查看進(jìn)程狀態(tài)ps,查看cpu狀態(tài) top。查看占用端口的進(jìn)程號(hào)netstat grep

Linux的cpu 100怎么排查,top jstack,日志,gui工具

Linux操作系統(tǒng)了解么

怎么查看CPU負(fù)載,怎么查看一個(gè)客戶下有多少進(jìn)程

Linux內(nèi)核是怎么實(shí)現(xiàn)定時(shí)器的

gdb怎么查看某個(gè)線程

core dump有沒有遇到過,gdb怎么調(diào)試

linux如何設(shè)置core文件生成

linux如何設(shè)置開機(jī)自啟動(dòng)

linux用過哪些命令、工具

用過哪些工具檢測(cè)程序性能,如何定位性能瓶頸的地方

netstat tcpdump ipcs ipcrm (如果這四個(gè)命令沒聽說過或者不能熟練使用,基本上可以回家,通過的概率較小 ^_^ ,這四個(gè)命令的熟練掌握程度基本上能體現(xiàn)面試者實(shí)際開發(fā)和調(diào)試程序的經(jīng)驗(yàn))

cpu 內(nèi)存 硬盤 等等與系統(tǒng)性能調(diào)試相關(guān)的命令必須熟練掌握,設(shè)置修改權(quán)限 tcp網(wǎng)絡(luò)狀態(tài)查看 各進(jìn)程狀態(tài) 抓包相關(guān)等相關(guān)命令 必須熟練掌握

awk sed需掌握

gdb調(diào)試相關(guān)的經(jīng)驗(yàn),會(huì)被問到

MongoDB

關(guān)于大數(shù)據(jù)存儲(chǔ)的(mongodb hadoop)各種原理 mongodb又問的深入很多

Redis

Redis內(nèi)存數(shù)據(jù)庫的內(nèi)存指的是共享內(nèi)存么

Redis的持久化方式

Redis和MySQL有什么區(qū)別,用于什么場景。

redis有沒有用過,常用的數(shù)據(jù)結(jié)構(gòu)以及在業(yè)務(wù)中使用的場景,redis的hash怎么實(shí)現(xiàn)的

問了下緩存更新的模式,以及會(huì)出現(xiàn)的問題和應(yīng)對(duì)思路?

redis的sentinel上投票選舉的問題 raft算法

redis單線程結(jié)構(gòu)有什么優(yōu)勢(shì)?有什么問題? 主要優(yōu)勢(shì)單線程,避免線程切換產(chǎn)生靜態(tài)消耗,缺點(diǎn)是容易阻塞,雖然redis使用io復(fù)用epoll和輸入緩沖區(qū)把命令按照隊(duì)列先進(jìn)先出輸入等等

你覺得針對(duì)redis這些缺點(diǎn)那些命令在redis上不可使用? 比如keys、hgetall等等這些命令 建議用scan等等 這方面闡述

你覺得為什么項(xiàng)目中沒有用mysql而用了es,redis在這里到底起到了什么作用?因?yàn)榧軜?gòu)上這里理解不清楚,最后回答自己都覺得有漏洞了

你覺得redis什么算有用? 有用? 是說存進(jìn)去了還是說命中緩存?最后把緩存命中率是什么說了一遍

你們這邊redis集群是怎么樣子的

平常redis用的多的數(shù)據(jù)結(jié)構(gòu)是什么,跳表實(shí)現(xiàn),怎么維護(hù)索引,當(dāng)時(shí)我說是一個(gè)簡單的二分,手寫二分算法,并且時(shí)間復(fù)雜度是怎么計(jì)算出來的 (2的k次方等于n k等于logn)

MySQL

你們后端用什么數(shù)據(jù)庫做持久化的?有沒有用到分庫分表,怎么做的?

索引的常見實(shí)現(xiàn)方式有哪些,有哪些區(qū)別?MySQL的存儲(chǔ)引擎有哪些,有哪些區(qū)別?InnoDB使用的是什么方式實(shí)現(xiàn)索引,怎么實(shí)現(xiàn)的?說下聚簇索引和非聚簇索引的區(qū)別?

mysql查詢優(yōu)化

MySQL的索引,B+樹性質(zhì)。

B+樹和B樹,聯(lián)合索引等原理

mysql的悲觀鎖和樂觀鎖區(qū)別和應(yīng)用,ABA問題的解決

項(xiàng)目性能瓶頸在哪,數(shù)據(jù)庫表怎么設(shè)計(jì)

假設(shè)項(xiàng)目的性能瓶頸出現(xiàn)在寫數(shù)據(jù)庫上,應(yīng)該怎么解決峰值時(shí)寫速度慢的問題

假設(shè)數(shù)據(jù)庫需要保存一年的數(shù)據(jù),每天一百萬條數(shù)據(jù),一張表最多存一千萬條數(shù)據(jù),應(yīng)該怎么設(shè)計(jì)表

數(shù)據(jù)庫自增索引。100臺(tái)服務(wù)器,每臺(tái)服務(wù)器有若干個(gè)用戶,用戶有id,同時(shí)會(huì)有新用戶加入。實(shí)現(xiàn)id自增,統(tǒng)計(jì)用戶個(gè)數(shù)?不能重復(fù),好像是這樣的。

mysql,會(huì)考sql語言,服務(wù)器數(shù)據(jù)庫大規(guī)模數(shù)據(jù)怎么設(shè)計(jì),db各種性能指標(biāo)

算法

堆棧

有序數(shù)組排序,二分,復(fù)雜度

常見排序算法,說下快排過程,時(shí)間復(fù)雜度

有N個(gè)節(jié)點(diǎn)的滿二叉樹的高度。1+logN

如何實(shí)現(xiàn)關(guān)鍵字輸入提示,使用字典樹,復(fù)雜度多少,有沒有其他方案,答哈希,如果是中文呢,分詞后建立字典樹?

hashmap的實(shí)現(xiàn)講一下吧,講的很詳細(xì)了。講一下紅黑樹的結(jié)構(gòu),查詢性能等。

快排的時(shí)間復(fù)雜度,冒泡時(shí)間復(fù)雜度,快排是否穩(wěn)定,快排的過程

100w個(gè)數(shù),怎么找到前1000個(gè)最大的,堆排序,怎么構(gòu)造,怎么調(diào)整,時(shí)間復(fù)雜度。

一個(gè)矩陣,從左上角到右下角,每個(gè)位置有一個(gè)權(quán)值??梢陨舷伦笥易?,到達(dá)右下角的路徑權(quán)值最小怎么走。

四輛小車,每輛車加滿油可以走一公里,問怎么能讓一輛小車走最遠(yuǎn)。說了好幾種方案,面試官引導(dǎo)我優(yōu)化了一下,但是還是不滿意,最后他說跳過。

MySQL的索引,B+樹性質(zhì)。

十億和數(shù)找到前100個(gè)最大的,堆排序,怎么實(shí)現(xiàn),怎么調(diào)整。

布隆過濾器

hash表解決沖突的方法

跳表插入刪除過程

讓你實(shí)現(xiàn)一個(gè)哈希表,怎么做(當(dāng)時(shí)按照Redis中哈希表的實(shí)現(xiàn)原理回答)

設(shè)計(jì)模式

對(duì)于單例模式,有什么使用場景了,講了全局id生成器,他問我分布式id生成器怎么實(shí)現(xiàn),說了zk,問我zk了解原理不,講了zab,然后就沒問啦。

除了單例模式,知道適配器模式怎么實(shí)現(xiàn)么,有什么用

分布式架構(gòu)

CAP BASE理論

看你項(xiàng)目里面用了etcd,講解下etcd干什么用的,怎么保證高可用和一致性?

既然你提到了raft算法,講下raft算法的基本流程?raft算法里面如果出現(xiàn)腦裂怎么處理?有沒有了解過paxos和zookeeper的zab算法,他們之前有啥區(qū)別?

rpc有沒有了解

最后再送你一句來自丘吉爾的名言:

成功不是最終的,失敗也不是致命的,開始的勇氣才是最重要的!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容