也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式

校招面试求职,大厂学导航
认准「
小龙coding」,致力于打造全网最佳大厂进阶台~

大家好,我是小龙。

我们都知道无论是在工作还是学*中,对于每个程序员,计算机基础一定是特别重要的。

为何要学计算机基础?

知识体系角度来讲,学好计算机基础,相当于在你脑袋初步构建了一个计算机。

知道计算机大体是怎样组成的,知道我们*时使用的系统是怎么运行的,知道我们*时上网数据是怎样传输的,知道我们程序可以怎样去尽可能优化时间和空间使得性能更佳,知道我们数据是怎样存储的。。。。

相当于为自己打造了一个坚实的基础,以便后续学*可以更加轻松。这样说吧,也许你直接学各种编程语言,框架知识什么的依然可以学的很好,但或许你可能就不能很好很快的把各个知识联系在一起,建立一个完整的知识体系网络,学到后面你会发现,其实很多知识都是相通的,并且你所谓的各种语言、框架最终还是需要操作底层来协调工作。

课程学*角度来讲,大学计算机专业计算机基础课程是必修的专业课程,而且特别重要。因此,为了考个考成绩,拿点什么奖学金,证书,学好计算机基础课程是很重要的。

从工作求职角度来讲,也许你觉得成绩,奖学金其他什么的对你不重要,那找一份好的工作应该是你所盼望的吧。先不说互联网大厂,就是目前稍微大一点的公司,就要求应届生熟练掌握计算机基础。

而且某些大厂比如 字节跳动 ,招聘要求即使你什么都不会,只要会一门编程语言,计算机基础掌握的好,便可以被录取。你要相信,越是大的公司反而会越在乎你的基础知识;

因为校招生并没有太多公司的真实项目经验,业务场景接触的也少,因此,考察你基础知识便是最好的选人标准,而且大厂注重人才培养,只要你基础好,培养上手就快。

由于 读者可能基础不一样,并且目前需求不一样,也许有的是零基础,也许有的之前大概学过,但是对于面试的考察却摸不着头脑,因此我会从 两个维度来介绍学*方式,以便迎合不同程序需求的同学。

初入道场

如果你是零基础、基础薄弱、想系统学*计算机基础知识就看这里。

也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式

操作系统

Operating System:

1、操作系统(哈工大李治军老师)32讲(全)超清

MOOC:https://www.icourse163.org/course/HIT-1002531008
配套实验课:https://www.shiyanlou.com/courses/115

我愿称之为一绝,李老师的这门课。绝对牛逼绝对硬核,这门课建议先去学*汇编课程基础,再来看会有更深刻的收获;不然看到中间会很晕。

2、 2020 南京大学 “操作系统:设计与实现” (蒋炎岩)

B站:https://www.bilibili.com/video/BV1N741177F5
南大操作系统,yyds,不多这个人感觉更适合加餐和加深理解

如果是为了考研,建议看传统的操作系统课程,北大的课程理论讲解比较细致,清华的课程更深入难度更大。 如果是想真正的提升实战能力,强烈推荐蒋岩炎老师的相关视频,MIT也很好,不过英语能力有较高的要求。

3、清华出版

清华出版的操作系统课程,配套实验是 UCore:
https://www.xuetangx.com/course/THU08091000267/5883104

4、【麻省理工学院】MIT 6.S081 操作系统工程 operating system engineering

官网(英文):https://pdos.csail.mit.edu/6.828/2020/schedule.html
中文字幕:https://www.bilibili.com/video/BV1Dy4y1m7ZE/

这门课,我个人觉得直接封神。虽然它小但是却很完整,重现了经典的 UNI XV6,可以学*到设计思维,循序渐进,一步一步在你的脑海里建立起 OS 的大厦框架。相信程序员大部分都知道这门课,国外的课就是牛逼~

5、其他

个人感觉,上述的相关课程对建立完整知识体系和加餐补给都很够了,十分不错。但是可能对新人有些难度,大家也去网上找一些基础视频先大概看看,对于上面可能更好理解。

我该学到什么程度?

对于大部分同学,其实大概梳理一下整个操作系统的知识体系即可,对于你构建你的完整知识体系和找工作已经足够。不过如果你想往研究方向或者就个人兴趣爱好而言,可能需要再深度研究。

在看视频学同时可以结合一些经典书籍学,比如

  • 《现代操作系统》

也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式

其中内存、进程、IO 是重点,这几块是最贴我们时学*工作的,之后面试也重点考察这几点。

计算机网络

计算机网络我给大家分享一个方法,按照「 总—分—总」的思路来学。(此总分总是我胡乱用词,相信大家可以贴切理解)

什么意思?

体系流程—总

首先,不要着急去学某个单独的章节,或者一来就从头到尾挨着去学。这样效率和收获会极低。

我们应该首先了解计算机网络整个脉络,「 数据是怎样在网络中传送」的,也没有叫你每个细节都要搞清,浅尝即止。不过我们需要在脑海形成一个整体流转过程。

推荐【网络】半小时看懂
https://www.bilibili.com/video/BV124411k7uV

除了那些搞研究的专业者之外,我们这些普通人,需要的不是特别深的理论,不是上来就计算各种进制,我们渴求的,是能从整体上,把我们生活中常见的,以通俗易懂的话语解释的让人能听懂。

从另一方面说,这也是一个引子,感兴趣的人自然会去深入研究,再不感兴趣的人,像路由、网络这些,生活中常见的,总会有用得到的时候。

也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式 也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式 也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式

知识详解—分

然后,我们再根据脑海的大体映像,带着可能存在的某些细节问题再逐步去学,剖析细节,全面学

推荐-中科大-计算机网络
https://www.bilibili.com/video/BV1JV411t7ow

其中对于HTTP、TCP、IP 等协议是特别重要的,此处为大家推荐几本优质书籍。

《图解HTTP》、《图解TCP/IP》,这两本书都以图文形式很好的去讲解知识,有趣易懂。

也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式 也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式

实战抓包—总

最后,我们再通过自己抓包实战去亲自体会各个层,各个协议。

推荐使用 Wireshark工具,可以去抓取每一个数据报文的信息,可以清楚的查看各个数据报文的结构,亲自去验证书本的知识啦。

而且当你 「抓取」到报文自己去验证分析一遍,你会有种豁然开朗的感觉,而且觉得挺有成就感,并且再也不会感到枯燥。最重要的是再次把整个知识网络连接起来啦。

推荐书籍:《Wireshark 网络分析的艺术》

另外,想要功力更上一层楼,给大家推荐基本经典书籍:

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

对于 TCP/IP 网络模型深入学*的话,推荐《计算机网络 – 自顶向下方法》,这本书从 HTTP 开始,逐层剖析,详解,对建立完整且有深度的知识体系很有帮助。

也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式
  • 《TCP/IP 详解 卷一:协议》

其次,如果想要深入学* TCP,推荐大家赋有计算机网络圣经之说的《TCP/IP 详解 卷一:协议》,此书虽然枯燥,但是真的讲得很细,很好。

也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式

历劫飞升

如果你是 “老油条”、或者最*找工作需要应付面试的,就看这里。

求职在于针对准备,快、准、狠。个人觉得,此时不再适合挨着看书去学*,这样效率极低,而且在极短时间下,再加上自己心里慌,容易把脑袋绕晕却什么没记住理解。

我们只需要分两步走:

  • 第一步:自述整体体系(不懂百度)
  • 第二步:分解核心知识,着重复*(哪个核心哪个细节不清楚去找相关资料),最后临考之前看常考面试题。
  • 应付面试:推荐看「 小龙coding」后台回复「 面试笔记

计算机网络

首先你需要去搞懂这几个问题:

  • 从 URL 输入到页面展现到底发生什么?
  • 一个数据包是如何发送出去的?

然后分解核心知识,可以围绕这几个常考面试题去学*理解。

  • TCP三次握手、四次挥手相关?
  • TCP粘包、拆包相关?
  • TCP 状态中 TIME_WAITT 什么时候·产生?为何产生?怎样避免?
  • 拥塞控制、流量控制相关?
  • HTTPS连接过程相关?
  • TCP 如何实现可靠传输的?(类比问题:如何基于 UDP 实现可靠传输)

一方面:通过常考面试题可以着重有针对去学*核心知识点;

二方面:可以针对准备,应付面试(主要目的);

操作系统

首先你需要去搞懂这个几个问题:

  • 一个程序是怎样运行起来的?(不用太细,具体到每个细节)
  • 操作系统主要由哪些模块组成,操作系统作用?

然后同样分解核心知识,可以围绕这几个常考面试题去学*理解。

  • 进程间通信方式(消息队列、共享内存、管道、信号量等)
  • 进程和线程的区别
  • 进程的状态、切换、调度
  • 协程
  • 虚拟内存
  • 死锁检测与避免
  • 并发经典的问题(哲学家就餐问题)
  • 内存为什么分段、分页
  • 页面置换算法(LRU要能简单模拟,熟练说出其实现思路)、进程调度算法

Original: https://www.cnblogs.com/xlcoding/p/15926479.html
Author: 小龙coding
Title: 也许互联网大厂BAT更看重你的计算机基础知识(2022必看的操作系统,计算机网络的学习方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573438/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SpringBoot快速入门

    SpringBoot笔记 1.开端介绍 1.两种核心配置文件同时存在(properties的优先级高于yml) 2.多环境下核心配置文件 3.获取自定义配置 4.将自定义配置映射到…

    Java 2023年6月9日
    081
  • Spring总结

    **Spring的个人总结和&#x914…

    Java 2023年6月5日
    087
  • 针对FILES和PATH的操作

    在修改漏洞的时候发现,根据建议都使用NIO包的FILES和PATH来进行文件操作,来保证安全性. 使用Files前,需要先使用Path来获取文件路径,而且可以用Path转化为其他多…

    Java 2023年6月15日
    073
  • idea maven Could not transfer artifact

    aven报出Could not transfer artifact错误时 一般解决方法有: 在IDEA 的 setting → Build,Execution,Deployment…

    Java 2023年6月5日
    081
  • 跟我学Python图像处理丨傅里叶变换之高通滤波和低通滤波

    摘要:本文讲解基于傅里叶变换的高通滤波和低通滤波。 一.高通滤波 傅里叶变换的目的并不是为了观察图像的频率分布(至少不是最终目的),更多情况下是为了对频率进行过滤,通过修改频率以达…

    Java 2023年6月15日
    076
  • 虚拟机之 Parallels Desktop

    去官网看看 在 Mac 虚拟机中跨多个操作系统开发和测试访问 Microsoft Office for Windows 和 Internet Explorer快速运行 Window…

    Java 2023年5月30日
    078
  • 使用certbot制作免费Lets encrypt SSL证书

    利用 certbot软件包可以免费制作SSL证书 这对小网站和测试项目太有用了,下面记录一下制作证书的流程和方法。以备后用。以centos7系统为例 其他系统类似。 yum ins…

    Java 2023年6月16日
    0125
  • java去除字符串中的空格t、回车n、换行符r、制表符t

    \n 回车(\u000a)\t 水平制表符(\u0009)\s 空格(\u0008)\r 换行(\u000d)在日常开发中,空格、回车、换行符等一些特殊字符经常会困扰着我们对于数据…

    Java 2023年5月29日
    056
  • InstallShield 2012 Spring优惠升级到最新版本(2015.4.30之前)

    InstallShield 2012 Spring即将EOF,所以仍在使用InstallShield 2012 Spring的用户请注意下面内容: InstallShield 20…

    Java 2023年5月29日
    080
  • BLOG-2_JavaHomework_Summary

    PTA大作业_阶段性总结 前言 数学的问题很大,使得PTA的大作业写的并不是很舒服 小总结 把代码比作盖楼的话:期中考试的题比较舒服,把三道题放一起就知道这是要 盖大楼,题之间是循…

    Java 2023年6月5日
    079
  • Java中的装箱和拆箱

    一.什么是装箱?什么是拆箱? 在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i = new Integer(10); 在从J…

    Java 2023年5月29日
    072
  • 深入理解Apollo核心机制之配置读取——ConfigService定时扫描

    概述 之前我们了解了,客户端会每秒(默认)长轮询Config Service,等待通知,然后去主动拉取配置文件。本文主要跟进Config Service主动轮询ReleaseMes…

    Java 2023年6月6日
    088
  • nginx单页应用配置

    location ~* html { rewrite .* /index.html break; } location /login { rewrite .* /index.htm…

    Java 2023年5月30日
    069
  • go使用barcode库生成二维码并扫描其内容

    导入barcode包 使用barcode库生成二维码 这里复习一下defer关键字的主要用法:延迟执行,主要是关闭流时用到,在return之前执行,当有多个defer关键字时采用先…

    Java 2023年6月13日
    077
  • 图解设计模式:身份认证场景的应用

    文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info 今天和大家聊一聊,如何合理的将多种设计模式放到同一个业务场景中 业务背景 最近接到一个认…

    Java 2023年6月14日
    0104
  • 20220728-在IDEA中进行Java的断点调试Debug

    断点调试介绍 断点调试是指在程序的某一行设置一个断点,在调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行…

    Java 2023年6月15日
    098
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球