你好,我是阿秀。
一般来说互联网主要就分为技术岗和非技术岗两类,技术岗又分为研发、算法等,其中研发岗又可以根据技术栈的不同分为前端(Vue、React等)、后端(Java、C++、Golang、Python、Rust)等。
这是从编程语言和框架上来细分,可有些科目不管你从事什么技术栈你都要学,SQL就是典型代表。
不管你学Java还是C++、Golang,数据库基本是每一个后端选手都要学的,前端可能不怎么要求,但后端基本都要求掌握SQL + 一门关系型数据库 + 一门非关系型数据库,也就是SQL + MySQL +Redis。
MySQL和Redis以前已经分享过不少就不再啰嗦了,刚好前几天学习圈里有几个学弟问我校招技术岗对于SQL的要求是怎样的?我在工作中对于SQL的运用如何?今天就大致分享下。
1、学弟的提问
秀哥你好,我是今年的应届生,打算走后端技术栈,其中在数据库的准备上挺迷的。
对于关系型数据库,我学完了SQL的基础,后续应该如何练习呢?
我打算看看你在学习圈里发的SQL笔记然后去牛客 + 力扣上练练SQL练习题,请问我这么学习有什么问题吗?
在这个时间段数据库应该怎么准备好一些?
后端研发对数据库的要求是什么?
秀哥你在工作中对于SQL的运用有哪些感想?
提前感谢秀哥解答。
2、阿秀的回答
学弟你好。
我先说一下我当初是怎么学SQL的,然后说下大致需要做哪些事。
我当时主要就是看了一本很薄的小册子《MySQL必知必会》,不要被名字欺骗了,其实它里面主要是讲SQL的。
这本小册子很薄也很小,我看了两遍,也自己手敲了两遍过来,当时也做了笔记,已经分享在学习圈里了,还有笔记的PDF版本,你可以在学习圈置顶帖知识图谱中看到我的笔记分享。
秋招期间五六十场的面试也没被SQL题目卡壳过,基本都能顺利写出来,主要就是一些left join、right join,要不就是嵌套子查询,这种一般考的多一些。
直到现在我工作快两年多了,SQL这块当初学的也基本都够用了,在我日常研发过程中写SQL基本不需要去查,稍微想一下就能写出来,不会出现那种脑子会了手写不出来的情况。
这是我的学习过程,主要就是看了两遍 《MySQL必知必会》+ 手敲一遍过来。
下面说下我是如何练习的:
牛客网有个SQL练习题,题目不少,我觉得不需要全部都做,你可以像我一样把前30题刷一遍过来,这是牛客网SQL刷题链接:https://www.nowcoder.com/link/pc_kol_aaaxiu(右键复制到浏览器地址栏打开)
我就刷了前25道题,当然了,你要是想多练练,当然可以随你。
下图就是我刷的前25道题,每道题的序号前面有个对号就是我做过的一个标识,我就做了25道练习题,感觉基本够用。
在每道题的后面都会有一些讨论区和题解,没有思路的时候也可以去看看别人的做法来找一些灵感和思路。
讨论区
就比如第一题:查找最晚入职员工的所有信息,我看了下我的提交时间是在 1064 天之前,差不多是三年前提交的,运行时间为15ms,占用内存则为3320KB。
我看了下我的提交时间是在 1064 天之前了
这大概就是我学习SQL这块的经验和做的一些练习了。
对了,既然提到了数据库,MySQL + Redis就不说了,这也是后端技术岗对数据库最低的两个要求了。
如果你学有余力的话,可以去看看MongoDB,这是文档型数据库,应用场景也比较多。。。我们组这两天就启用了MongoDB,挺好用的,你要是想找一些数据库方面的工作,这是加分项。
更有甚者,分布式数据库感兴趣的话也可以去学学,多了解了解不是坏事。
—END—
你好,我是阿秀,普通双非学校出身,现于抖音旗下担任全栈研发工程师,前后端都会一点点。一路走来,很累也很不容易,希望能帮助到更多像我一样的普通学校的学生,组建了一个阿秀的学习圈子最开始只是用于记录自己的日常学习。
再后来就很多学弟学妹加入进来一起学习、准备实习、准备秋招、分享秋招&记录学习,其中置顶帖的「知识图谱」和「精华区」(如下图)中有很多计算机大学本科&研究生学习以及校招的内容和问题,多看看这些能够帮你走的更稳、更顺、更平坦。
星球里的精华区、知识图谱以及资源沉淀
一个人踽踽独行不如结伴而行。以后会继续笔耕不辍,输出一些有价值的内容,对于每位阿秀的的学习圈中的学弟学妹也会增送自己以前的学习和校招面试总结笔记:阿秀的校招求职笔记PDF版本现在只有这一种获取PDF版本的方式了。