登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』硅谷Python工程师面试指南:数据结构、算法与系统设计 任建峰 全书学

書城自編碼: 3987463
分類: 簡體書→大陸圖書→計算機/網絡计算机考试/认证
作者: 任建峰 全书学
國際書號(ISBN): 9787111750680
出版社: 机械工业出版社
出版日期: 2024-05-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 454

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
巨人传(插图珍藏本)
《 巨人传(插图珍藏本) 》

售價:NT$ 3289.0
地下(村上春树沙林毒气事件的长篇纪实)
《 地下(村上春树沙林毒气事件的长篇纪实) 》

售價:NT$ 332.0
偿还:债务与财富的阴暗面
《 偿还:债务与财富的阴暗面 》

售價:NT$ 347.0
清华大学藏战国竹简校释(壹):《命训》诸篇
《 清华大学藏战国竹简校释(壹):《命训》诸篇 》

售價:NT$ 408.0
封建社会农民战争问题导论(光启文库)
《 封建社会农民战争问题导论(光启文库) 》

售價:NT$ 296.0
虚弱的反攻:开禧北伐
《 虚弱的反攻:开禧北伐 》

售價:NT$ 429.0
泰山:一种中国信仰专论(法国汉学经典译丛)
《 泰山:一种中国信仰专论(法国汉学经典译丛) 》

售價:NT$ 380.0
花外集斠箋
《 花外集斠箋 》

售價:NT$ 704.0

建議一齊購買:

+

NT$ 653
《 信息学奥赛一本通关 》
+

NT$ 347
《 信息安全工程师考试32小时通关 》
+

NT$ 309
《 全国大学生移动应用设计竞赛指南 》
編輯推薦:
(1)内容权威:谷歌面试官和OPPO高级研究总监联手打造。作者基于亲身经验,有的放矢地解析数据结构、算法和系统设计3大核心技能面,筛选硅谷及国内科技巨头面试真题
(2)质量可靠:西北工业大学教授、美国乔治亚大学教授、华为专家、谷歌专家推荐。本书不仅透彻讲解常见的Python技术核心,还强调了重要而易被忽视的系统设计类题目,
用丰富实例打造硅谷科技企业的Python面试秘籍。
(3)收获切实:通过阅读本书,你将:1)了解硅谷高科技公司以及国内科技大厂面试的流程;2)利用真题训练来巩固面试所需的基本技能;3)更好地准备科技大厂的面试,从而争取更高的待遇条件。
內容簡介:
本书是一本全面的Python技术及面试指南,旨在帮助读者深入理解Python编程语言的核心概念,并掌握在技术面试中取得成功的关键技巧。全书分为4个部分。
第*部分 面试流程。这一部分详细介绍了硅谷公司的面试流程,包括非技术电话面试、技术电话面试(包括闲谈、技术沟通和提问环节)以及现场面试的准备和策略,既为读者提供了面试前的全面准备指导,也帮助读者在面试中展现出良好状态。
第二部分 数据结构。从基础的列表、堆栈、队列、优先队列、字典和集合,到更复杂的链表、二叉树、其他树结构(如前缀树、线段树、二叉索引树)和图的表示与应用,每一章都通过丰富的实例来展示如何巧妙应用这些数据结构。
第三部分 算法。这一部分覆盖了二分搜索、双指针法、动态规划、深度优先搜索、回溯、广度优先搜索、并查集等核心算法。结合面试真题,通过逐步分析,引导读者掌握每种算法的思想及其在解决实际问题中的应用。
第四部分 系统设计。理论知识部分,从设计需求分析到高层构建,然后到具体组件设计,再到扩展设计,帮助读者理解如何构建可扩展、高效的系统架构。实战案例部分,包括分布式缓存系统、网络爬虫系统、TinyURL加密与解密、自动补全功能、新闻动态功能、社交媒体应用和出行应用的设计,涵盖系统设计的关键技术。此外,这一部分涵盖了多线程编程与设计机器学习系统的知识,既帮助读者理解并行处理的概念和应用,又扩展机器学习的重要知识和面试技巧,并提供设计搜索排名系统和推荐系统的实例。
關於作者:
任建峰,分别于2005年和2009年获得西北工业大学博士学位和德州大学达拉斯分校博士学位。先后在美国高通、华为工作多年,从事计算机影像学/计算机视觉的芯片开发工作。目前在谷歌主要复杂计算影像方面的开发。发表论文30多篇,拥有30多项专利
目錄
Contents 目  录
前 言
第一部分 面试流程
第1章 硅谷公司面试流程 2
1.1 非技术电话面试  2
1.2 技术电话面试  3
1.2.1 闲谈环节 3
1.2.2 技术沟通环节 3
1.2.3 提问环节 4
1.3 现场面试  4
1.3.1 准备好闲谈素材 5
1.3.2 保持积极沟通 6
第二部分 数据结构
第2章 列表 8
2.1 列表的基础知识  8
2.1.1 创建列表 8
2.1.2 向列表中添加元素 9
2.1.3 删除列表中的元素 11
2.2 实例1:最长连续1的个数  12
2.3 实例2:二进制相加  13
2.4 实例3:查询范围和  15
2.4.1 利用一维数组求解 16
2.4.2 利用二维数组求解 16
2.5 实例4:随机索引  18
2.6 实例5:下一个更大排列  19
2.7 实例6:验证有效数字  21
2.8 实例7:递归小数  23
第3章 堆栈 25
3.1 堆栈的基础知识  25
3.1.1 堆栈操作及时间复杂度 25
3.1.2 3种实现方式 26
3.1.3 堆栈的应用 29
3.2 实例1:通过最小移除操作
得到有效的括号  29
3.3 实例2:函数的专用时间  30
第4章 队列 33
4.1 队列的3种实现方式  33
4.2 实例1:设计循环队列  36
4.3 实例2:求和大于K的最短
非空连续子数组的长度  38
第5章 优先队列 40
5.1 优先队列的3种实现方式  40
5.2 实例1:雇用K个工人的最低
成本  42
5.3 实例2:判断数组是否可以
拆分为连续的子序列  43
第6章 字典 45
6.1 字典的基础知识  45
6.1.1 创建字典 45
6.1.2 向字典中添加元素 46
6.1.3 访问字典中的元素 48
6.1.4 从字典中删除元素 49
6.2 实例1:和等于K的连续子
数组的总数  50
6.3 实例2:标签中的最大值  51
6.4 实例3:以平均时间复杂度
O(1)实现插入、删除和获取
随机值  52
6.5 实例4:最近最少使用缓存  54
第7章 集合 57
7.1 集合的基础知识  57
7.2 集合的基本操作  58
7.2.1 添加元素 58
7.2.2 删除元素 59
7.2.3 并集 59
7.2.4 交集 60
第8章 链表 61
8.1 双指针技术  61
8.2 实例1:判断链表是否有循环  62
8.3 实例2:两个链表的交集  62
8.4 实例3:克隆随机链表  64
8.5 实例4:反转链表  65
第9章 二叉树 66
9.1 层次顺序遍历  66
9.1.1 前序遍历 66
9.1.2 中序遍历 67
9.1.3 后序遍历 68
9.1.4 层序遍历 69
9.2 递归方法用于树的遍历  69
9.2.1 自上而下的解决方案 70
9.2.2 自下而上的解决方案 70
9.3 实例1:二叉树的最低共同
祖先  72
9.4 实例2:序列化和反序列化
二叉树  73
9.5 实例3:求二叉树的最大
路径和  74
9.6 实例4:将二叉树转换为
双链表  75
第10章 其他树结构 77
10.1 前缀树  77
10.1.1 前缀树节点的数据结构 78
10.1.2 在前缀树中插入单词 78
10.1.3 在前缀树中搜索单词 80
10.2 线段树  82
10.3 二叉索引树  86
10.3.1 二叉索引树的表示 87
10.3.2 getSum操作 87
10.3.3 update操作 88
10.3.4 二叉索引树的工作原理 89
10.4 实例1:范围和的个数  90
10.4.1 利用线段树求解 90
10.4.2 利用二叉索引树求解 94
10.4.3 利用二分搜索求解 96
10.5 实例2:计算后面较小数字的
个数  97
10.5.1 二叉索引树解法 97
10.5.2 二分搜索解法 98
10.5.3 线段树解法 99
第11章 图 100
11.1 图的表示  100
11.1.1 邻接矩阵 100
11.1.2 邻接表 101
11.2 实例1:克隆图  103
11.3 实例2:图验证树  104
11.3.1 深度优先搜索解法 104
11.3.2 广度优先搜索解法 106
11.3.3 并查集解法 107
第三部分 算法
第12章 二分搜索 110
12.1 实例1:求平方根  110
12.2 实例2:在旋转排序数组中
搜索  111
12.3 案例3:会议室预订问题  112
12.3.1 问题1:如何优化 112
12.3.2 问题2:如何预订多个
房间 113
第13章 双指针法 114
13.1 实例1:稀疏向量的点积  114
13.2 实例2:最小窗口子字符串  115
13.3 实例3:间隔列表相交  116
13.4 实例4:最长连续1的个数  119
13.5 实例5:查找字符串中的所有
字母  121
第14章 动态规划 123
14.1 动态规划的基础知识  123
14.2 实例1:买卖股票的最佳
时间  124
14.3 实例2:硬币找零  124
14.4 实例3:计算解码方式
总数  125
第15章 深度优先搜索 127
15.1 深度优先搜索的应用  127
15.2 实例1:太平洋和大西洋的
水流问题  128
15.3 实例2:预测获胜者  129
15.4 实例3:表达式加运算符  130
第16章 回溯 132
16.1 实例1:数独求解  132
16.2 实例2:扫地机器人  135
第17章 广度优先搜索 137
17.1 广度优先搜索的应用  138
17.2 实例1:墙和门  139
17.3 实例2:课程表  141
17.4 实例3:公交路线  142
17.5 实例4:判断二分图  143
17.6 实例5:单词阶梯  145
第18章 并查集 147
18.1 并查集的基础知识  147
18.2 实例:朋友圈  150
18.2.1 广度优先搜索解法 150
18.2.2 深度优先搜索解法 151
18.2.3 并查集解法 152
第19章 数据结构与算法面试
真题实战 153
19.1 实例1:文件系统  153
19.1.1 关于数据结构的探讨 154
19.1.2 面试题考查点 156
19.1.3 完整代码 156
19.2 实例2:最长有效词  157
19.2.1 找到更快的解决方案 158
19.2.2 基于存储/缓存的解决
方案 159
19.2.3 面试题考查点 161
19.3 实例3:圆圈组  161
19.3.1 圆圈组的个数 163
19.3.2 最大的k个圆圈组 163
第四部分 系统设计
第20章 系统设计理论 166
20.1 设计步骤  166
20.1.1 描述使用场景、约束和
假设 166
20.1.2 构建高层设计 166
20.1.3 设计核心组件 167
20.1.4 扩展设计 169
20.2 域名系统  171
20.3 负载均衡器  172
20.4 分布式缓存系统  173
20.5 哈希一致性  176
第21章 系统设计实战 178
21.1 设计分布式缓存系统  178
21.1.1 缓存无效 178
21.1.2 缓存逐出策略 179
21.1.3 设计分布式键值缓存
系统 180
21.2 设计网络爬虫系统  181
21.2.1 架构设计 181
21.2.2 爬虫服务 181
21.2.3 处理重复链接 183
21.2.4 更新爬网结果 184
21.2.5 可扩展性设计 184
21.3 TinyURL的加密与解密  185
21.3.1 系统的要求和目标 185
21.3.2 容量估算和约束 185
21.3.3 系统API 186
21.3.4 核心算法设计 187
21.3.5 数据库设计 187
21.3.6 数据分区和复制 188
21.3.7 缓存 188
21.3.8 负载均衡器 189
21.4 设计自动补全功能  189
21.4.1 基本系统设计与算法 190
21.4.2 主数据结构 191
21.4.3 优化设计 192
21.5 设计新闻动态功能  195
21.6 设计X(Twitter)应用  198
21.7 设计Uber/Lyft应用  203
第22章 多线程编程 206
22.1 多线程面试问题  206
22.2 实例1:形成水分子  207
22.3 实例2:打印零、偶数、
奇数  208
第23章 设计机器学习系统 210
23.1 机器学习的基础知识  210
23.1.1 什么是机器学习 210
23.1.2 为什么使用机器学习 211
23.1.3 监督学习和无监督学习 212
23.1.4 分类模型和回归模型 213
23.1.5 转换问题 214
23.1.6 关键数据 214
23.1.7 机器学习工作流程 215
23.1.8 欠拟合和过拟合 216
23.1.9 偏差和方差 217
23.2 机器学习的进阶知识  220
23.2.1 处理不平衡的二进制
分类 220
23.2.2 高斯混合模型和K均值
的比较 221
23.2.3 梯度提升 221
23.2.4 决策树的约束 223
23.2.5 加权更新 223
23.2.6 随机梯度提升 223
23.2.7 惩罚性学习 224
23.3 机器学习面试  224
23.3.1 机器学习面试考查点 224
23.3.2 机器学习面试的思路 226
23.4 实例1:搜索排名系统  227
23.4.1 题目解读 227
23.4.2 指标分析 228
23.4.3 架构 229
23.4.4 结果选择 231
23.4.5 训练数据生成 237
23.4.6 排名 238
23.4.7 筛选结果 240
23.5 实例2:Netflix电影推荐
系统  242
23.5.1 题目解读 242
23.5.2 指标分析 244
23.5.3 架构 246
23.5.4 特征工程 247
23.5.5 候选电影的产生 250
23.5.6 训练数据生成 252
23.5.7 排名 253
內容試閱
Preface?前  言
笔者目前就职于谷歌,担任软件工程师。与很多开发人员一样,笔者在面试前也进行了充分的准备,其中“刷题”似乎格外令人痛苦和感到疲惫。然而笔者发现,虽然刷题的过程很痛苦,但也有很多收获。首先,现在写出来的代码更加简洁,编程也更高效。其次,提升了自己的系统设计能力,在面对实际问题时更有思路。最后,因为准备充分、发挥平稳,最终拿到了比一般软件工程师更高的待遇。
在准备面试的过程中,笔者总结了一些经验,现在把自己的经验写出来,分享给广大
读者。
有一点需要说明:为什么本书使用Python语言呢?Python与C++相比更加简洁,可以方便地调用很多函数。使用Python“刷题”,可以不必纠结烦琐的细节。
本书分为四个部分,第一部分介绍硅谷公司面试流程,第二~四部分对应一般面试需要考查的三个基本技能。
数据结构:主要介绍关于列表、堆栈、队列、优先队列、字典、集合、链表,以及树和图的一些基本应用。
算法:主要介绍二分搜索、双指针法、动态规划、深度优先搜索、回溯、广度优先搜索等算法,并提供了面试真题的实战训练。
系统设计:包括系统设计理论和实战,介绍了多线程编程设计,也介绍了机器学习的系统设计案例,包括搜索排名系统和Netflix电影推荐系统等。
本书具有以下特色。
内容新颖:大多数案例都是目前大公司经常面试的实战题目。
免费代码:附有大量经过测试的代码。
经验总结:全面归纳和整理笔者积累的面试经验。
内容实用:结合大量实例进行讲解。
本书的完成离不开恩师蒋立源教授的鼓励,虽然他已经离开了这个世界,但是没有他,笔者不会产生写书的念头。谨以此书献给敬爱的蒋老师!
感谢师妹杜亚勤博士,她在百忙之中阅读了全书并做了修改。
任建峰  
于美国圣地亚哥

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.