主頁 > 軟體設計 > 2021年跳槽該如何準備?c/c++ linux服務器開發崗

2021年跳槽該如何準備?c/c++ linux服務器開發崗

2021-02-05 14:56:16 軟體設計

靈魂三問:

2020年你漲薪了嗎?

2020年你的技術提升了嗎?

對于2020年的自己是否滿意?

“金三銀四”即將到來,作為一年的跳槽季,這是找作業換作業的最佳時機,對于不滿現狀的朋友考慮在這個時間跳槽,但是看看招聘網站,要求玄的要死,面試幾輪之后更是沒有深沒有淺,經過一段時間的接觸之后,內心十分著急,又不知道怎么辦,就是沒有一個具體可執行的計劃,這樣下去導致最壞的結果可能是今年的跳槽可能變成了換坑,跳槽是職業生涯有續線性的增長,無論收入還是title或者平臺,換坑是從這個坑跳到另外一個坑,從而進入一個惡性回圈,給長期職業發展帶來很不利的影響,個人能力的成長長期維持在同一水平線上下浮動,

計劃的意思是了解當下市場招聘環境的變化,并且根據對自己技術勢力的綜合評估對當前的市場行情的預估之后,分析技術差距羅列的一個學習串列,具體細節的實施,學習效果的驗證,要花費多長時間來完成他,每天要投入多少精力學習等等,根據不同的情況來自己把握,

首先給大家分享一份對標騰訊T8(原2.3)職級的技術堆疊,供大家查漏補缺

c/c++ linux服務器開發學習地址:c/c++ linux服務器高級架構師

一、精進基石

1、資料結構與演算法
在這里插入圖片描述

2、設計模式23種(沒有全部列舉)
在這里插入圖片描述

3、工程管理
在這里插入圖片描述

視頻學習地址:設計模式很難嗎?看mark老師如何吊打設計模式

紅黑樹,在Linux內核的那些故事

二、高性能網路設計

1、代碼實作
在這里插入圖片描述

2、方案分析
在這里插入圖片描述

視頻學習地址:linux多執行緒之epoll原理剖析與reactor原理及應用

深入理解websocket,為你的專案多條思路

三、基礎組件實作

1、池式結構
在這里插入圖片描述

2、高性能組件

在這里插入圖片描述

3、開源組件
在這里插入圖片描述

視頻學習地址:150行代碼,手把手寫完執行緒池(完整版)

四、協程的原理及實作

在這里插入圖片描述

五、基礎開源框架

1、skynet
在這里插入圖片描述

2、zeromq
在這里插入圖片描述

3、dpdk
在這里插入圖片描述

視頻學習地址:為什么dpdk越來越受歡迎,看完以后,讓人醍醐灌頂

聊聊linux服務器端高級架構—云風的skynet

六、中間件開發

1、mysql
在這里插入圖片描述

2、redis

在這里插入圖片描述

3、nginx
在這里插入圖片描述

4、mongodb
在這里插入圖片描述

5、dfs
在這里插入圖片描述

視頻學習地址:16萬行Nginx原始碼,就該這么讀

七、linux內核

1、行程管理
在這里插入圖片描述

2、記憶體管理
在這里插入圖片描述

3、檔案系統
在這里插入圖片描述

4、設備驅動
在這里插入圖片描述

視頻學習地址:5個方面分析linux內核架構,讓你對內核不再陌生

linux內核,行程調度器的實作,完全公平調度器 CFS

八、性能分析

在這里插入圖片描述

九、分布式框架

在這里插入圖片描述

視頻學習地址:去中心化,p2p,網路穿透一起搞定

其次,跳槽找作業肯定是需要面試的,在這總結一些面試題供大家參考(因為是C/C++的,而鵝廠是cpp的主戰場,所以總結的是鵝廠的一些面試題)

【文章福利】小編還總結了很多其它一線互聯網大廠的面試題,有需要的朋友可以加群812855908領取
在這里插入圖片描述

C/C++

const
多型
什么類不能被繼承(這個題目非常經典,我當時答出了private但是他說不好,我就沒想到final我以為那個是java的)

網路

網路的位元組序
網路知識 tcp三次握手 各種細節 timewait狀態
tcp 與 udp 區別 概念 適用范圍
TCP四次揮手講一下程序,最后一次ack如果客戶端沒收到怎么辦,為什么揮手不能只有三次,為什么time_wait,
對于socket編程,accept方法是干什么的,在三次握手中屬于第幾次,可以猜一下,為什么這么覺得,
tcp怎么保證有序傳輸的,講下tcp的快速重傳和擁塞機制,知不知道time_wait狀態,這個狀態出現在什么地方,有什么用?
知道udp是不可靠的傳輸,如果你來設計一個基于udp差不多可靠的演算法,怎么設計?
http與https有啥區別?說下https解決了什么問題,怎么解決的?說下https的握手程序,
tcp 粘包半包問題怎么處理?
keepalive 是什么東東?如何使用?
列舉你所知道的tcp選項,并說明其作用,
socket什么情況下可讀?
nginx的epoll模型的介紹以及io多路復用模型
SYN Flood攻擊
流量控制,擁塞控制
TCP和UDP區別,TCP如何保證可靠性,對方是否存活(心跳檢測)
tcpdump抓包,如何分析資料包
tcp如何設定超時時間
基于socket網路編程和tcp/ip協議堆疊,講講從客戶端send()開始,到服務端recv()結束的程序,越細越好
http報文格式
http1.1與http1.0區別,http2.0特性
http3了解嗎
http1.1長連接時,發送一個請求阻塞了,回傳什么狀態碼?
udp呼叫connect有什么作用?

作業系統

行程和執行緒-分別的概念 區別 適用范圍 它們分別的通訊方式 不同通訊方式的區別優缺點
僵尸行程
死鎖是怎么產生的
CPU的執行方式
代碼中遇到行程阻塞,行程僵死,記憶體泄漏等情況怎么排查,
有沒有了解過協程?說下協程和執行緒的區別?
堆是執行緒共有還是私有,堆是行程共有還是私有,堆疊呢
了解過協程嗎(我:攜程???不了解嗚嗚嗚)
共享記憶體的使用實作原理(必考必問,然后共享記憶體段被映射進行程空間之后,存在于行程空間的什么位置?共享記憶體段最大限制是多少?)
c++行程記憶體空間分布(注意各部分的記憶體地址誰高誰低,注意堆疊從高道低分配,堆從低到高分配)
ELF是什么?其大小與程式中全域變數的是否初始化有什么關系(注意.bss段)
使用過哪些行程間通訊機制,并詳細說明(重點)
多執行緒和多行程的區別(重點 面試官最最關心的一個問題,必須從cpu調度,背景關系切換,資料共享,多核cup利用率,資源占用,等等各方面回答,然后有一個問題必須會被問到:哪些東西是一個執行緒私有的?答案中必須包含暫存器,否則悲催)
信號:列出常見的信號,信號怎么處理?
i++是否原子操作?并解釋為什么???????
說出你所知道的各類linux系統的各類同步機制(重點),什么是死鎖?如何避免死鎖(每個技術面試官必問)
列舉說明linux系統的各類異步機制
exit() _exit()的區別?
如何實作守護行程?
linux的記憶體管理機制是什么?
linux的任務調度機制是什么?
標準庫函式和系統呼叫的區別?
補充一個坑爹坑爹坑爹坑爹的問題:系統如何將一個信號通知到行程?(這一題哥沒有答出來)

Linux系統

linux的各種命令 給你場景讓你解決
Linux了解么,查看行程狀態ps,查看cpu狀態 top,查看占用埠的行程號netstat grep
Linux的cpu 100怎么排查,top jstack,日志,gui工具
Linux作業系統了解么
怎么查看CPU負載,怎么查看一個客戶下有多少行程
Linux內核是怎么實作定時器的
gdb怎么查看某個執行緒
core dump有沒有遇到過,gdb怎么除錯
linux如何設定core檔案生成
linux如何設定開機自啟動
linux用過哪些命令、工具
用過哪些工具檢測程式性能,如何定位性能瓶頸的地方
netstat tcpdump ipcs ipcrm (如果這四個命令沒聽說過或者不能熟練使用,基本上可以回家,通過的概率較小 _ ,這四個命令的熟練掌握程度基本上能體現面試者實際開發和除錯程式的經驗)
cpu 記憶體 硬碟 等等與系統性能除錯相關的命令必須熟練掌握,設定修改權限 tcp網路狀態查看 各行程狀態 抓包相關等相關命令 必須熟練掌握
awk sed需掌握
gdb除錯相關的經驗,會被問到

MongoDB

關于大資料存盤的(mongodb hadoop)各種原理 mongodb又問的深入很多

Redis

Redis記憶體資料庫的記憶體指的是共享記憶體么
Redis的持久化方式
Redis和MySQL有什么區別,用于什么場景,
redis有沒有用過,常用的資料結構以及在業務中使用的場景,redis的hash怎么實作的
問了下快取更新的模式,以及會出現的問題和應對思路?
redis的sentinel上投票選舉的問題 raft演算法
redis單執行緒結構有什么優勢?有什么問題? 主要優勢單執行緒,避免執行緒切換產生靜態消耗,缺點是容易阻塞,雖然redis使用io復用epoll和輸入緩沖區把命令按照佇列先進先出輸入等等
你覺得針對redis這些缺點那些命令在redis上不可使用? 比如keys、hgetall等等這些命令 建議用scan等等 這方面闡述
你覺得為什么專案中沒有用mysql而用了es,redis在這里到底起到了什么作用?因為架構上這里理解不清楚,最后回答自己都覺得有漏洞了
你覺得redis什么算有用? 有用? 是說存進去了還是說命中快取?最后把快取命中率是什么說了一遍
你們這邊redis集群是怎么樣子的
平常redis用的多的資料結構是什么,跳表實作,怎么維護索引,當時我說是一個簡單的二分,手寫二分演算法,并且時間復雜度是怎么計算出來的 (2的k次方等于n k等于logn)

MySQL

你們后端用什么資料庫做持久化的?有沒有用到分庫分表,怎么做的?
索引的常見實作方式有哪些,有哪些區別?MySQL的存盤引擎有哪些,有哪些區別?InnoDB使用的是什么方式實作索引,怎么實作的?說下聚簇索引和非聚簇索引的區別?
mysql查詢優化
MySQL的索引,B+樹性質,
B+樹和B樹,聯合索引等原理
mysql的悲觀鎖和樂觀鎖區別和應用,ABA問題的解決
專案性能瓶頸在哪,資料庫表怎么設計
假設專案的性能瓶頸出現在寫資料庫上,應該怎么解決峰值時寫速度慢的問題
假設資料庫需要保存一年的資料,每天一百萬條資料,一張表最多存一千萬條資料,應該怎么設計表
資料庫自增索引,100臺服務器,每臺服務器有若干個用戶,用戶有id,同時會有新用戶加入,實作id自增,統計用戶個數?不能重復,好像是這樣的,
mysql,會考sql語言,服務器資料庫大規模資料怎么設計,db各種性能指標

演算法

堆疊
有序陣列排序,二分,復雜度
常見排序演算法,說下快排程序,時間復雜度
有N個節點的滿二叉樹的高度,1+logN
如何實作關鍵字輸入提示,使用字典樹,復雜度多少,有沒有其他方案,答哈希,如果是中文呢,分詞后建立字典樹?
hashmap的實作講一下吧,講的很詳細了,講一下紅黑樹的結構,查詢性能等,
快排的時間復雜度,冒泡時間復雜度,快排是否穩定,快排的程序
100w個數,怎么找到前1000個最大的,堆排序,怎么構造,怎么調整,時間復雜度,
一個矩陣,從左上角到右下角,每個位置有一個權值,可以上下左右走,到達右下角的路徑權值最小怎么走,
四輛小車,每輛車加滿油可以走一公里,問怎么能讓一輛小車走最遠,說了好幾種方案,面試官引導我優化了一下,但是還是不滿意,最后他說跳過,
MySQL的索引,B+樹性質,
十億和數找到前100個最大的,堆排序,怎么實作,怎么調整,
布隆過濾器
hash表解決沖突的方法
跳表插入洗掉程序
讓你實作一個哈希表,怎么做(當時按照Redis中哈希表的實作原理回答)

設計模式

對于單例模式,有什么使用場景了,講了全域id生成器,他問我分布式id生成器怎么實作,說了zk,問我zk了解原理不,講了zab,然后就沒問啦,
除了單例模式,知道配接器模式怎么實作么,有什么用

分布式架構

CAP BASE理論
看你專案里面用了etcd,講解下etcd干什么用的,怎么保證高可用和一致性?
既然你提到了raft演算法,講下raft演算法的基本流程?raft演算法里面如果出現腦裂怎么處理?有沒有了解過paxos和zookeeper的zab演算法,他們之前有啥區別?
rpc有沒有了解

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

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

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/256840.html

標籤:其他

上一篇:【資料科學筆記】第三章 資料清洗與預處理

下一篇:VC++實作檔案加解密功能(附使用demo)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more