技术标签: 算法 java 操作系统 数据库 程序人生 学习路线 计算机网络
大家好,我是小林哥。
平日里,大家都喊程序员加班多很辛苦,动不动就掉头发,但干的还是很香的,毕竟大多数公司钱还是给的很到位的,今年毕业应届生的我见到好多动不动就月薪 20K~30K 的,真让人两眼泪酸酸,当然这离不开他们大学期间的努力。
讲真,没什么家庭背景的人,选择当程序员确实是比较好的选择了,原因有二:
虽然我们身处时代的红利,但是它是高速发展的,技术也是在一直迭代更新的,停止学习,只会被时代 game over,相当很残酷,所以日常学习是我们程序员,不可缺少的一个习惯。学到秃,你不想变强,都会变强。
那说到学习,那必然离不开书呀,小林也在豆瓣逛一圈,把高分的书推荐给大家。
其实这些计算机基础完全是可以自学的,不管你是不是计算机专业的同学,只要你认认真真跟着网课和自己看书学习,绝对超过大多数所谓的科班毕业的同学!
曾经我也苦恼于那些晦涩难弄的计算机基础知识,但在我啃了一本又一本的书,看了一个又一个的视频后,终于对这些“家伙”有了认识。
我想着,这世界上肯定有一些朋友也跟我有一样的苦恼,为此下决心,用图解 + 通熟易懂的讲解来帮助大家理解,利用工作之余,坚持输出图解文章两年之久,我的文章都汇总到了网站:https://xiaolincoding.com
网站内容共 1000 张图 + 50 万字,网站宗旨让天下没有难懂的八股文!(口嗨一下,大家不要当真),网站地址:https://xiaolincoding.com。
希望图解网站成为你们上班摸鱼必备网站哈哈!
如果你要入门 HTTP,首先最好书籍就是《图解 HTTP》了,作者真的做到完完全全的「图解」,小林的图解功夫还是从这里偷学到不少,书籍不厚,相信优秀的你,几天就可以看完了。
如果要入门 TCP/IP 网络模型,我推荐的是《图解 TCP/IP》,这本书也是以大量的图文来介绍了 TCP/IP 网络模式的每一层,但是这个书籍的顺序不是从「应用层 —> 物理层」,而是从「物理层 -> 应用层」顺序开始讲的,这一点我觉得不太好,这样一上来就把最枯燥的部分讲了,很容易就被劝退了,所以我建议先跳过前面几个章节,先看网络层和传输层的章节,然后再回头看前面的这几个章节。
另外,你想了解网络是怎么传输,那我推荐《网络是怎样连接的》,这本书相对比较全面的把访问一个网页的发生的过程讲解了一遍,其中关于电信等运营商是怎么传输的,这部分你可以跳过,当然你感兴趣也可以看,只是我觉得没必要看。
对于 TCP/IP 网络模型深入学习的话,推荐《计算机网络 - 自顶向下方法》,这本书是从我们最熟悉 HTTP 开始说起,一层一层的说到最后物理层的,有种挖地洞的感觉,这样的内容编排顺序相对是比较合理的。
但如果要深入 TCP,前面的这些书还远远不够,赋有计算机网络圣经的之说的《TCP/IP 详解 卷一:协议》这本书,是进一步深入学习的好资料,这本书的作者用各种实验的方式来细说各种协议,尤其是 TCP 部分写的很好(我也只看了这书的 TCP 部分,嘻嘻),这本书买第一版本就好了,第二版本翻译的有问题。
我看的第一本操作系统书是《现代操作系统》,这本书也是大家力推的入门操作系统的教材,有很多常见的面试题都基本是出自这里的,比如哲学家就餐、读者写者等问题。如果单纯看书觉得比较枯燥,可以搭配 B 站清华大学操作系统课程一起学习。
华为鸿蒙操盘手陈海波大神,也出了一本新书《现代操作系统:原理与实现》,是由上海交通大学陈海波、夏虞斌领衔撰写。由浅入深介绍现代操作系统经典理论与方法,结合前沿研究与工业界实践,面向真实场景与真实问题。全新打造 ChCore 微内核系列课程实验,建立对操作系统的第一手实践经验。
这本被称为神书的《深入理解计算机系统》,豆瓣评分高达 9.8 分,这本书严格来说不算操作系统书,它是以程序员视角理解计算机系统,不只是涉及到操作系统,还涉及到了计算机组成、C 语言、汇编语言等知识,是一本综合性比较强的书。
小林最近写的有关 CPU 文章,算是计算机组成的系列了。计算机组成大部分人会认为是硬件开发的人才需要接触,软件开发的人不用了解,我觉得这个观点是不对的,你写的程序也是运行在计算机上的,并且实际上计算机组成原理有些知识还是跟软件有关系的,那就有一本很适合软件开发人员了解的书 —— 《计算机组成与设计 硬件/软件接口》
数据结构与算法尤其重要呀,校招大厂就特别爱考察,还没练起算法的同学,抓紧啦!
Mysql 两本高分的书。
Redis 经典之作,重点看前三章,redis 的数据结构,持久化,主从复制,哨兵模式,这些都是常考的面试题。
小林虽然不是搞 Java 的,但是请教了搞 Java 大佬,我把他推荐的书也放在这啦,Java 同学可以参考参考。
对于想入门 C 语言的同学,可以看看这本黑皮经典书籍。
C++ 最好的入门书,就是这本了。
入门完 C++ 下,我们也不能停下脚步,快马加鞭进入进阶的节奏。
Linux 命令入门的好书,跟着鸟叔一起敲 Linux 命令,很快就能入门了。
熟悉了 Linux 命令后,我们就从编程的角度来学习 Linux,这里有几本好书。
什么?你还想再深入 Linux 系统,那就来啃 Linux 内核代码吧,保证你对操作系统由有新的认识。
小林在 CSDN 写了很多图解网络和操作系统的系列文章,很高兴收获到很朋友的认可和支持,正好最近图解网络和操作系统的文章连载的有 20+ 篇了,也算有个体系了。
所以为了方便大家阅读,小林把自己原创的图解网络和图解操作系统整理成了 PDF,一整理后,没想到每个图解都输出了 15 万字 + 500 张图,质量也是杠杠的,有很多朋友特地私信我,看了我的图解拿到了大厂的offer。
图解系统 PDF 开源下载:图解系统 PDF 下载地址(点击)
图解网络 PDF 开源下载:图解网络 PDF 下载地址(点击)
最后祝大家前程似锦,在编码的道路上一马平川。
如果文章对你帮助的话,可以给我点个赞,点个收藏,评论下更先显温情!
文章浏览阅读593次。企业线上培训系统的出现,一些集团公司的内部例会,决策会议或培训会议,可以通过线上统一进行,不再需要集中企业所有员工到指定地点培训。普通企业可以在外网租用线上培训系统,而对于一些涉密单位数据如何保障安全?企业线上培训系统根据网络环境有不同的部署方式,哪种部署更适合自身需求呢?1、纯内网部署企业线上培训系统,部署在防火墙内,供企业内部培训使用企业这样部署在线培训系统,所有数据都内网服务器上,丢失风险低,安全性高,并且内网网络带宽可以得到保障。连通宝采用软硬一体的部署方式,稳定性也可以得到保障。_线上培训平台部署架构
文章浏览阅读1.3w次,点赞24次,收藏42次。解构赋值语法是一种 Javascript 表达式。通过解构赋值,可以将属性/值从对象/数组中取出,赋值给其他变量。本文将讨论解构赋值的作用与其用法。_js解构赋值
文章浏览阅读665次。描述输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入输入包括3行,第1行是包含多个单词的字符串 s;第2行是待替换的单词a(长度 <= 100);第3行是a将被替换的单词b(长度 <= 100).s, a, b 最前面和最后面都没有空格.输出输出只有 1 行,将s中所有单词a替换成b之后的字符串。样例输入You want som_b2135 单词替换
文章浏览阅读5.7k次。1. 线上BUG来源用户反馈用户反馈由运营或者客服或PD童鞋进行收集,对集中反应比较多的问题反馈到项目组及相关童鞋,对体验不好的地方进行产品改进。回归测试每周服务端预发和上线以后,在客户端进行回归测试工作,现在是由专门的童鞋进行回归,以后的方向是自动化回归。_bug的ower是谁指的是什么意思
文章浏览阅读245次。【问题描述】22. 括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]【解答思路】左括号数量需要一直大于..._括号生成22java
文章浏览阅读10w+次,点赞121次,收藏777次。BS架构与CS架构的区别引言特点C/S系统结构B/S系统结构CS与BS的比较C/S 与 B/S 区别:现状与趋势(转自知乎)引言C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S结构,即Browse..._bs架构
文章浏览阅读3.7k次,点赞2次,收藏5次。项目中css的页面布局,需要屡顺一下思路,在继续下面的学习。温故而知新!W3C标准:是万维网制定的一系列标准,包括结构化标准语言(html、xml),表现标准语言(css),行为标准语言(DOM,ECMAScript)组成。这个标准倡要将结构,样式,行为分离。在网页制作中,面对设计图,网页制作人员一般要遵循的原则:先考虑设计图中的文字内容和内容模块之间的关系,重点放在编写html..._前端页面设计的思路
文章浏览阅读120次。最大什么的最小值,最小什么的最大值就是二分。
文章浏览阅读35次。计组,知识点归纳_计算机组成原理sm信号是什么
文章浏览阅读843次,点赞13次,收藏23次。关于vector在实际运用中的一些说明
文章浏览阅读1.4k次,点赞14次,收藏21次。vnc novnc_网页 vnc
文章浏览阅读970次,点赞20次,收藏25次。大家好,小编来为大家解答以下问题,利用python爬取简单网页数据步骤,怎么用python爬取网站上的数据,今天让我们一起来看看吧!下面就按这个路线逐一讲讲各部分的内容;HTTP协议是一个应用层面向对象协议,也叫超文本传输协议。是基于TCP协议的可靠传输,采用客户端/服务器端模式,指定了客户端可能发送给服务器什么样的消息,以及服务端给出什么样的响应。HTTP协议请求由状态行、请求头和请求正文三部分组成;请求端的HTTP报文叫做请求报文,响应端的叫做响应报文,通常,并不一定要有报文主体。_python爬贴吧数据