這段時間聽粉絲朋友說了件事兒:
公司開發效率低下,程式員出身的老板看過一些員工的代碼,發現明明可以用兩行代碼搞定的事情,有的人用了十幾行,更搞笑的是,有一個新人,把一個事件出現的100種情形一行一行碼出來了,老板差點氣得把電腦砸了,但后來回過頭一想,面試招人的時候沒有注重演算法的考核,有的壓根就沒有考核演算法,
所以最近老板從網路上面下載了一堆百度、騰訊、位元組跳動等互聯網大廠面試用的演算法題,給全公司程式員來了一場別開生面的考核,
并公開說明,想要漲薪的,就看這次成績,成績優秀的除了漲底薪之外,還提升績效工資,但是,成績過差的員工,會進行統一培訓,培訓期過后再次考核,依舊不合格的員工將進行勸退處理,
聽到這里,小天瞬間出了一身冷汗,但愿我的公司不要做這種事情吧!
但是,演算法確實是程式員不能缺失的技術能力,這將決定你開發寫代碼是否會簡便,并且,位元組跳動、百度等很多大廠的面試都把演算法獨立出來考察,
小天這里整理了一套資料結構與演算法有關的學習資料,還有學習路線圖:
資料結構與演算法

一致性演算法
Paxos
1、Paxos 三種角色
- Proposer
- Acceptor
- Learner
1.1.2. Paxos 演算法分為兩個階段
- 階段一(準 leader 確定 )
- 階段二(leader 確認)
Zab
1、崩潰恢復:主要就是 Leader 選舉程序
2、資料同步:Leader 服務器與其他服務器進行資料同步
3、訊息廣播:Leader 服務器將資料發送給其他服務器
Raft
1、角色
· Leader(領導者-日志管理)
· Follower(追隨者-日志同步)
· Candidate(候選者-負責選票)
2、Term(任期)
3、選舉(Election)
- 選舉定時器
4、安全性(Safety)
5、raft 協議和 zab 協議區別
NWR
- N:在分布式存盤系統中,有多少份備份資料
- W:代表一次成功的更新操作要求至少有 w 份資料寫入成功
- R: 代表一次成功的讀資料操作要求至少有 R 份資料成功讀取
Gossip
一致性 Hash
1、一致性 Hash 特性
2、一致性 Hash 原理
- 建構環形 hash 空間
- 把需要快取的內容(物件)映射到 hash 空間
- 把服務器(節點)映射到 hash 空間
- 把物件映射到服務節點
- 考察 cache 的變動
- 虛擬節點
2. JAVA 演算法
二分查找
冒泡排序演算法
插入排序演算法
快速排序演算法
希爾排序演算法
歸并排序演算法
桶排序演算法
基數排序演算法
剪枝演算法
回溯演算法
最短路徑演算法
最大子陣列演算法
最長公共子序演算法
最小生成樹演算法
3. 資料結構
堆疊(stack)
佇列(queue)
鏈表(Link)
散串列(Hash Table)
排序二叉樹
- 插入操作
- 洗掉操作
- 查詢操作
紅黑樹
- 紅黑樹的特性
- 左旋
- 右旋
- 添加
- 洗掉
B-TREE
位圖
4. 加密演算法
- AES
- RSA
- CRC
- MD5
資料:演算法學習內容、演算法與資料結構腦圖、面試題含答案,我都已經打包好了,三連文章后,加小助理微信 mxj94670 免費獲取!



大廠演算法面試題
百度
1、度度熊想去商場買一頂帽子,商場里有 N 頂帽子,有些帽子的價格可能相同,度度熊想買一頂價格第三便宜的帽子,問第三便宜的帽子價格是多少?
2、一個數軸上共有 N 個點,第一個點的坐標是度度熊現在位置,第 N-1 個點是度度熊的家,現在他需要依次的從 0 號坐標走到 N-1 號坐標,
但是除了 0 號坐標和 N-1 號坐標,他可以在其余的 N-2 個坐標中選出一個點,并直接將這個點忽略掉,問度度熊回家至少走多少距離?
3、三維空間中有 N 個點,每個點可能是三種顏色的其中之一,三種顏色分別是紅綠藍,分別用'R', 'G', 'B'表示,
現在要找出三個點,并組成一個三角形,使得這個三角形的面積最大,
但是三角形必須滿足:三個點的顏色要么全部相同,要么全部不同,
4、.......

騰訊
1、牛牛和羊羊正在玩一個紙牌游戲,這個游戲一共有 n 張紙牌, 第 i 張紙牌上寫著數字ai,
牛牛和羊羊輪流抽牌, 牛牛先抽, 每次抽牌他們可以從紙牌堆中任意選擇一張抽出, 直到紙牌被抽完,
他們的得分等于他們抽到的紙牌數字總和,
現在假設牛牛和羊羊都采用最優策略, 請你計算出游戲結束后牛牛得分減去羊羊得分等于多少,
2、小 Q 的父母要出差 N 天,走之前給小 Q 留下了 M 塊巧克力,小 Q 決定每天吃的巧克力數量不少于前一天吃的一半,但是他又不想在父母回來之前的某一天沒有巧克力吃,請問他第一天最多能吃多少塊巧克力,
3、......

以上資料:演算法學習內容、演算法與資料結構腦圖、面試題含答案,我都已經打包好了,三連文章后,掃描下方免費獲取!

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/231477.html
標籤:其他
上一篇:C++ huffman資料壓縮演算法實作(附原始碼)
下一篇:C語言每日一題(四)

