Java面试一战到底(基础卷)
全新正版现货
¥
135.2
7.6折
¥
179
全新
仅1件
作者周冠亚
出版社清华大学出版社
ISBN9787302564362
出版时间2020-11
装帧平装
开本16开
纸张胶版纸
定价179元
货号29145384
上书时间2024-07-13
商品详情
- 品相描述:全新
-
正版全新
- 商品描述
-
【编辑推荐】:
本书涵盖软件开发的、面试必考的数据结构和算法,JDK(Java Development Kit)中重要的、面试常见的代码分析、Java语言并发编程核心代码分析和面试技巧揭秘。本书从结构上可以分为五篇,*篇是准备开发环境,介绍Java语言开发中常见的工具和使用技巧
【内容简介】:
本书立足于当前主流互联网企业对Java开发人员的技术要求,分析并总结面试中常见的面试考点以提升Java开发人员的技术实力。通过结合作者和行业内多位阅历丰富的Java开发人员、面试官和猎头的工作经验,总结出高效的面试技巧,助力Java开发人员早日走出面试困惑期,收获满意的工作机会和丰厚的薪资。本书第1章讲解Java语言开发环境的搭建过程。第2章和第3章讲解Java开发人员面试中常见的数据结构和算法考点。第4章讲解Java开发人员面试中常见的Java基础相关的考点。第5章和第6章讲解Java开发人员面试中常见的并发编程考点。第7章和第8章讲解Java开发人员可能会面临的面试形式和应对面试所需的技巧。 本书内容翔实,贴近面试实践,考点讲解详尽,适用于所有Java语言面试候选人、分布式系统开发爱好者以及计算机相关专业的学生阅读,也可供具有一到三年Java开发经验的读者夯实基础,提升开发技术。
【作者简介】:
周冠亚,上海交通大学软件工程硕士,资深Java开发工程师。先后就职于飞牛网、万达网络科技有限公司、上海2345网络科技有限公司、美团点评,目前就职于上海某知名电子商务公司,主要从事后端Java开发工作,拥有丰富的软件开发经验,熟悉Java、高并发、微服务、大数据及相关软件架构,已出版《Spring 5企业开发实战》(清华大学出版社,2018年)。
【目录】:
*篇 准备开发环境
第1章 开发环境搭建 1
1.1 Java语言版本构成及特性 1
1.2 JDK的安装 3
1.3 IntelliJ IDEA的安装 4
1.4 Apache Maven的安装 5
1.5 IntelliJ IDEA插件安装 5
1.6 小结 6
第二篇 数据结构和算法
第2章 数据结构 7
2.1 线性表 8
2.1.1 线性表的定义 8
2.1.2 线性表的类型 8
2.1.3 线性表的抽象类型的定义 8
2.1.4 线性表常见面试考点 9
2.2 顺序表 10
2.2.1 顺序表添加元素 10
2.2.2 顺序表查找元素 10
2.2.3 顺序表删除元素 11
2.2.4 顺序表的实现 11
2.2.5 顺序表常见面试考点 15
2.3 单链表 15
2.3.1 单链表添加元素 16
2.3.2 单链表查找元素 16
2.3.3 单链表删除元素 17
2.3.4 单链表的实现 17
2.3.5 单链表常见面试考点 23
2.4 双向链表 23
2.4.1 双向链表添加元素 24
2.4.2 双向链表查找元素 24
2.4.3 双向链表删除元素 25
2.4.4 双向循环链表 25
2.4.5 双向链表常见面试考点 26
2.5 栈 26
2.5.1 顺序栈 27
2.5.2 链式栈 31
2.5.3 栈常见面试考点 34
2.6 队列 34
2.6.1 顺序队列 35
2.6.2 循环队列 39
2.6.3 链式队列 43
2.6.4 优先队列 46
2.6.5 队列常见面试考点 50
2.7 树 50
2.7.1 树结构的相关概念 51
2.7.2 二叉树 52
2.7.3 斜树 52
2.7.4 满二叉树 53
2.7.5 完全二叉树 53
2.7.6 二叉树存储结构 54
2.7.7 二叉树的遍历 56
2.7.8 二叉排序树 56
2.7.9 AVL树 64
2.7.10 2-3-4树 79
2.7.11 红黑树 86
2.7.12 哈夫曼树 106
2.7.13 树常见面试考点 114
2.8 树和森林 115
2.8.1 普通树转化为二叉树 115
2.8.2 森林转化为二叉树 116
2.8.3 树的遍历 117
2.8.4 森林的遍历 117
2.8.5 树和森林常见面试考点 117
2.9 图 118
2.9.1 图的相关概念 118
2.9.2 图的邻接矩阵存储结构 119
2.9.3 图的邻接表存储结构 122
2.9.4 图的十字链表存储结构 126
2.9.5 图的遍历 132
2.9.6 *小生成树 136
2.9.7 Prim算法求解*小生成树 137
2.9.8 Kruskal算法求解*小生成树 146
2.9.9 Dijkstra算法求解*短路径 152
2.9.10 图的常见面试考点 159
第3章 算法 160
3.1 字符串相关算法 160
3.1.1 验证回文字符串 160
3.1.2 分割回文字符串 162
3.1.3 单词拆分 164
3.1.4 前缀树 167
3.1.5 有效的字母异位词 170
3.1.6 无重复字符的*长子串 172
3.1.7 电话号码的字母组合 174
3.1.8 串联所有单词的子串 176
3.1.9 字符串相关算法常见面试考点 179
3.2 数组相关算法 179
3.2.1 乘积*连续子序列 179
3.2.2 求众数 181
3.2.3 旋转数组 183
3.2.4 移动零 186
3.2.5 求两个数组的交集 187
3.2.6 递增的三元子序列 189
3.2.7 搜索二维矩阵 191
3.2.8 除自身以外数组的乘积 194
3.2.9 数组相关算法常见面试考点 197
3.3 排序算法 197
3.3.1 冒泡排序算法 197
3.3.2 选择排序算法 199
3.3.3 插入排序算法 201
3.3.4 希尔排序算法 203
3.3.5 归并排序算法 206
3.3.6 快速排序算法 208
3.3.7 堆排序算法 213
3.3.8 计数排序算法 219
3.3.9 桶排序算法 221
3.3.10 基数排序算法 224
3.3.11 排序算法常见面试考点 227
第三篇 Java基础
第4章 Java中的集合框架 229
4.1 集合框架概述 229
4.2 ArrayList 230
4.2.1 ArrayList类的使用方式 230
4.2.2 ArrayList类的声明 232
4.2.3 ArrayList类的属性 233
4.2.4 ArrayList类的构造器 233
4.2.5 ArrayList类添加元素的方法 234
4.2.6 ArrayList类查询元素方法 238
4.2.7 ArrayList类更新元素方法 240
4.2.8 ArrayList类删除元素方法 240
4.2.9 ArrayList类批量方法 242
4.2.10 ArrayList类导出数组方法 244
4.2.11 ArrayList类排序方法 245
4.2.12 ArrayList类的迭代器 247
4.2.13 ArrayList常见面试考点 253
4.3 LinkedList 253
4.3.1 LinkedList类的使用方式 253
4.3.2 LinkedList类的声明 255
4.3.3 LinkedList类的属性 256
4.3.4 LinkedList类的内部类Node 256
4.3.5 LinkedList类的构造器 257
4.3.6 LinkedList类添加元素方法 257
4.3.7 LinkedList类查询元素的方法 260
4.3.8 LinkedList类更新元素方法 261
4.3.9 LinkedList类删除元素的方法 262
4.3.10 LinkedList类批量方法 263
4.3.11 LinkedList类的迭代器 265
4.3.12 LinkedList常见面试考点 269
4.4 Deque 270
4.4.1 Deque类的使用方式 270
4.4.2 Queue接口 271
4.4.3 Deque接口 272
4.4.4 LinkedList类的addFirst()方法 276
4.4.5 LinkedList类的addLast()方法 276
4.4.6 LinkedList类的offerFirst()方法 277
4.4.7 LinkedList类的offerLast()方法 277
4.4.8 LinkedList类的removeFirst()方法 278
4.4.9 LinkedList类的removeLast()方法 279
4.4.10 LinkedList类的pollFirst()方法 280
4.4.11 LinkedList类的pollLast()方法 280
4.4.12 LinkedList类的getFirst()方法 280
4.4.13 LinkedList类的getLast()方法 281
4.4.14 LinkedList类的peekFirst()方法 281
4.4.15 LinkedList类的peekLast()方法 281
4.4.16 LinkedList类的add()方法 282
4.4.17 LinkedList类的offer()方法 282
4.4.18 LinkedList类的remove()方法 282
4.4.19 LinkedList类的poll()方法 283
4.4.20 LinkedList类的element()方法 283
4.4.21 LinkedList类的peek()方法 283
4.4.22 LinkedList类的removeFirstOccurrence()方法 284
4.4.23 LinkedList类的removeLastOccurrence()方法 284
4.4.24 LinkedList类的push()方法 285
4.4.25 LinkedList类的pop()方法 286
4.4.26 Deque常见面试考点 286
4.5 PriorityQueue 286
4.5.1 PriorityQueue类的使用方式 286
4.5.2 PriorityQueue类的声明 287
4.5.3 PriorityQueue类的属性 288
4.5.4 PriorityQueue类的构造器 289
4.5.5 PriorityQueue类的add()方法 294
4.5.6 PriorityQueue类的offer()方法 294
4.5.7 PriorityQueue类的poll()方法 297
4.5.8 PriorityQueue类的peek()方法 297
4.5.9 PriorityQueue常见面试考点 298
4.6 HashMap 298
4.6.1 HashMap类的使用方式 298
4.6.2 Entry接口 300
4.6.3 Map接口 301
4.6.4 HashMap类的声明 307
4.6.5 HashMap类的属性 307
4.6.6 HashMap静态内部类Node 309
4.6.7 HashMap静态内部类TreeNode 311
4.6.8 HashMap的存储结构 312
4.6.9 HashMap的类构造器 312
4.6.10 HashMap类的put()方法 313
4.6.11 HashMap类的hash()方法 314
4.6.12 HashMap类的putVal()方法 314
4.6.13 HashMap类的resize()方法 318
4.6.14 HashMap类的putTreeVal()方法 323
4.6.15 HashMap类的treeifyBin()方法 324
4.6.16 HashMap类的remove()方法 330
4.6.17 HashMap类的get()方法 334
4.6.18 HashMap常见面试考点 335
4.7 LinkedHashMap 335
4.7.1 LinkedHashMap类的使用方式 336
4.7.2 LinkedHashMap类的声明 339
4.7.3 LinkedHashMap静态内部类Entry 339
4.7.4 LinkedHashMap类的属性 339
4.7.5 LinkedHashMap类的构造器 340
4.7.6 LinkedHashMap类的put()方法 341
4.7.7 LinkedHashMap类的get()方法 345
4.7.8 LinkedHashMap类的getOrDefault()方法 345
4.7.9 LinkedHashMap类的containsValue()方法 346
4.7.10 LinkedHashMap类的removeEldestEntry()方法 346
4.7.11 LinkedHashMap类常见面试考点 346
4.8 TreeMap 346
4.8.1 TreeMap类的使用方式 347
4.8.2 TreeMap类的声明 348
4.8.3 TreeMap静态内部类Entry 352
4.8.4 TreeMap类的属性 353
4.8.5 TreeMap类的构造器 354
4.8.6 TreeMap类的putAll()方法 355
4.8.7 TreeMap类的buildFromSorted()方法 355
4.8.8 TreeMap类的put()方法 358
4.8.9 TreeMap类的get()方法 361
4.8.10 TreeMap类的remove()方法 362
4.8.11 TreeMap类的firstKey()方法 365
4.8.12 TreeMap类的lastKey()方法 365
4.8.13 TreeMap类常见面试考点 366
4.9 HashSet 366
4.9.1 HashSet类的使用方式 366
4.9.2 HashSet类的声明 367
4.9.3 HashSet类的属性 367
4.9.4 HashSet类的构造器 368
4.9.5 HashSet类的add()方法 369
4.9.6 HashSet类的remove()方法 369
4.9.7 HashSet类的contains()方法 369
4.9.8 HashSet类的iterator()方法 370
4.9.9 HashSet类常见面试考点 372
4.10 LinkedHashSet 372
4.10.1 LinkedHashSet类的使用方式 372
4.10.2 LinkedHashSet类的声明 373
4.10.3 LinkedHashSet类构造器 373
4.10.4 LinkedHashSet类常见面试考点 374
4.11 TreeSet 374
4.11.1 TreeSet类的使用方式 375
4.11.2 TreeSet类的声明 377
4.11.3 TreeSet类的属性 379
4.11.4 TreeSet类的构造器 379
4.11.5 TreeSet类的add()方法 380
4.11.6 TreeSet类的first()方法 381
4.11.7 TreeSet类的last()方法 382
4.11.8 TreeSet类的descendingIterator()方法 382
4.11.9 TreeSet类常见面试考点 385
第四篇 Java并发编程
第5章 线程基础 387
5.1 线程的概念 387
5.1.1 进程与线程的关系 387
5.1.2 线程的概念常见面试考点 388
5.2 线程的创建 388
5.2.1 继承Thread类 388
5.2.2 实现Runnable接口 389
5.2.3 实现Callable接口 390
5.2.4 线程池 391
5.2.5 线程创建的常见面试考点 394
5.3 线程的生命周期 394
5.3.1 初始状态 395
5.3.2 就绪状态 396
5.3.3 运行中状态 396
5.3.4 阻塞状态 396
5.3.5
— 没有更多了 —
正版全新
以下为对购买帮助不大的评价