【精华】非科班通往计算机之路的书籍天梯推荐

一、绪论

1.背景

  计算机行业持续火热,移动互联网、大数据云计算、人工智能、物联网、区块链、量子计算等新技术掀起了一波接一波高潮,正在改变着世界的面貌,再度引领第四次工业革命,对全行业都有着巨大的冲击,各行各业都被智能时代的浪潮所席卷,传统企业不得不面临产业转型。在这样的时代背景下,计算机行业就业形势一片大好,而传统行业却不容乐观,便呈现出“三百六十行,行行转IT”的局面。
  最近有不少朋友也想转行搞IT,或者想通过学习一些计算机知识来增强本专业的竞争力,但面对浩瀚的计算机世界有几分迷茫也实属正常。我本人也是从传统工科材料类专业经过摸打滚爬转到了IT业从事移动端开发工作,在这期间也走了许多弯路,也请教过不少科班大佬,深知自学不易,道阻且长,总结这篇博文为广大同胞贡献一点拙见,以期各位走得更快更稳!
  由于本人水平有限,错误在所难免,观点不免有失偏颇,还请大家在评论区不吝指出!

2.前言

  转行要趁早,越早转行沉没成本和机会成本便越小,如果你决定了要进入计算机世界的大门,那么我建议尽量能在计算机上多投入时间,技术水平的高度将决定你未来就业薪酬的高度。言归正传,学习计算机其实有许多方式,比如看视频、看书、看博客等,配合实操练习,坚持下去水平就能突飞猛进,毕竟网络世界本源就是计算机类专业的人创造的,网络上计算机的学习资源也是各行业中最为丰富的,这里活跃着无数IT高手,所以自学也是非常方便的。
  我本人比较偏好通过看书,辅之以视频、博客等网络资源进行学习,因为我认为书是IT专家们的呕心沥血之作,对其知识体系能进行系统讲解,脉络清晰,还能反复查阅。每一本好书就如同一位老师在向你循循善诱,娓娓道来,所以本文为大家梳理一下我总结的优秀书籍供参考。大部分其实我还没有读过或读完,但通过知乎、社区、熟人等各种渠道汇集了众多大佬的建议来完成这篇博文。当然书也不是没有缺点,比如很多书可能年代稍显久远,一些内容已经不适用于当前环境;部分表述晦涩难懂,没有视频来得直接;外文书籍可能翻译得很烂,读起来难以理解等,但我认为瑕不掩瑜,有许多知识仍然是经典可传承的,疑惑之处也不必太过纠结,可以尝试通过网上查阅或跳读的方式来解决。
  本文主要分为两大部分,基础知识篇章是一个合格IT工程师应当必备的通用基础知识,是未来走向更高更远的坚固基石;专业方向篇章则是为确立了以后深钻方向的朋友设立,由于很多方向本人并不了解只能暂时空白,望广大热心网友在评论区多多补充,我将持续更新。

二、基础知识

1.概述

  基础不牢,地动山摇。我见过许多非科班转行的过来的同学比较急功近利,希望只学习自己希望深钻方向紧密相关的知识,而对计算机基础知识不屑一顾,认为这些与自己并不相关。其实不然,许多经验丰富的资深工程师都指出,学生时代学习的基础知识非常重要,虽然以后在工作中可能用到的很少,但是如果你学习过,便能从更广的视角发现问题所在,排除疑难杂症,这便是系统化知识体系的优势所在,也正是科班同学相比转行过来的非科班同学的优势,我们应当认识到自己的不足,加倍努力地把这块欠缺的知识补回来。
  人类学习新知识一般要遵循循序渐进的规律,由浅到深,由易到难,这样才能更高效地充分消化吸收所学内容。不要听信某些知乎大佬一上来就推荐的砖头名著,对于大部分常人来说,一开始就看这类书无异于蚍蜉撼大树,有点好高骛远,发现自己啃起来非常费劲之后便丧失了学习计算机的信心和动力,其实这正是学习路线不对,在不合适的阶段看了不合适的书,尽管它是所谓人人都应该必备的枕边名著。所以我分了入门和进阶两个小部分来推荐各个核心分支的书籍,尽量按照由易到难的顺序或者学习顺序进行排列(部分书由于本人阅历有限并不了解其难度,顺序可能存在谬误,烦请大家在评论区指出),版本号不在本文列出,建议大家购买最新版阅读。

2.入门

概论:

《计算机科学导论》
《计算机科学概论》
《编码:隐匿在计算机软硬件背后的语言》

数学基础:

《离散数学-屈婉玲》
《离散数学及其应用》
《离散数学-王义和》
《数理逻辑》
《程序员的数学》

编程语言:

  由于编程语言种类繁多,这里挑选几门普及度最高、最常用的编程语言进行推荐,其中C语言一般是各方向都应该了解的语言,在此基础上学习其他语言。

  • C语言:

《C语言从入门到精通》
《C Primer Plus》
《C语言解惑》
《C程序设计语言》

  • C++:

《C++从入门到精通》
《C/C++常用算法手册》
《C++ Primer Plus》
《C++ Primer Plus习题集》

  • Java:

《Java从入门到精通》
《Java核心技术 卷1》
《Java核心技术 卷2》
《Java解惑》

  • Python:

《Python程序设计》
《Python语言程序设计》
《Python语言程序设计基础》
《零基础学Python》
《Python核心编程》

  • JavaScript:

《JavaScript从入门到精通》
《JavaScript权威指南》
《JavaScript高级程序设计》
《超实用的JavaScript代码》

数据结构与算法:

《数据结构-严蔚敏》
《数据结构考研复习指导-王道》
《数据结构(C++版)-邓俊辉》两件套
《零基础学数据结构》
《零基础学算法》
《算法设计与分析》
《算法与数据结构考研试题精析》
《算法笔记》
《算法笔记上机训练实战指南》
《啊哈!算法》

硬件组成:

《计算机组成原理-唐朔飞》
《计算机组成原理-白中英》
《计算机组成原理考研复习指导-王道》
《计算机组成原理与系统结构》
《计算机体系结构-张晨曦》
《计算机系统基础》两件套

操作系统:

  • 理论:

《操作系统:精髓与设计》
《现代操作系统》
《操作系统考研复习指导-王道》

  • Linux:

《Linux命令应用大词典》
《循序渐进Linux》
《鸟哥的Linux私房菜》
《Linux命令行与shell脚本编程大全》
《奔跑吧 Linux内核:入门篇》

计算机网络:

  • 理论:

《计算机网络-谢希仁》三件套
《计算机网络:自顶向下方法》
《从实践中学习TCP/IP协议》
《图解HTTP》

  • Wireshark:

《Wireshark数据包分析实战详解》
《Wireshark网络分析就这么简单》
《Wireshark网络分析实战》

数据库:

  • 理论

《数据库系统概念》
《数据库系统概论-王珊》两件套

  • MySQL

《SQL解惑》
《MySQL必知必会》
《MySQL 5.7从入门到精通》
《深入浅出MySQL》

信息安全:

《信息安全导论》
《网络安全技术与实践》
《安全简史:从隐私保护到量子密码》

3.进阶

概论:

《大话计算机》三件套

基础理论:

《计算理论导引》
《信息论基础》
《计算机程序的构造和解释》
《计算复杂性-现代方法》

数学基础:

《具体数学》
《矩阵分析》
《信息安全数学基础》
《统计学习方法》
《统计学习基础 数据挖掘、推理与预测》
《凸优化》
《最优化导论》
《组合数学》
《计算几何》

编程语言:

  • C语言:

《C和指针》
《C专家编程》
《C陷阱与缺陷》
《编写高质量代码:改善C程序代码的125个建议》
《C标准库》
《C语言核心技术》
《C语言编程精粹》

  • C++:

《C++标准程序库STL》
《C++编程思想》
《Effective C++》
《More Effective C++》
《Effective STL中文版:50条有效使用STL的经验》
《提高C++性能的编程技术》
《深入理解C++11:C++ 11新特性解析与应用
《深度探索C++对象模型》

  • Java:

《Java常用算法手册》
《Java编程思想》
《Effective Java》
《修炼Java开发技术-在架构中体验设计模式和算法之美》
《Java并发编程实战》
《Java高并发编程详解:多线程与架构设计》
《Java网络编程》
《深入理解Java虚拟机:JVM高级特性与最佳实践》
《实战Java虚拟机:JVM故障诊断与性能优化》

  • Python:

《Python项目开发实战》
《数据结构 Python语言描述》
《编写高质量代码-改善Python程序的91个建议》
《Python科学计算》
《Python全栈开发实践入门》
《Python高性能》
《虫术Python绝技》
《Python爬虫开发与项目实战》

  • JavaScript:

《JavaScript实战》
《精通JavaScript》
《JavaScript设计模式》
《JavaScript+DOM编程艺术》
《JavaScript语言精粹》
《JavaScript异步编程》

数据结构与算法:

《剑指Offer》
《编程之美》
《编程珠玑》
《编程之道》
《挑战程序设计竞赛2:算法与数据结构》
《程序员代码面试指南》
《算法(第4版)》
《数据结构与算法分析:C语言描述》
《算法:C语言实现》
《算法导论》

硬件组成:

《深入理解计算机系统》
《计算机组成与设计:硬件、软件接口》
《计算机组成:结构化方法》
《大话存储》
《大话存储2》
《大话处理器》

操作系统:

  • 理论:

《操作系统真相还原》
《操作系统设计与实现》
《30天自制操作系统》
《自己动手写操作系统》
《一个64位操作系统的设计与实现》

  • Linux:

《Linux网络编程》
《Linux/UNIX系统编程手册》
《Linux内核设计与实现》
《庖丁解牛Linux内核分析》
《Linux内核源代码情景分析》
《Linux内核完全剖析》
《深入理解linux内核》
《Linux内核精髓》
《Linux内核设计的艺术》

  • Unix:

《Unix技术内幕》
《Unix环境高级编程》
《Unix网络编程》
《Unix操作系统设计与实现》
《Unix编程艺术》

计算机网络:

《深入理解计算机网络》
《HTTP抓包实战》
《HTTP权威指南》
《TCP/IP协议原理与应用》
《TCP/IP详解》三件套

数据库:

  • 理论

《数据库系统设计》
《数据库系统实现》

  • MySQL:

《MySQL王者晋级之路》
《MySQL技术精粹:架构、高级特性、性能优化与集群实战》
《MySQL技术内幕》
《MySQL技术内幕:InnoDB存储引擎》
《高性能MySQL》

  • NoSQL:

《NoSQL数据库入门与实践》
《Redis入门指南》
《Redis设计与实现》
《Redis深度历险:核心原理和应用实践》
《MongoDB游记之轻松入门到进阶》
《MongoDB权威指南》

编译原理:

《编译原理-陈意云》两件套
《编译原理》(龙书)
《自己动手构造编译系统》
《两周自制脚本语言》
《自制编程语言:基于C语言》
《现代编译原理:C语言描述》(虎书)
《编译器设计》
《新一代垃圾回收器ZGC设计与实现》
《编程语言实现模式》
《高级编译器设计与实现》(鲸书)

软件工程:

  • 软件工程:

《软件工程》
《软件工程:理论方法与实践》
《软件工程:实践者的研究方法》
《软件建模与设计:UML、用例、模式和软件体系结构》
《UML用户指南》
《重构:改善既有代码的设计》
《高效程序员的45个习惯:敏捷开发修炼之道》
《人月神话》

  • 设计模式:

《设计模式-可复用面向对象软件的基础》
《Java设计模式及实践》

信息安全:

《信息安全分析学:大数据视角下安全的内核、模式和异常》
《网络安全基础:应用与标准》
《深入浅出 HTTPS 从原理到实战》
《密码学原理与实践》
《深入浅出密码学》
《SQL注入攻击与防御》
《白帽子讲Web安全》

代码优化

《代码阅读方法与实践》
《代码整洁之道》
《代码大全》
《修改代码的艺术》
《软件调试的艺术》

三、专业方向

1.大数据

2.机器学习

3.区块链

  • 基础:
    《白话区块链》
    《区块链原理、设计与应用》
    《区块链实用解码730问》
    《精通区块链开发技术》
    《从零开始自己动手写区块链》
    《GO语言公链开发实战》

  • 高级:
    《区块链开发实战:实用案例分析》
    《基于区块链的物联网项目开发》
    《区块链 交易系统开发指南》
    《区块链工程实践:行业解决方案与关键技术》
    《区块链轻松上手 原理、源码、搭建与应用》
    《区块链底层设计Java实战》
    《区块链技术原理及底层架构》
    《区块链核心算法解析》

  • 数字货币:
    《精通区块链编程 加密货币原理、方法和应用开发》

  • 以太坊:
    《Solidity编程 构建以太坊和区块链智能合约的初学者指南》
    《第一行代码:以太坊》
    《区块链2.0以太坊应用开发指南》
    《区块链2.0实战 以太坊+Solidity编程从入门到精通》
    《区块链以太坊DApp开发实战》
    《区块链DAPP 开发入门、代码实现、场景应用》
    《区块链开发实战:基于JavaScript 的公链与DApp 开发》
    《以太坊技术详解与实战》
    《深入以太坊智能合约开发》
    《深入理解以太坊》

  • Hyperledger Fabric:
    《Hyperledger Fabric菜鸟进阶攻略》
    《Hyperledger Fabric技术内幕 架构设计与实现原理》
    《Hyperledger Fabric核心技术》
    《Hyperledger Fabric开发实战 快速掌握区块链技术》
    《Hyperledger Fabric源代码分析与深入解读》
    《深度探索区块链:Hyperledger技术与应用》
    《区块链网络构建和应用 基于级账本fabric的商业实践》

  • EOS:
    《EOS区块链应用开发指南 》
    《EOS实战与源码分析》
    《深入理解EOS 原理解析与开发实战》
    《智能合约安全分析和审计指南 》

  • 其他:
    《区块链财税管理与corda开发指南》
    《DAG区块链技术:原理与实践》
    《Stellar区块链:原理与实践》
    《IPFS原理与实践》

  • 科普:
    《区块链 密码共识原理、产业与应用》
    《链接未来 迎接区块链与数字资产的新时代》
    《区块链将如何重新定义世界》
    《区块链 技术驱动金融》

4.物联网

5.云计算

6.移动端

Android

  • 入门:

《Android 9编程通俗演义》
《第一行代码 Android》
《疯狂Android讲义》
《Android精彩编程200例》
《Android开发详解》
《Android开发精要》
《突破关键:Android核心技术102问 》
《Android APP开发实战》
《Android项目开发:实战入门》
《Android企业级项目实战教程》
《Android面试宝典》

  • 进阶:

《Android应用开发实战》
《Android 6开发秘籍》
《Android群英传》
《Android进阶之光》
《Android高级进阶》
《高级Android开发强化实战》
《Android 6 应用开发案例精解》
《Android开发进阶:从小工到专家》
《Android插件化开发指南》
《Android自定义控件开发入门与实战》
《Android和PHP开发最佳实践》
《打造高质量Android应用:Android开发必知的50个诀窍》
《深入剖析Android新特性》
《Android C++高级编程——使用NDK》
《Android音视频开发》
《Android并发开发》
《Android工程化最佳实践》
《Android全埋点解决方案》

  • 框架:

《Android进阶解密》
《Android框架揭秘》
《深入浅出Android源代码:基于Android 6.0和实际开发案例剖析》
《深入理解Android内核设计思想》
《Android开发艺术探索》
《Android深度探索:系统应用源代码分析与ROM定制》
《Android源码设计模式解析与实战》
《Android内核剖析》
《深入理解Android》三件套
《深入理解Android:Java虚拟机ART》

  • 物联网:

《Android实战指南-柯博文》
《Android开发模式和最佳实践》
《Android传感器开发与智能设备案例实战》
《Android物联网开发从入门到实战》
《Android物联网开发细致入门与最佳实践》
《精通Android Wear应用开发》
《Android智能穿戴设备开发指南》
《Android可穿戴设备高级编程》
《Android物联网开发:基于Android Studio环境》

  • 安全:

《Android系统安全和反编译实战》
《Android 安全架构深究》
《Android安全技术揭秘与防范》
《Android软件安全权威指南》
《Android应用安全防护和逆向分析》
《Android恶意代码分析与渗透测试》

  • 性能

《Android系统优化从入门到精通》
《高性能Android应用开发》
《Android移动性能实战》

  • 网络:

《精通Android网络开发》
《Android网络开发从入门到精通》
《深入理解Android网络编程:技术详解与佳实践》
《深入理解android:wi-fi、nfc和gps卷》

  • 通话:

《Android Telephony原理解析与开发指南》
《深入理解Android:Telephony原理剖析与最佳实践》

  • 驱动:

《Android底层开发实战》
《Android驱动开发与移植实战详解》
《Android驱动开发权威指南》
《Android深度探索:HAL与驱动开发》

  • 测试:

《精通移动App测试实战:技术、工具和案例》
《Android应用测试与调试实战》
《深入理解Android自动化测试》

  • 架构:

《App架构师实践指南》
《Android组件化架构》
《最强Android书:架构大剖析》

  • 工具:

《精通Android Studio》
《Android群英传:神兵利器》
《Android Gradle权威指南》

  • 其他

《RxJava2.x实战》
《React Native移动开发实战》

7.前端

8.后端

9.游戏

10.安全

《信息安全原理与实践》
《应用密码学:协议、算法与C源程序》
《Kali Linux渗透测试技术详解》
《Kali Linux 2网络渗透测试实践指南》
《Kali Linux高级渗透测试》
《XSS跨站脚本:攻击剖析与防范》
《C++黑客编程揭秘与防范》
《恶意代码分析实战》
《Web前端黑客技术揭秘》
《Web安全深度剖析》
《黑客攻防技术宝典》
《黑客免杀攻防》
《彻底研究:黑客编程技术揭秘》
《逆向工程核心原理》
《逆向工程揭密》
《编译与反编译技术实战》
《加密与解密》

11.运维

12.测试

13.数据库

14.硬件

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值