亲身体验!后端工程师学习路径、书籍、视频推荐

2023-08-23 0 260

亲身体验!后端工程师学习路径、书籍、视频推荐

前段时间有爸爸妈妈问我,一位后端技师的自学走线是甚么?只不过现在很多合作开发人员都并非毕春芳长大的,包括我他们,理工学院压根儿没用过甚么计算机系统有关的专业课程。非毕春芳长大的合作开发人员的下风是此基础会稍低,比如说计算机系统此基础、计算机系统网络等都了解的太少,不过说实话,只要你利用课余时间系统的来自学,就算可以努力做到异军突起。但是问题是,他们的自学方向是甚么?该怎样学,网路上专业课程那么多,我究竟该看哪两个?关上他们的电话簿,许许多多的数据资料全部在吃灰,这回两个也没用。

亲身体验!后端工程师学习路径、书籍、视频推荐

只不过同类型的数据资料他们留存1-2个就足够多了,然后一两年内埋首自学两门科学知识,幼稚生长发育,最后华丽其他人。

亲身体验!后端工程师学习路径、书籍、视频推荐

ok,专业术语太少说,我今天要撷取的是后端技师的自学方向和有关的书刊、音频,由于后端词汇为主,所以责任编辑不会撷取词汇有关的内容。

LinuxC++前台合作开发文件格式音频+标识符数据资料自学走线完全免费申领

计算机系统共同组成基本原理

首先要讲的自然是计算机系统共同组成基本原理有关的科学知识了,当然这并并非和你单单是的如是说计算机系统是甚么共同组成的,并非教你怎样装配笔记本电脑,而是告诉你比如说计算机系统是怎样演算他们的数据的、CPU这个神经系统是怎样高效率处理他们的方法论的、CPU又是怎样与缓存间通讯的,大力推进继续执行他们的流程在CPU层次有什么样强化以及他们运转流程的时候怎样解决CPU和缓存、缓存和硬盘间的速率隔阂之类…

这里我和大家所推荐 《计算机系统共同组成与设计 硬体/应用软件USB》 这两本书

亲身体验!后端工程师学习路径、书籍、视频推荐
计算机系统是怎么从大型设备逐渐发展到今天的个人PC机,以及计算机系统系统结构中的8个伟大的思想:面向摩尔定律的设计、抽象的简化设计、加速大概率事件、通过并行提高性能、通过流水线提供性能、通过预测提供性能、存储器层次、通过冗余提高可靠性。怎样判断两个CPU的性能?最直白的反应是CPU够不够快,也是他们的流程要跑多久,这个响应时间他们一般称之为CPU继续执行时间,这里需要注意的是CPU继续执行时间并不包含流程继续执行期间涉及的IO,再细分的话,又可以分为用户CPU时间和系统CPU时间有无符号数和无符号数是怎样表示的?CPU怎样进行比较演算、分支判断、循环继续执行的?他们的标识符只不过是要经过编译、汇编、链接这样几个流程的,加法、减法、乘法、除法以及浮点数有关的演算在计算机系统层面是怎样被实现的。CPU是怎样进行数据冒险,控制冒险的?流水线技术是怎样提供吞吐的,处理器的数据通路和控制同路是怎样设计的。再接下来是存储器有关的科学知识了,比如说虚拟缓存技术、流程分段技术、分页技术,当发生缺页后怎样找到硬盘页的,以及为了提升地址的查询速率,做了什么样强化,页表的好处与坏处是甚么?TLB的好处与坏处是甚么?

总之,自学了计算机系统共同组成之后,内功绝对可以大增。如果觉得书本科学知识枯燥难以阅读的话,我这里再给你所推荐个音频:计算机系统科学速成课(https://www.bilibili.com/video/BV1EW411u7th)

亲身体验!后端工程师学习路径、书籍、视频推荐

非常生动形象的课,一共40集,每集大概10分钟,全部看完7个小时足矣,非常适合入门,这个音频配上书刊,简直完美。

操作系统

自学计算机系统共同组成基本原理之后,他们会了解计算机系统各个硬体间是怎样协调工作的,那么接下来是肝操作系统了,操作系统是处于计算机系统硬体与应用软件资源间的流程。从合作开发人员的角度来看,自学操作系统可以帮助他们更好的了解流程是怎样被调度的之类。操作系统需要处理如管理与配置缓存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务,操作系统也提供两个让用户与系统交互的操作界面。这里和大家所推荐 《现代操作系统》 这两本书

亲身体验!后端工程师学习路径、书籍、视频推荐

通过自学这两本书你可以获得以下科学知识:

进程是甚么、进程的模型、进程的创建、进程的终止、进程的层次结构、进程的实现、多道流程的设计模型线程是甚么、线程模型、用户空间的线程、内核空间的线程、单线程与多线程的优缺点进程间可以通过什么样方式来通讯,甚么是进程间的竞争条件、临界区调度过程涉及到的算法,比如说先来先服务、短作业优先算法、最短剩余时间优先以及比较公平的时间片轮转调度常见的页面置换算法有什么样,比如说最优页面置换算法、前段时间未使用页面置换算法以及前段时间最少使用页面置换算法之类文件系统的了解,比如说有关文件的构造、命名、访问、使用、保护、实现和管理是怎么设计的IO设备的了解,比如说怎样读写IO设备的内容,常见的有缓存映射IO、直接存储器存取了解甚么是死锁,造成死锁的条件以及解决死锁的经典方法,怎样预防死锁之类

如果觉的书本科学知识难以阅读的话,这里也所推荐个音频操作系统-清华理工学院(https://www.bilibili.com/video/BV1wq4y1M7qf)

亲身体验!后端工程师学习路径、书籍、视频推荐

这是由清华理工学院的老师讲的操作系统音频课,简单、通俗易懂,每段音频的时长也不长,大概就10来分钟。

LinuxC++前台合作开发文件格式音频+代码数据资料自学走线完全免费申领

TCP/IP

当具备了计算机系统组成、操作系统的此基础科学知识后,接下来就可以看看网络有关的内容了,计算机系统网络中面试官最喜欢问的是TCP/IP有关的科学知识了,关于这方面的科学知识,我所推荐一两本书 《图解》TCP/IP

亲身体验!后端工程师学习路径、书籍、视频推荐

这两本书全文基本都是图文结合的,阅读起来非常轻松,不得不说这个日本作者很牛逼,可以把很复杂的网络协议解释的这么简单,关键图文的方式更加容易记忆。

我这里还所推荐一本掘金小册 《深入理解 TCP 协议:从基本原理到实战》

亲身体验!后端工程师学习路径、书籍、视频推荐

这本小册,我记得当时花了2-3天就看完了,整个阅读新体验非常丝滑,也是非常通俗易懂的书刊,如果想要应付面试,这本小册绝对是个不错的选择。总之通过以上两两本书,你可以获得以下科学知识:

网络的分层模型TCP协议为甚么是可靠的协议甚么叫面向连接、基于字节流、全双工的协议数据包是怎样被拆分的,MTU和MSS分别是甚么,位于哪一层为甚么TCP、IP的握手需要三次,挥手要四次,挥手三次行不行三次握手太慢,有没有更快的方式TIME_WAIT是甚么状态?TIME_WAIT是哪一方的状态,为甚么TIME_WAIT那一方需要持续2个MSL的时间不知道你有没有遇到过”Connection Reset” 或者”Connection refused” ,它们代表甚么意思发送方没收到接收方的ACK怎么办,发送方重传的机制是怎么样的,多久重传才合适如果接收方没有能力接受大量的数据怎么办,这就引入了滑动窗口的概念,滑动窗口是怎样控制数据窗口大小的一开始发送方并不知道接收方能接收多少数据,那怎样发送数据呢,每次发一点太慢,每次发很多对方又接收不了

总之,如果你的工作并非搞网络的,又不想花费大量时间来阅读TCP有关的科学知识,那么上面两两本书个人觉得足够多了。

数据结构与算法

这方面我看的书比较少,所以不打算所推荐书刊,数据结构与算法可能大家更加注重的算法,BAT等大厂的面试离不开算法,以前听到小道消息,据说字节跳动的面试官一般算法题都会从leetcode上挑选原题,并且也不会太难,所以这方面的科学知识,我还是直接建议大家动手练写,直接去leetcode上刷题,比如说每日2道,两个月下来是60道

亲身体验!后端工程师学习路径、书籍、视频推荐

如图所示,具体的算法分类大概这么多,大家刷题的时候,注意不要把精力全部都放在一种类型上,尽量广一点,当然有很多冷门的类型,个人觉得也不必花费太多时间,像热门的算法如数组、字符串、动态规划、图、链表等可以多花点心思。

这里再所推荐两个自学数据结构的有趣网站 visualgo(https://visualgo.net/zh

亲身体验!后端工程师学习路径、书籍、视频推荐

这个网站通过动图的方式帮助你了解各种数据结构是怎么样的形式。

亲身体验!后端工程师学习路径、书籍、视频推荐

比如说对于这个二叉搜索树来说,每次走到哪个节点,对应的标识符还给你展示出来,确实很生动。

MySQL

MySQL应该是每个后端技师必备的技能,当然这里说的并非简单的CURD,而是稍微高级点的,比如说索引科学知识、架构模式、高可用之类,由于现在MySQL基本都是使用InnoDB存储引擎,因此我所推荐 《MySQL技术内幕 InnoDB存储引擎》

亲身体验!后端工程师学习路径、书籍、视频推荐

通过这两本书,你可以了解到以下科学知识:

MySQL几种存储引擎的如是说与比较InnoDB的架构模式
亲身体验!后端工程师学习路径、书籍、视频推荐
插入缓冲、两次写、自适应哈希、异步IO、刷新邻接页分别是为了解决甚么问题日志类型,比如说错误日志、慢查询日志、二进制日志等索引有关科学知识,为甚么用b+树索引,聚集索引和辅助索引的区别,b+树索引的分裂与管理,甚么情况下用联合索引,覆盖索引为甚么好锁有关的科学知识,InndoDB会涉及什么样锁,行锁有什么样算法,死锁怎么避免甚么是脏读、幻读,怎样解决事务有关的科学知识,这个是重中之重了,比如说redo log、undo log是干甚么的,事务的隔离级别有什么样,它们有甚么区别?XA事务是在甚么地方体现的,长事务会有甚么问题

自古MySQL是后端同学面试中的必考技能,并且随着互联网卷的程度越来越高了,MySQL问的姿势也多了,因此这方面是需要多花时间自学的。

当然如果条件允许的话,也所推荐看林晓斌老师的《MySQL45讲》,但是这门课不适合新手小白,适合有一定MySQL此基础的从业人员,看完绝对收获满满。

Redis

说了数据库,就得说缓存了,说到缓存,那是当下最流行的NoSQL数据库Redis,Redis面试的重要程度不亚于MySQL,我这里和大家所推荐 《redis的设计与实现》

亲身体验!后端工程师学习路径、书籍、视频推荐

通过这两本书,你可以获得以下科学知识:

基本的底层数据结构以及优缺点,比如说SDS、整数集合、跳跃表、压缩列表哈希表是怎样解决冲突的持久化有关的,AOF和RDB的区别,它们的优缺点是甚么,AOF和RDB的过程会阻塞主进程吗redis的过期键是怎样删除的redis的事件模型,文件事件和时间事件分别是甚么serverCron函数是干嘛的主从复制模式下,旧版和新版的复制模式有甚么区别哨兵、分片lua脚本解决原子性的问题

这两本书侧重基本原理与实现,阅读起来也是通俗易懂,适合新手小白和需要进阶的技师。

LinuxC++前台合作开发文件格式音频+标识符数据资料自学走线完全免费申领

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务