技术面试对于IT领域的求职者来说是一个关键环节。力扣(Leetcode)是许多求职者在准备面试或提高技术时常用的一个网站,合理且有效地运用网站上的题目资源可帮助读者更高效地准备面试。本书精选力扣上的几十道原题,涵盖求和问题、动态规划法、堆栈、数字、树、字符串、图等算法知识,详细讲解技术面试的各个方面,更介绍了系统架构设计和四道系统设计题的思考方向。在每一道题目中,本书结合视频,不仅介绍了解题思路和面试思路分析,更有面试技巧分享及面试实战教学。
《高效制胜:程序员面试典型题解》这本书的目的是让读者用更短的时间做更充足的准备,在面试中充分展示自己的特点,更高效地搞定面试。
·高频题目、面试技巧、视频亲授
·高效制胜,用更短的时间做更充足的准备
·助你斩获Dream Offer
1.精选题目:题目精选自力扣(LeetCode)网站,包含算法题和系统设计题,重点突出;
2.配套视频:每题均有配套视频,思路更清晰,讲解更透彻,理解更容易;
3.一题多解:多种解法,不断优化,掌握算法思想;
4.面试准备与实战技巧分享,让你笑看面试;
5.力扣官方作序推荐。
吴江,毕业于浙江大学竺可桢学院,具有十多年全栈工作经验。现在美国零售咨询业独角兽企业工作,曾就职于咨询公司、五百强外企及多家创业公司。曾经在RubyKaigi、QCon 上积极地传授个人心得。
目录 CONTENTS
第 01章 你准备好了吗?
1.1 我是最棒的! / 2
1.2 常见问题的准备 / 3
1.3 技术相关面试题的准备 / 4
1.4 “你是最棒的!” / 5
第 02章 面试的本质
2.1 “面试”一词的含义 / 7
2.2 一次失败的面试 / 8
2.3 关于难题 / 10
2.4 本章总结 / 12
第 03章 求和问题
3.1 两数求和 / 14
3.2 两数求和-升序数组 / 17
3.3 面试之旅:三数求和 / 19
3.4 四数求和 / 22
第 04章 斐波那契数列
4.1 斐波那契数 / 26
4.2 使用矩阵乘法 / 27
4.3 面试之旅:爬楼梯 / 29
4.4 总结 / 31
第 05章 动态规划法
5.1 最大子序列和 / 33
5.2 分割等和子集 / 36
5.3 面试之旅:找零钱问题 / 39
5.4 本章总结 / 41
第 06章 堆栈
6.1 有效的括号 / 43
6.2 下一个更大元素 / 46
6.3 面试之旅:132模式 / 48
6.4 本章总结 / 52
第 07章 数字
7.1 杨辉三角 / 54
7.2 完全平方数 / 55
7.3 面试之旅:最小好进制 / 58
7.4 本章总结 / 63
第 08章 树
8.1 路径总和 / 65
8.2 二叉搜索树中第K小的元素 / 68
8.3 面试之旅-监控二叉树 / 70
8.4 本章总结 / 73
第 09章 字符串
9.1 词典中最长单词 / 75
9.2 无重复字符的最长子串 / 77
9.3 面试之旅:交错字符串 / 79
9.4 本章总结 / 81
第 10章 字符串搜索
10.1 实现strStr() / 83
10.2 删除而得的单词 / 86
10.3 面试之旅:开心前缀 / 88
10.4 本章总结 / 90
第 11章 图
11.1 间隔种花 / 92
11.2 最便宜的航班 / 94
11.3 单词搜索 / 97
11.4 面试之旅:最长递增路径 / 99
11.5 本章总结 / 101
第 12章 生活趣题
12.1 买卖股票的最佳时机 / 103
12.2 买卖股票的最佳时机II / 104
12.3 保持城市天际线 / 106
12.4 天际线问题 / 108
12.5 盛更多水的容器 / 110
12.6 接雨水 / 112
12.7 本章总结 / 113
第 13章 系统架构设计
13.1 架构设计的原则 / 115
13.2 做好准备工作 / 118
13.3 面试实战 / 118
13.4 本章总结 / 119
第 14章 设计一个命令行界面
14.1 需求分析 / 121
14.2 功能详解:创建合并请求 / 122
14.3 安全性 / 123
14.4 本章总结 / 125
第 15章 设计一个短网址服务
15.1 需求分析 / 127
15.2 功能详解:高可用性 / 129
15.3 安全性 / 130
15.4 本章总结 / 131
第 16章 设计一个聊天系统
16.1 需求分析 / 133
16.2 功能详解:并发访问处理 / 134
16.3 安全性 / 136
16.4 本章总结 / 136
第 17章 设计一个电商系统
17.1 需求分析 / 138
17.2 功能详解:搜索功能 / 140
17.3 安全性 / 141
17.4 本章总结 / 141
第 18章 笑看面试
18.1 遇到不会的问题时? / 143
18.2 最后一个问题,你准备好了吗? / 143