大学四年,靠着这些计算机书籍,我编程小白变成了别人眼中的大神,斩获 BAT SSP offer

前言

记录一下大学四年对自己帮助最大的一些书单

毕业时,大学四年在学院一直默默无闻的我,因为拿到各大互联网公司的 Offer,包括 BAT SSP,被辅导员作为就业的代表推荐为软件之英候选人。

还记得四年前,我从18线小城市里走出,来到学校的软件学院报到,开始面对精彩的大学生活。

大一第一门课程是 C 语言,当时我对编程一窍不通,只觉得是高深无比的东西,而身边有些同学在高中 NOIP的奖牌就拿到手软。

当时链表、二分这种基础的代码都写不好,后来也在学长的建议下,开始自学看视频 + 看书。随着写的代码越来越多,看的技术书籍也越来越多,慢慢的,我发现似乎找到了编程的感觉,对编程也逐渐变得热爱起来。

在这期间,我买了很多书,也看了很多技术书,发现书不在于多,而在于经典。

你想想,那些前辈、大佬将自己十几年的经验都写进一本书里,我们通过几天就可以学习到,这不是血赚吗!

读经典的书是站在巨人的肩膀上。

所以我在这里列出我认为经典的书,尽量保持少,精简。

推荐大家看书的时候保持 看书、实践、看书… 这样不断的循环迭代,不要只看书也不要只写代码。理论结合实践才能进步最快!

这是我大学买过看过的一些书。。。毕业的时候大部分都卖了,因为实在是太重了,现在我看书大部分也都是在网上找 PDF,这样一方面是携带方便,我一个电脑就可以随便存几百本书,另一方面是可以方便我快速筛选一些书,如果确实有特别好的书就会去购买纸质版的。

在这里也只推荐我觉得比较好的书,宁缺毋滥。

书单推荐

一、计算机思维

  • 《数学之美》

    • **推荐理由: ** 吴军博士文笔流畅、干货满满,同时切合实际应用,可以作为计算机科学(尤其是AI领域)的入门读物

  • 《程序员的数学》系列

    • 推荐理由: 程序员需要一定的数学知识,但不是像高数那样,这个系列一共三本,比课本有趣,通俗易懂,而且切合实际应用,良心推荐。第1部讲数学思维,2是概率统计,3是线性代数。

  • 《编码》

    • 推荐理由: 隐匿在计算机背后的语言,这本书不应该叫编码,它更应该叫“Petzold教你造计算机”——作者Charles Petzold创造性的以编码为主题,从电报机和手电筒讲到数字电路,然后利用数字电路中的逻辑门构造出加法器触发器,最后构造出一个完整的存储程序计算机。不要被这些电路概念吓到——编码使用大量形象贴切的类比简化了这些概念,使其成为最精彩最通俗易懂的计算机入门读物。

二、计算机基础

2.1 操作系统
  • 《现代操作系统》

    • 推荐理由: 本书虽然是理论的书,但是里面的一些操作系统算法介绍都挺非常的详细,有关操作系统的各种理论也是非常详实。

  • 《深入理解计算机系统》

    • 推荐理由: 这本书是一本导论型作品,并不单单的讲操作系统,它创造性的把操作系统,体系结构,数字逻辑,以及编译原理这些计算机基础学科知识有机的结合起来,覆盖了指令集体系架构,汇编语言,代码优化,计算机存储体系架构,链接,装载,进程,虚拟内存、文件、网络等这些程序员所需了解的关键计算机系统知识。如果想打下扎实的计算机基础又不想把操作系统计算机结构编译原理这些书统统读一遍,阅读深入理解计算机系统是最好的方式。

  • 《自己动手写操作系统》

    • **推荐理由:**这本书从零开始实现一个 mini 操作系统内核,一步步指导读者用汇编和C语言实现一个可运行的操作系统内核。看完之后可以对操作系统最基本的原理有比较好的理解。

  • 《操作系统真象还原》

    • 推荐理由: 这本书正如其名,带着你从 0 开始实现(还原)一个操作系统,最可贵的是,这本书会将需要的前置知识提前安排章节做讲解,比如汇编、内联汇编,你完全不用担心不会汇编、C语言,在这本书里作者讲的非常的详细,只要跟着做,自己就能写出一个 mini os内核,如果想实现操作系统内核的一定不要错过。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CnD1S8dz-1599670300667)(/Users/kaseyli/Library/Application Support/typora-user-images/image-20200909235353537.png)]

2.2 计算机网络

  • 《网络是怎么连接的》

    • **推荐理由:**这本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。可以帮助你理解一个数据包是如何从一台电脑发送到另外一台的。看完这本书你就不会再被面试题 **”浏览器输入一个 url,到显示出来中间经过了哪些“**所难倒。

  • 《计算机网络-自顶向下方法》

    • **推荐理由:**这本书首创采用自顶向下的方法讲解计算机网络的原理和协议,将网络分层逐一拆解讲解,自顶向下循序渐进,能够帮助读者快速的理解整个网络世界,也经常被各大高校作为计算机网络的教材而使用。

  • 《图解HTTP》

    • **推荐理由:**这本书对互联网的基石——HTTP协议进行了全面系统的介绍,详细地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、最新技术动向等方面。无论前端还是后端的开发人员都应该掌握HTTP,推荐。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1kTW1oTF-1599670300669)(/Users/kaseyli/Library/Application Support/typora-user-images/image-20200910000910764.png)]

2.3 编译原理

  • 《编译器设计-第二版》
    • 推荐理由:这本书深入剖析现代编译器运用的算法和技术,强调代码优化和代码生成。书中深入分析现代编译器后端所用的算法和技术,重点讨论代码优化和代码生成,详细介绍了用几个编程语言编写的示例等。这本书不像龙书那么偏理论,这本是理论结合实践讲解。

  • 《编译原理》

    • **推荐理由:**本书深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制导分析、类型检查、运行环境、中间代码生成、代码生成、代码优化等,并在最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,每章都提供了大量的练习和参考文献。被誉为”龙书“

2.4 算法与数据结构

  • 《算法-第四版》

    • 推荐理由: 一直以来,说到算法,大家便推荐《算法导论》,但是真正能看下来的人却比较少。而这本书比算法导论友好得多 ,非常适合初学者,同样内容也是非常详实,涉及到了算法和数据结构的绝大部分知识,强烈推荐。

  • 《算法导论》

    • 推荐理由: 如果推荐算法书不推荐这本的话似乎显得不太专业,原因就不说了,懂得自然懂,这本书偏向理论一点,书中证明比较多,大家可以量力而行,看得下去就看。看不下去就看上面那本👆。

三、编程语言学习

C/C++:
  • 《C程序设计语言》

    • **推荐理由:**这是一本穿越二十年风雨的经典C语言书籍,它用清晰的语言和简练的代码描述了C语言全貌,是C语言入门和提高的必备案头书~

  • 《C++ primer》

    • 推荐理由: 这是学习C++的必备之书,最新版包含了C++ 11、14、17标准各个方面,是久负盛名的 C++经典教程,这本书包含了C++的方方面面,无论是初学者入门,或是中、高级程序员提升,这本书均为不容置疑的首选。

  • 《C和指针》

    • **推荐理由:**是这本书拯救了我的指针,如果你对指针和动态内存有任何疑惑,看它!就完事了

  • 《C++ primer》

  • 《STL源码解析》

  • 《Effective C++》

  • 《深度探索C++对象模型》

  • 看完上面👆四本,C++算入门了,接下来靠你自己去进阶~

  • 网络编程:

    • 《Unix网络编程》
    • 《Linux高性能服务器编程》
    • 《Linux多线程服务端编程》
  • Java系:

    • Java 核心技术
    • 《effective java》
    • 《深入理解Java虚拟机》
    • 《Java并发编程实战》

持续更新中。。。

如果有需要文中提到的书PDF,可以直接在公众号 「编程指北」 后台回复 「PDF」 即可领取~
欢迎关注我会在这里持续分享学习经验和原创技术文章,以及如何靠技术赚钱等等

  • 11
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
16进制10进制.txt 32.txt asm.txt Crctable.txt C标志符命名源程序.txt erre.txt erre2.txt ff.txt for循环的.txt list.log N皇后问题回溯算法.txt ping.txt re.txt source.txt winsock2.txt ww.txt 万年历.txt 万年历的算法 .txt 乘方函数桃子猴.txt 乘法矩阵.txt 二分查找1.txt 二分查找2.txt 二叉排序树.txt 二叉树.txt 二叉树实例.txt 二进制数.txt 二进制数2.txt 余弦曲线.txt 余弦直线.txt 傻瓜递归.txt 冒泡排序.txt 冒泡法改进.txt 动态计算网络最长最短路线.txt 十五人排序.txt 单循环链表.txt 单词倒转.txt 单链表.txt 单链表1.txt 单链表2.txt 单链表倒序.txt 单链表的处理全集.txt 双链表正排序.txt 反出字符.txt 叠代整除.txt 各种排序法.txt 哈夫曼算法.txt 哈慢树.txt 四分砝码.txt 四塔1.txt 四塔2.txt 回文.txt 图.txt 圆周率.txt 多位阶乘.txt 多位阶乘2.txt 大加数.txt 大小倍约.txt 大整数.txt 字符串查找.txt 字符编辑.txt 字符编辑技术(插入和删除) .txt 完数.txt 定长串.txt 实例1.txt 实例2.txt 实例3.txt 小写数字转换成大写数字1.txt 小写数字转换成大写数字2.txt 小写数字转换成大写数字3.txt 小字库DIY-.txt 小字库DIY.txt 小孩分糖果.txt 小明买书.txt 小白鼠钻迷宫.txt 带头结点双链循环线性表.txt 平方根.txt 建树和遍历.txt 建立链表1.txt 扫描码.txt 挽救软盘.txt 换位递归.txt 排序法.txt 推箱子.txt 数字移动.txt 数据结构.txt 数据结构2.txt 数据结构3.txt 数组完全单元.txt 数组操作.txt 数组递归退出.txt 数组递归退出2.txt 文件加密.txt 文件复制.txt 文件连接.txt 无向图.txt 时间陷阱.txt 杨辉三角形.txt 栈单元加.txt 栈操作.txt 桃子猴.txt 桶排序.txt 检出错误.txt 检测鼠标.txt 汉字字模.txt 汉诺塔.txt 汉诺塔2.txt 灯塔问题.txt 猴子和桃.txt 百鸡百钱.txt 矩阵乘法动态规划.txt 矩阵转换.txt 硬币分法.txt 神经元模型.txt 穷举搜索法.txt 符号图形.txt 简单数据库.txt 简单计算器.txt 简单逆阵.txt 线性顺序存储结构.txt 线索化二叉树.txt 绘制圆.txt 编随机数.txt 网络最短路径Dijkstra算法.txt 自我复制.txt 节点.txt 苹果分法.txt 螺旋数组1.txt 螺旋数组2.txt 试题.txt 诺汉塔画图版.txt 读写文本文件.txt 货郎担分枝限界图形演示.txt 货郎担限界算法.txt 质因子.txt 输出自已.txt 迷宫.txt 迷宫问题.txt 逆波兰计算器.txt 逆矩阵.txt 逆阵.txt 递堆法.txt 递归桃猴.txt 递归车厢.txt 递推.txt 逻辑移动.txt 链串.txt 链栈.txt 链表十五人排序.txt 链表(递归).txt 链队列.txt 队列.txt 阶乘递归.txt 阿姆斯特朗数.txt 非递归.txt 顺序栈.txt 顺序表.txt 顺序队列.txt 骑士遍历1.txt 骑士遍历2.txt 骑士遍历回逆.txt 黑白.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值