前言
又逢“金九银十”,年轻的毕业生们满怀希望与忐忑,去寻找、竞争一个工作机会。已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇、更大的平台。
然而,面试人群众多,技术市场却相对冷淡,面试的同学们不得不面临着 1 个职位 N 个应聘者的巨大竞争。
问:在这种现状下,如何才能收获又多又好的 Offer?
答:短期准备——刷面试题;长期筹谋——巩固核心技能。
面试题怎么刷?刷高频题、有深度的题、符合时效性的题。
核心技能如何巩固?先深入理解原理,再系统应用到实践。
MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。
目前大部分的互联网的首选也仍然是MySQL,所以作为一名开发人员,掌握好MySQL的使用是非常有必要的,那么如何能够达到“精通”MySQL的程度,那就需要耗费不少心思了。那么如何学习MySQL呢?今天就来好好谈谈。
下面介绍我学习MySQL的三个步骤,一天就搞定了MySQL,让我顺顺利利拿下了天猫的offer。
第一步:梳理MySQL,列出结构图
无论是学习什么知识和技能,学会梳理是非常重要的,对于一个知识的梳理,一方面能够加速记忆,另一方面能够使得脑海知识点的整体更清晰完整,所以我学习MySQL的第一步就是梳理MySQL。
对于MySQL的梳理,我也特整理了这么一个结构图,包含了MySQL相关的主要核心知识,真正做到了一目了然:
MySQL笔记图(Xmind)
第二步:从基础到实战,统统搞定
1.从基础入门,解密MySQL
2.MySQL性能优化的21个最佳实践
3.关于MySQL,我的个人小项目
之前写了一版简单的shell脚本,能够实现简单的MySQL Group Replication环境的测试快速部署,大概就1分多钟的时间就快速创建多个实例节点,如果要学习尝鲜MGR的话还是推荐试试的。
自己也手工测试过几次,还能用。说不上高大上,但是能够基本满足需求,今天又抽空完善了一下,在一个全新的环境中部署了一把,还算比较顺利。
我简单说说这个小的项目,也希望大家齐心协力,把它逐步完善起来。
github上的截图如下:
如果要实现快速部署MGR,下面是一些基本的步骤。
1\. 首先需要下载MySQL软件,配置/etc/hosts文件,下载二进制包都不需要什么安装了,直接解压放入指定的目录即可,比如/usr/local/mysql。目前最新的版本是官方的5.7.19
第三步:吃透面试题,顺利进大厂
1.24 个必须掌握的数据库面试问题
- 为什么用自增列作为主键
- 为什么使用数据索引能提高效率
- B+树索引和哈希索引的区别
- 哈希索引的优势
- 哈希索引不适用的场景
- B树和B+树的区别
- 为什么说B+比B树更适合实际应用中操作系统的文件索引和数据库索引?
- MySQL联合索引
- 什么情况下应不建或少建索引
- 什么是表分区?
- 表分区与分表的区别
- 表分区有什么好处?
- 分区表的限制因素
- 如何判断当前MySQL是否支持分区?
- MySQL支持的分区类型有哪些?
- 四种隔离级别
- 关于MVVC
- 在MVCC并发控制中,读操作可以分成两类
- 行级锁定的优点
- 行级锁定的缺点
- MySQL优化
- key和index的区别
- Mysql 中 MyISAM 和 InnoDB 的区别有哪些?
- 数据库表创建注意事项
2.MySQL数据库高级工程师岗位面试题
3.BATJ一线互联网常问MySQL精选55题
总结
“免费”、“强大”、“成熟”,这三点就足以使得MySQL站在数据库领域的顶峰,笑傲江湖。所以,精通MySQL,提升自我竞争力,定能缩短与一线大厂的距离。