作者:阿秀
阿秀的学习笔记:https://interviewguide.cn
你好,我是阿秀。
有项调查显示校招中后端投递简历和求职人数是远大于前端方向简历和相关求职人数的,可以说后端是绝大多数应届生的求职首选。
而后端又可以根据不同语言分为不同类别,比如:Java后端、C++后端、Golang后端、甚至Python都可以去做后端。
但不管什么语言,有些公共科目是都是需要去了解和掌握的,数据库就是其中一门。
一般来说,校招中对于求职者在数据库方面的要求不高,常见的关系型数据库和非关系型数据库各了解和掌握一种就可以,比如世界三大关系型数据库之一的MySQL和内存型数据库Redis,一般来说掌握这两个基本够用了。
不过也有一些岗位会格外要求你学会或者掌握别的类型的数据库,比如这两年同样比较火的文档型数据库MongoDB,有些数据库相关的岗位还真对MongoB也有要求。
至于大多数人学一下MySQL和Redis就够用了,但可能多数人对于这两种数据库的认知都是停留在书本上,甚至没有实际使用过,一直都是纸上谈兵,阿秀的学习圈中就有一位学弟在学习数据库过程中就是这么认为的。
1、疑问
《阿秀的学习圈》是阿秀自己组建的学习圈,本来是打算记录自己的学习和充电经历的,后来也慢慢也带着一些学弟学妹们一起学习。
这位学弟就在学习圈中问了这样一个问题,如下:
秀哥好,我今年就准备秋招了,想问一个关于MySQL和redis的问题,我看过了MySQL必知必会和实战45讲,也接触了一下八股文,redis情况也一样。看了《redis设计与实现》和一些总结。
但是只是停留在认识层面,甚至都没有实际去使用过MySQL和redis,感觉都是纸上谈兵。
我的项目里用到了一些简单的MySQL操作,redis基本不涉及,这种情况我要学一些MySQL和redis的实际操作吗,要怎么去学呢?请秀哥解答一下
2、回答
其实阿秀自己在找工作时也有过这样的疑惑和担心,后来面试四五十场后渐渐打消了这个疑惑,因为真实场景和自己设想真的一点都不一样。。。
以下是阿秀在学习圈中的回答原文:
对于校招生来说,不需要你有很强的项目实战经验,主要考察的是你的基础,你的基本功扎实不扎实。
当然你如果有很强的实战经验肯定是加分项,这个是毋庸置疑的。
至于你的基本功扎实与否,换句话说其实就是书本上的东西知道不知道,了解不了解,所以你这种情况很正常,稳稳走自己的路,面自己的试就行,不要慌,。。。
- 针对MySQL,你会写SQL,会用左连接右链接,会建表、知道索引是什么、知道一些优化措施,比如主键之类的就可以了。因为对于校招生来说,这基本上就足够了。你要是知道的更多,肯定也是加分,要是仅此于此,那也没什么关系。
- 对于Redis,你知道五种数据结构,知道过期时间,知道Redis在什么情况下用的就可以了,剩下的就是缓存击穿、缓存雪崩、热Key之类的八股文,这一点我以前在自己的学习过程中也总结过不少:https://interviewguide.cn/notes/03-hunting_job/02-interview/04-02-01-Redis.html
这里也跟你介绍一下,Redis在真实互联网开发环境中的适用场景,MySQL就不说了,这个应该很容易理解。
大致就是后端接收到前端发来的请求,处理逻辑,然后落库,去数据库中取数据,然后再对返回的数据进行处理,最后返回前端即可。
发请求,收请求,处理数据,返回数据,然后周而复始....整个过程就是这么点事,说破天了也是这点事。
只不过在这个过程中会有各种情况需要你去处理而已,概括性来说其实就是这四个步骤。
而Redis的适用场景则更容易理解了。
后端收到前端发来请求的时候,可以先去Redis中查看有无对应数据,如果有直接返回就好;如果没有,就落库,去数据库中查找,然后处理逻辑,返给前端。
当然后端除了返回前端之外,还要回表,也就是把查到的数据再往Redis里存一下,这样下回前端再发来同样的请求,就可以去缓存中取数据,而不是再次去数据库中取数据。
当然,这个过程中可以会引发一些缓存不一致的情况,这又是另外一种情况了,有空再聊聊这个缓存不一致,有时候还挺致命的,这里就不展开了。
所以上面的场景是实际开发环境中经常会遇到和用到的,实操的机会多得是,以后工作了大把的时间让你去实操!
对于校招生来说,重基础!重基础!重基础!重要的事情要说三遍!
如果你不熟悉Redis的一些操作,想要实操,可以看看我以前写过的数据库相关优秀视频,我放在自己的学习网站上了,链接在此:https://interviewguide.cn/notes/04-experience/01-learn_experience/20210809%20-%20%E7%AC%AC%E4%B8%80%E6%9C%9F-%E6%88%91%E5%AD%A6%E7%BC%96%E7%A8%8B%E5%85%A8%E9%9D%A0B%E7%AB%99%E4%BA%86%EF%BC%8C%E7%9C%9F%E9%A6%99.html