-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
輕松拿捏大數(shù)據(jù)算法面試:典型算法面試題全解及面試指導 版權信息
- ISBN:9787111772620
- 條形碼:9787111772620 ; 978-7-111-77262-0
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
輕松拿捏大數(shù)據(jù)算法面試:典型算法面試題全解及面試指導 本書特色
IT領域的技術崗位,甚至包括業(yè)務和管理崗位,在面試時都會涉及算法部分。毫無疑問,這部分是面試過程中*讓人頭疼的部分。算法涉及的類型很多,而算法的應用更是覆蓋了所有IT產(chǎn)品。要如何快速跨過算法面試的門檻?答案就是攻克算法母題!本書6位作者均來自一線大廠,經(jīng)過了數(shù)百次的面試(自己面試和面試別人),對面試中的算法題有深刻的理解和認識。他們聯(lián)合力扣官方,挑選出近100道算法母題,涵蓋了所有大數(shù)據(jù)崗位面試的算法題類型。是一本可以幫助面試者快速通過面試的神器!
輕松拿捏大數(shù)據(jù)算法面試:典型算法面試題全解及面試指導 內容簡介
內容簡介這是6位來自多個大廠的大數(shù)據(jù)工程師聯(lián)合力扣撰寫的,深度解讀大數(shù)據(jù)算法面試母題的求職手冊。本融合了幾位作者總計數(shù)百次面試他人和被他人面試的經(jīng)驗,結合對大廠招聘的真實需求,深度解讀精選自力扣的近百道具有代表性的算法題。這些題目覆蓋了幾乎所有大數(shù)據(jù)從業(yè)者需要掌握的算法題類型,它們有的來自力扣多年的專業(yè)沉淀,有的來自各家企業(yè)的真實招聘題庫。各位作者從實際應用場景出發(fā),解讀每道題出現(xiàn)在面試中的底層邏輯,然后給出具體的解題思路和編程示例,并從時間復雜度和空間復雜度兩個層面分析示例程序。第1章和第2章從數(shù)據(jù)結構這個層面解讀數(shù)組、鏈表、字符串、哈希表、棧、隊列、樹和圖,這是所有算法的基礎,然后深入分析了排序、遞歸、分治、貪心、回溯算法以及動態(tài)規(guī)劃等基礎算法的母題。第3章和第4章則聚焦大數(shù)據(jù)領域,從計算與存儲兩個維度解讀面試中常見的算法題,比如Top k問題、中位數(shù)問題、位圖算法問題、有序哈希字典問題、樹存儲問題、索引設計問題、海量數(shù)據(jù)寫入與存儲問題等。第5章和第6章精選了多道來自真實面試的算法題進行精講,并從如何高效刷題、如何準備面試兩個層面給出精準指導。
輕松拿捏大數(shù)據(jù)算法面試:典型算法面試題全解及面試指導輕松拿捏大數(shù)據(jù)算法面試:典型算法面試題全解及面試指導 前言
前 言 Preface
為什么要寫這本書
數(shù)據(jù)結構(Data Structure)+算法(Algorithm)=程序(Program)。大多數(shù)從事計算機行業(yè)的人都聽過這個公式。這個公式是Niklaus Wirth在1976年出版的《算法+數(shù)據(jù)結構:程序》一書中提出的。換一個通俗的說法:數(shù)據(jù)結構是程序的“肉體”,它承載著程序的核心——數(shù)據(jù)的結構,是計算機存儲、組織數(shù)據(jù)的方式;算法是程序的“靈魂”,提供了程序執(zhí)行的流程與步驟;程序是數(shù)據(jù)結構與算法在特定編程語言和執(zhí)行環(huán)境下的結合,只有合適的數(shù)據(jù)結構設計與算法實現(xiàn),才能實現(xiàn)編程者的設計目標,使程序正確地運行起來。
在“舊IT時代”,程序與數(shù)據(jù)的規(guī)模沒有現(xiàn)在這么大,那時傳統(tǒng)的算法與數(shù)據(jù)結構在小數(shù)據(jù)樣本下,可以穩(wěn)健地運行在單機環(huán)境中。隨著互聯(lián)網(wǎng)與物聯(lián)網(wǎng)等更多互聯(lián)互通的場景出現(xiàn),越來越多的數(shù)據(jù)、越來越復雜的算法流程不斷在“新IT時代”對技術人員發(fā)起挑戰(zhàn)。相比于復雜的算法流程,海量的數(shù)據(jù)集對編程人員的影響更加直觀,我們已經(jīng)無法簡單地使用一臺服務器去存儲數(shù)據(jù)了。
輕松拿捏大數(shù)據(jù)算法面試:典型算法面試題全解及面試指導 目錄
前言
第1章 基礎數(shù)據(jù)結構1
1.1 數(shù)組1
1.1.1 兩數(shù)之和—輸入有序數(shù)組1
1.1.2 刪除有序數(shù)組中的重復項3
1.1.3 思維延展5
1.2 鏈表6
1.2.1 合并兩個有序鏈表7
1.2.2 相交鏈表8
1.2.3 思維延展11
1.3 字符串13
1.3.1 有效的字母異位詞13
1.3.2 重復的子字符串14
1.3.3 找出字符串中**個匹配項
的下標17
1.3.4 無重復字符的*長子串19
1.3.5 思維延展20
1.4 哈希表22
1.4.1 快樂數(shù)23
1.4.2 找到所有數(shù)組中消失的數(shù)字24
1.4.3 *長連續(xù)序列26
1.4.4 找到字符串中所有字母異
位詞27
1.4.5 思維延展29
1.5 棧和隊列31
1.5.1 有效的括號31
1.5.2 每日溫度33
1.5.3 前k個高頻元素35
1.5.4 合并k個升序鏈表37
1.5.5 思維延展39
1.6 樹和二叉樹42
1.6.1 二叉樹的中序遍歷43
1.6.2 二叉樹的層序遍歷44
1.6.3 從前序與中序遍歷序列構造
二叉樹47
1.6.4 二叉搜索樹的*近公共祖先49
1.6.5 思維延展51
1.7 圖53
1.7.1 島嶼的周長54
1.7.2 二進制矩陣中的*短路徑56
1.7.3 思維延展58
第2章 基礎算法60
2.1 排序算法60
2.1.1 排序數(shù)組的求解61
2.1.2 思維延展68
2.2 遞歸算法69
2.2.1 斐波那契數(shù)69
2.2.2 兩兩交換鏈表中的節(jié)點72
2.2.3 思維延展73
2.3 分治算法74
2.3.1 多數(shù)元素75
2.3.2 將有序數(shù)組轉換為二叉
搜索樹77
2.3.3 *大子數(shù)組和79
2.3.4 排序鏈表81
2.3.5 思維延展84
2.4 貪心算法85
2.4.1 分發(fā)餅干85
2.4.2 加油站87
2.4.3 跳躍游戲90
2.4.4 思維延展91
2.5 回溯算法92
2.5.1 尋找子集93
2.5.2 全排列94
2.5.3 島嶼數(shù)量96
2.5.4 n皇后98
2.5.5 思維延展101
2.6 動態(tài)規(guī)劃101
2.6.1 爬樓梯102
2.6.2 不同路徑104
2.6.3 編輯距離106
2.6.4 接雨水108
2.6.5 思維延展110
第3章 大數(shù)據(jù)量計算112
3.1 Top k問題112
3.1.1 前k個高頻單詞113
3.1.2 數(shù)組中的第k個*大元素116
3.1.3 思維延展—限制內存Top N118
3.2 中位數(shù)118
3.2.1 尋找兩個正序數(shù)組的中位數(shù)119
3.2.2 數(shù)據(jù)流的中位數(shù)122
3.2.3 思維延展:如何從5億個數(shù)
中找出中位數(shù)125
3.3 位圖算法131
3.3.1 只出現(xiàn)一次的數(shù)字131
3.3.2 丟失的數(shù)字133
3.3.3 思維延展:統(tǒng)計不同手機
號碼的個數(shù)136
第4章 樹與存儲結構138
4.1 有序哈希字典問題138
4.1.1 排序鏈表與哈希字典138
4.1.2 樹形結構與哈希字典150
4.1.3 自平衡的樹形結構AVL樹153
4.1.4 紅黑樹159
4.2 樹的存儲問題161
4.2.1 二叉樹的序列化問題162
4.2.2 快速查找樹的父節(jié)點165
4.2.3 持久化的快速查找樹167
4.2.4 線段樹170
4.3 索引設計173
4.3.1 B樹174
4.3.2 更快排序的樹—B+樹178
4.3.3 空間索引問題180
4.3.4 R樹185
4.4 海量寫入的存儲設計192
4.4.1 LSM樹192
4.4.2 Bloom Filter201
第5章 面試真題211
5.1 關鍵的位運算211
5.1.1 顛倒二進制位212
5.1.2 計數(shù)質數(shù)213
5.2 奇妙的數(shù)論題215
5.2.1 鏡面反射215
5.2.2 n的第k個因子217
5.2.3 *簡分數(shù)219
5.2.4 使數(shù)組可以被整除的*少
刪除次數(shù)221
5.3 靈活的數(shù)據(jù)結構223
5.3.1 并查集類算法223
5.3.2 單調棧226
5.3.3 位圖229
5.3.4 LRU緩存231
5.4 逃不過的算法題234
5.4.1 模擬題234
5.4.2 前綴和計算236
5.4.3 隨機化239
5.5 必知必會的SQL算法242
5.5.1 連續(xù)時間問題243
5.5.2 時間間隔問題244
5.5.3 Top N問題245
5.5.4 用戶留存率問題247
5.5.5 窗口函數(shù)問題248
第6章 面試準備指南250
6.1 算法刷題的重要性250
6.1.1 大數(shù)據(jù)時代的挑戰(zhàn)251
6.1.2 算法對于大數(shù)據(jù)處理的作用251
6.2 大數(shù)據(jù)刷題技巧252
6.2.1 解決問題的方法論254
6.2.2 多種解法對比和分析的
重要性255
6.2.3 多做題目多總結256
6.2.4 面試模擬和實戰(zhàn)演練257
6.2.5 學會利用資源260
6.3 面試準備261
6.3.1 了解大數(shù)據(jù)職業(yè)方向261
6.3.2 不同職位對算法的要求262
6.4 面試技巧263
6.4.1 自信和積極的態(tài)度264
6.4.2 清晰的表達和邏輯思維265
6.4.3 如何回答算法問題和優(yōu)化
思路266
6.4.4 針對不熟悉的問題的應對
策略26
輕松拿捏大數(shù)據(jù)算法面試:典型算法面試題全解及面試指導 作者簡介
楊國棟
“數(shù)據(jù)之力技術叢書”主任,前騰訊軟件工程師。一直就職于頭部互聯(lián)網(wǎng)公司,從事大數(shù)據(jù)平臺與基礎架構相關工作,具有多年一線工作經(jīng)驗。《Apache Pulsar原理解析與應用實踐》《大數(shù)據(jù)SQL優(yōu)化:原理與實踐》等書作者。
徐揚
PowerData社區(qū)骨干成員,某頭部大廠算法工程師,從事多年算法研究工作,致力于通過算法優(yōu)化和創(chuàng)新,解決實際業(yè)務場景中的數(shù)據(jù)處理與分析難題。
徐振超
“數(shù)據(jù)之力技術叢書”編委會成員,“數(shù)據(jù)極客圈”公眾號/CSDN主理人,F(xiàn)任某頭部互聯(lián)網(wǎng)企業(yè)數(shù)據(jù)庫技術生態(tài)研發(fā)工程師,專注數(shù)據(jù)庫查詢優(yōu)化工作,具有豐富的實戰(zhàn)經(jīng)驗。楊國棟
“數(shù)據(jù)之力技術叢書”主任,前騰訊軟件工程師。一直就職于頭部互聯(lián)網(wǎng)公司,從事大數(shù)據(jù)平臺與基礎架構相關工作,具有多年一線工作經(jīng)驗!禔pache Pulsar原理解析與應用實踐》《大數(shù)據(jù)SQL優(yōu)化:原理與實踐》等書作者。
徐揚
PowerData社區(qū)骨干成員,某頭部大廠算法工程師,從事多年算法研究工作,致力于通過算法優(yōu)化和創(chuàng)新,解決實際業(yè)務場景中的數(shù)據(jù)處理與分析難題。
徐振超
“數(shù)據(jù)之力技術叢書”編委會成員,“數(shù)據(jù)極客圈”公眾號/CSDN主理人。現(xiàn)任某頭部互聯(lián)網(wǎng)企業(yè)數(shù)據(jù)庫技術生態(tài)研發(fā)工程師,專注數(shù)據(jù)庫查詢優(yōu)化工作,具有豐富的實戰(zhàn)經(jīng)驗。
黃海軍
現(xiàn)任某頭部互聯(lián)網(wǎng)企業(yè)某頭部數(shù)據(jù)庫技術生態(tài)研發(fā)工程師,《數(shù)據(jù)微光》公眾號主理人。深耕開源多年,聚焦技術生態(tài)構建與實戰(zhàn)經(jīng)驗沉淀,致力于推進前沿技術在行業(yè)場景中的價值釋放。
羅富良
現(xiàn)任上海某頭部旅行公司數(shù)據(jù)開發(fā)工程師。從事離線數(shù)據(jù)倉庫、實時數(shù)據(jù)倉庫與湖倉一體化研發(fā)工作,在數(shù)倉開發(fā)方面有豐富的實踐經(jīng)驗。
趙思南
現(xiàn)就職于某頭部網(wǎng)絡廣告代理商公司,從事大數(shù)據(jù)平臺與數(shù)據(jù)分析等相關工作,在大數(shù)據(jù)平臺開發(fā)方面具有多年一線工作經(jīng)驗;钴S于多個社區(qū),樂于知識分享。
- >
月亮與六便士
- >
【精裝繪本】畫給孩子的中國神話
- >
羅庸西南聯(lián)大授課錄
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
上帝之肋:男人的真實旅程
- >
自卑與超越
- >
名家?guī)阕x魯迅:朝花夕拾
- >
隨園食單