在学完了C/C++语法以后,我相信不少朋友都会比较迷茫,到底应该学什么?mysql
其实总结起来无非就是:面试
一、网络编程;算法
二、操做系统;sql
三、数据库;数据库
四、数据结构与基础算法;编程
上一篇文章中咱们讲到了网络编程以及操做系统,那么今天,咱们接着给你们分享数据库和数据结构部分!数组
主要是MySQL、MongDB、Redis、Nginx等;微信
在大学的课程里,通常都会开设一门数据库的课程,不过这门数据库是没有针对某一种数据库语言的(例如 MySQL、SQlite)。不过我这里只讲 MySQL,由于最频繁。数据库不在多。网络
把MySQL学好,仍是特别重要的,千万不能停留在会用的层面上,而是应该要了解一下原理,特别是对于要面试的同窗,会问挺多原理,不必定要写得很号,可是须要知道一些原理,像腾讯、阿里面试时,面得最多的就是MySQL。下面就说说一些知识以及推荐的学习资料吧。数据结构
对于 MySQL,须要学的还挺多的,例如,
一、一条 sql 语句是如何执行的?进行更新时又是怎么处理的?
二、索引是如何实现的?多种引擎的实现区别?聚族索引,非聚族索引,二级索引,惟一索引、最左匹配原则等等(很是重要)
三、事务相关:例如事务的隔离是如何实现的?事务是如何保证原子性?不一样的事务看到的数据怎么就不同了?难道每一个事务都拷贝一份视图?MVCC 的实现原理(重要)等等。
四、各类锁相关,例如表锁,行锁,间隙锁,共享锁,排他锁。这些锁的出现主要是用来解决哪些问题?(重要)
五、日志相关:redolog,binlog,undolog,这些日志的实现原理,为了解决怎么问题?日志也是很是重要的吧,面试也问的挺多。
六、数据库的主从备份、如何保证数据不丢失、如何保证高可用等等。
还有一些经常使用命令也要知道。下面就是关于mysql面试题的思惟导图。
推荐书籍:连 sql 都不会写的,推荐《SQL必知必会》,接着推荐《MySQL从入门到精通》。
数据结构指的是“一组数据的存储结构”,算法指的是“操做数据的一组方法”。
数据结构是为算法服务的,算法是要做用再特定的数据结构上的。
最经常使用的数据结构预算法:
数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树
算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
论面试,我以为操做系统+计算机网络+数据库 + 数据结构算法这四大块是问的最多的,因此我写了这些。但愿对你们有帮助。其余C/C++方面以及面试方面的知识笔者也会慢慢分享出来哦~
若是你想更好的提高你的编程能力,进入到百度腾讯等大厂工做,好好学习C/C++编程知识成为高薪软件开发工程师的话!那么你很幸运~
C语言C++编程学习交流圈子,QQ群1090842465【点击进入】微信公众号:C语言编程学习基地
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比本身琢磨更快哦!
编程学习书籍:
编程学习视频: