天天看点

java书籍_java书籍推荐---从入门到面试

java书籍_java书籍推荐---从入门到面试
入门java开发需要看哪些书呢? 硕士期间我是做算法研究方向,从博客中可以看到学习轨迹,但找工作时遇到一些困难,以及强化学习方向的机会太少,后面就转行做java开发了。决定转行java开发后,我看了很多视频+书,我个人还是喜欢啃书的,因为书比较系统。

1.java基础

首先,入门Java开发,需要学习java语言的基础知识,我本科的时候学过,所以就简单看了下书,并没有从头开始看视频。java基础推荐两本书,一本是《Head First Java》,这本书的趣味性很强,如果大家觉得只看知识点太枯燥,可以选择这本书。第二本是《Java 核心技术卷一》,快速看完前九章的基础知识。两本选一本看完基础即可。

2.Java虚拟机

看完语法基础之后,一定要了解JVM和高并发,这两部分也是面试必问的,大中小厂通通逃不过。Java虚拟机部分只推荐一本《深入理解java虚拟机》,几乎全网的博客都是摘抄自这本书,面试的重点是第二章、第三章、第六章、第七章,建议多刷几遍。

3.高并发

多线程推荐第一本是《Java并发编程实战》,这本书很经典,但是刚开始看还是有些枯燥的,有些概念不好理解,然后我又买了《Java高并发程序设计》,这本比较基础,对新手更友好一些,更容易读懂,上来就先介绍了几个概念:并发和并行、同步和异步、临界区、阻塞和非阻塞、死锁和活锁,后面讲了volatile、synchronize、线程池、ThreadLocal、CAS等等,面试点都涵盖进去了。

当然可能是因为第一本是歪果仁写的,第二本是中国人写的,我更倾向于第二本,读起来更通畅。

4.设计模式

另外,还需要学习设计模式,推荐《设计模式之禅》,这本是用java语言写的。

还有一本设计模式写的特别好的书,叫《大话设计模式》,这本书使用C#写的,公司有一本,大家争相传看,不用担心语言的差异,代码部分阅读基本无障碍。

5.MySQL

首先是《MySQL必知必会》,这本书很小,口袋书,方便随时查阅。这本书讲MySQL语法,让你学会如何敲代码,另外可以配合牛客网上的题目,大概有100多道题目,刷一刷。

深入的书籍推荐《MySQL内核:InnoDB存储引擎 卷1》,资深MySQL专家,机工畅销图书作者亲自执笔,介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践。

6.Redis

Redis做缓存是必须要学习的,推荐《Redis设计与实现》这本书。作者对源码的理解非常深入,从底层出发介绍Redis,但并不难懂。

7.计算机网络

计算机网络也是面试时考察的重点,列举几个耳熟能详的面试题:

  • 三次握手,四次挥手?
  • TCP和UDP的区别?
  • URL和URI的区别?
  • HTTP和HTTPS分别是什么?
  • GET和POST请求的区别?
  • OSI的参考模型?
  • DNS的解析过程?
  • 从URL输入到页面展现发生了什么?

我开始只是背了一些网络的面试题,根本经不住面试官的连环追问,所以说知识的系统性很重要!推荐三本网络好书,第一本是《图解HTTP》,很小的一本书,250页左右,客户端、服务端的各种传输用漫画的方式演示,非常帮助理解,涵盖了HTTP的常见知识点。

还有一本同系列的《图解TCP/IP》,这本书大一些,也厚一些,主要讲TCP/IP的知识点。

还有一本《计算机网络:自顶向下》,这本书风评很好,此书在开头就说,将以全新的方式介绍计算机网络,先讲应用层,再依次介绍传输层、网络层、链路层和物理层。这种自顶向下的讲解让人很容易了解整个网络的结构和脉络。

8.数据结构和算法

技术面还会涉及数据结构和算法的考察,面试官出的题基本上是在书上或者网上看到的,所以多刷题命中率很高的。

《剑指Offer》面试中经常问到这本书上的算法题或者变形题,我刷了两遍,Python一遍,Java一遍,都整理了笔记,虽然这本书中的算法题随便一搜就能搜出大量博客,但是还是书中讲的详细,提供的解题方法多,带领读者思考。

《编程之美》是微软亚洲研究院出品的算法书,大约60多道题,和《剑指offer》一样,里面的题常被拿出来考。

如果是跨专业做java开发,之前没有接触过数据结构,建议先看一遍数据结构的书,直接刷算法题跨度太大。数据结构的书不推荐严蔚敏的《数据结构》,不易懂。比较推荐我考研的时候看的天勤的《高分笔记》,虽然这是一本考研书,但也很适合作为数据结构的入门书,重点很清晰,讲得清楚明白。

祝大家都能找到满意的工作~~