注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术工业技术建筑科学建筑设计斩获Offer:IT名企面试策略与编程笔试精解

斩获Offer:IT名企面试策略与编程笔试精解

斩获Offer:IT名企面试策略与编程笔试精解

定 价:¥59.80

作 者: (美)约翰·摩根,诺亚·金德勒,埃里克·吉格尔
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302526711 出版时间: 2019-04-01 包装: 平装
开本: 16开 页数: 302 字数:  

内容简介

  《斩获Offer:IT名企面试策略与编程笔试精解》是程序员准备技术面试的完美首。为反映不断变化的技术和趋势,本书已经更新到第4版,为当今程序员面临的职业面试提供深入指导。在线编程竞赛已被用于筛选成千上万的候选人,雇主甚至在GitHub上考量候选人的公共代码库——随着竞争越发激烈,程序员需要在面试之前将自己塑造成理想的候选人。 《斩获Offer:IT名企面试策略与编程笔试精解》将有助于: ● 了解面试官想要听到的内容,推进面试过程 ● 采用有效的方法与非技术招聘人员进行电话面试 ● 对常见的面试问题和测试进行专家级分析讲解 ● 在口头、竞赛以及GitHub等场合做好展示自己技能的准备 ● 在压力条件下展示自己的各项技能 ● 作为一项工作的佳候选人脱颖而出

作者简介

  John Mongan是一位自学成才的程序员,担任多家软件公司和制药公司的顾问,具有专业经验。他在软件测试技术方面拥有三项专利,并拥有加州大学圣地亚哥分校的生物信息学硕士学位和博士学位,在学校的研究方向为蛋白质动力学的超级计算机模拟。目前是加州大学旧金山分校放射学和生物医学影像学院信息系的助理教授和副主席,研究重点是机器学习应用于放射学数据和计算机化临床决策支持。 Noah Kindler是安全技术公司Avira的技术副总裁。他领导多个产品的软件设计和开发团队,用户群超过1亿人。 Eric Giguère(很久以前)在Commodore VIC-20上开始BASIC编程,并且迷上了计算机编程。他拥有滑铁卢大学计算机科学的BMath和MMath学位,有着丰富的专业编程经验,并且出版了几本编程书籍。目前是Google的一名资深软件工程师。

图书目录

目    录
第1章  求职之前   1
1.1  了解自己   1
1.2  了解市场   3
1.2.1  基本的市场情况   3
1.2.2  关于外包   3
1.3  培养顺应市场的技能   4
1.4  完成任务   5
1.5  准备好网上个人资料   6
1.6  小结   7
第2章  求职过程   9
2.1  寻找和联系公司   9
2.1.1  寻找公司   9
2.1.2  获得推荐   10
2.1.3  与猎头合作   10
2.1.4  直接联系公司   11
2.1.5  招聘会   11
2.1.6  技术驱动的网站   12
2.2  面试过程   12
2.2.1  筛选面试   12
2.2.2  现场面试   13
2.2.3  着装   13
2.3  招聘人员的角色   13
2.4  录用和谈判   14
2.4.1  应对招聘人员的施压   15
2.4.2  商量薪资   15
2.4.3  接受和拒绝录用   16
2.5  小结   16
第3章  电话面试   19
3.1  了解电话面试   19
3.1.1  软件工程师主持的电话面试   19
3.1.2  非技术人员主持的电话面试   20
3.2  如何进行电话面试   21
3.3  电话面试问题样例   22
3.3.1  C中的内存分配   22
3.3.2  权衡递归的利弊   22
3.3.3  移动编程   22
3.3.4  FizzBuzz   23
3.3.5  字符串翻转   24
3.3.6  删除重复项   24
3.3.7  括号嵌套   25
3.4  小结   26
第4章  编程解题方法   27
4.1  面试过程   27
4.1.1  面试场景   27
4.1.2  面试问题   28
4.1.3  选用哪种编程语言   28
4.1.4  互动是关键   29
4.2  解决问题   29
4.2.1  基本步骤   30
4.2.2  被题目困住时   31
4.3  分析解决方案   32
4.3.1  大O分析法   32
4.3.2  大O分析的原理   33
4.3.3  好情况、平均情况和坏情况   34
4.3.4  优化和大O分析   35
4.3.5  如何进行大O分析   35
4.3.6  哪种算法更好   35
4.3.7  内存占用分析   36
4.4  小结   37
第5章  链表   39
5.1  为什么考链表   39
5.2  各种链表   40
5.2.1  单链表   40
5.2.2  双向链表   42
5.2.3  循环链表   42
5.3  基本链表操作   42
5.3.1  跟踪头元素   42
5.3.2  遍历链表   43
5.3.3  插入和删除元素   44
5.4  有关链表的面试问题   46
5.4.1  栈实现   46
5.4.2  维护链表尾指针   51
5.4.3  removeHead中的错误   57
5.4.4  链表的倒数第m个元素   58
5.4.5  链表展平   61
5.4.6  链表还原   64
5.4.7  空或循环   66
5.5  小结   69
第6章  树和图   71
6.1  树   71
6.1.1  二叉树   73
6.1.2  二叉搜索树   74
6.1.3  堆   76
6.1.4  常见搜索   76
6.1.5  遍历   77
6.2  图   77
6.3  与树和图有关的面试问题   78
6.3.1  树的高度   78
6.3.2  先序遍历   79
6.3.3  先序遍历(不使用递归)   80
6.3.4  近的共同祖先   82
6.3.5  从二叉树到堆   83
6.3.6  不平衡二叉搜索树   86
6.3.7  Kevin Bacon的六度   87
6.4  小结   91
第7章  数组和字符串   93
7.1  数组   93
7.1.1  C和C    94
7.1.2  Java   95
7.1.3  C#   95
7.1.4  JavaScript   96
7.2  字符串   96
7.2.1  C   97
7.2.2  C    97
7.2.3  Java   98
7.2.4  C#   99
7.2.5  JavaScript   99
7.3  有关数组和字符串的面试问题   99
7.3.1  找到个不重复的字符   99
7.3.2  删除指定的字符   102
7.3.3  反转单词   105
7.3.4  整数/字符串转换   108
7.3.5  UTF-8字符串验证   113
7.4  小结   116
第8章  递归   117
8.1  理解递归   117
8.2  与递归有关的面试问题   120
8.2.1  二分搜索   120
8.2.2  字符串的排列   122
8.2.3  字符串的组合   125
8.2.4  电话单词   127
8.3  小结   132
第9章  排序   133
9.1  排序算法   133
9.1.1  选择排序   134
9.1.2  插入排序   135
9.1.3  快速排序   136
9.1.4  归并排序   137
9.2  与排序有关的面试问题   139
9.2.1  排序算法   139
9.2.2  稳定的选择排序   142
9.2.3  多键排序   145
9.2.4  使排序稳定   146
9.2.5  经过优化的快速排序   147
9.2.6  煎饼排序   150
9.3  小结   152
第10章  并发   153
10.1  基本线程的概念   153
10.1.1  线程   153
10.1.2  系统线程与用户线程   154
10.1.3  监视器和信号量   154
10.1.4  死锁   155
10.1.5  线程示例   155
10.2  与并发有关的面试问题   158
10.2.1  忙等   158
10.2.2  生产者/消费者   160
10.2.3  哲学家进餐   162
10.3  小结   166
第11章  面向对象编程   167
11.1  基础知识   167
11.1.1  类与对象   167
11.1.2  构造与析构   168
11.1.3  继承与多态   169
11.2  有关面向对象的编程 问题   170
11.2.1  接口和抽象类   170
11.2.2  虚方法   172
11.2.3  多重继承   173
11.2.4  资源管理   174
11.3  小结   176
第12章  设计模式   177
12.1  设计模式是什么   177
12.1.1  为何使用设计模式   177
12.1.2  面试中的设计模式   178
12.2  常见的设计模式   178
12.2.1  单例模式   178
12.2.2  构建器模式   179
12.2.3  迭代器模式   180
12.2.4  观察者模式   180
12.2.5  装饰器模式   181
12.3  关于设计模式的面试 问题   181
12.3.1  实现单例模式   181
12.3.2  装饰器模式与继承   184
12.3.3  高效的观察者更新   185
12.4  小结   185
第13章  数据库   187
13.1  数据库基础知识   187
13.1.1  关系数据库   187
13.1.2  SQL   188
13.1.3  NoSQL   192
13.1.4  对象数据库   192
13.1.5  混合键-值/列数据库   192
13.1.6  数据库事务   193
13.1.7  分布式数据库   194
13.2  有关数据库的面试问题   195
13.2.1  简单的SQL   195
13.2.2  公司和员工数据库   195
13.2.3  不采用聚合求值   198
13.2.4  三值逻辑   199
13.2.5  课程学习模式   200
13.3  小结   204
第14章  图形和位操作   205
14.1  图形   205
14.2  位操作   206
14.2.1  二进制补码表示法   206
14.2.2  位运算符   207
14.2.3  通过移位实现优化   208
14.3  与图形有关的面试问题   208
14.3.1  八分之一圆   208
14.3.2  矩形重叠   210
14.4  与位操作有关的面试 问题   213
14.4.1  高位优先或低位优先   213
14.4.2  1的个数   215
14.5  小结   218
第15章  数据科学、随机数和统计学   219
15.1  概率和统计   220
15.1.1  描述性统计和推断性统计   221
15.1.2  置信区间   221
15.1.3  统计检验   222
15.2  人工智能与机器学习   223
15.3  随机数生成器   224
15.4  与数据科学、随机数和统计学有关的面试问题   225
15.4.1  不可重复的结果   226
15.4.2  学得越多,懂得越少   227
15.4.3  掷骰子   229
15.4.4  计算π   232
15.5  小结   236
第16章  计数、测量和排序难题   237
16.1  解决脑筋急转弯问题   237
16.1.1  注意假设   238
16.1.2  不要被吓倒   239
16.1.3  小心简单的问题   239
16.1.4  估算问题   240
16.2  脑筋急转弯问题   240
16.2.1  数一数打开的储物柜   240
16.2.2  三个开关   242
16.2.3  过桥   243
16.2.4  重弹珠   246
16.2.5  美国加油站数量   250
16.3  小结   251
第17章  图形和空间难题   253
17.1  先画出来   253
17.2  有关图形和空间的问题   254
17.2.1  船和码头   254
17.2.2  数立方体   256
17.2.3  狐狸和鸭子   259
17.2.4  燃烧保险丝   261
17.2.5  躲开火车   262
17.3  小结   263
第18章  知识方面的问题   265
18.1  相关准备   265
18.2  面试问题举例   266
18.2.1  C 与Java   266
18.2.2  友元类   267
18.2.3  参数传递   268
18.2.4  宏和内联函数   269
18.2.5  继承   270
18.2.6  垃圾收集   271
18.2.7  32位应用与64位应用   272
18.2.8  网络性能   272
18.2.9  Web应用安全   273
18.2.10  密码技术   275
18.2.11  哈希表与二叉
 搜索树   275
18.2.12  MapReduce   276
18.3  小结   276
第19章  非技术问题   277
19.1  为何要出非技术问题   277
19.2  面试问题举例   278
19.2.1  你想做什么工作   278
19.2.2  你喜欢的编程语言是什么   279
19.2.3  你的工作风格是什么   279
19.2.4  你能告诉我你有什么经验吗   280
19.2.5  你的职业目标是什么   280
19.2.6  你为什么要换工作   280
19.2.7  你希望的薪水是多少   281
19.2.8  你过去的薪水是多少   283
19.2.9  我们为什么应该录用你   284
19.2.10  你为什么想为这家公司工作   284
19.2.11  有什么问题要问我吗   284
19.3  小结   284
附录A  简历   285
A.1  技术简历   285
A.1.1  糟糕的示例   285
A.1.2  推销自己   288
A.1.3  保持简短   288
A.1.4  列出正确的信息   289
A.1.5  简明清晰   290
A.1.6  仅限相关信息   291
A.1.7  使用反向时间顺序排序   292
A.1.8  保持校对的习惯   293
A.1.9  改进后的示例   293
A.1.10  经理和高级开发人员   294
A.1.11  针对职位裁剪简历   299
A.2  简历样本   299
 

本目录推荐