技术岗对于SQL的掌握要求是怎样的?
这是阿秀的第「236」篇原创
你好,我是阿秀。
一般来说互联网主要就分为技术岗和非技术岗两类,技术岗又分为研发、算法等,其中研发岗又可以根据技术栈的不同分为前端(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,挺好用的,你要是想找一些数据库方面的工作,这是加分项。
更有甚者,分布式数据库感兴趣的话也可以去学学,多了解了解不是坏事。
文章转载自公众号: 拓跋阿秀