KnowledgeBase

这个仓库里面的东西是我总结的知识库。

里面的内容:

对数据库的常用概念进行了总结,内容来自《高性能MYQL》、MYSQL 官网、还有网上的博文。

只总结了一些简单的概念 持久化、过期、等概念,但没有对例如各数据结构的底层实现进行总结。(

想要了解推荐一本书《Redis 设计与实现》)

其他还有零散的例如红黑树的简介等。

现在使用golang 开发,会逐渐增加 golang 相关的知识总结。

由于懒没有写目录,如果你使用 Chrome 插件 Octotree ,那就不是问题。

本仓库里的东西其实很浅薄,非常欢迎本仓库的内容进行补充。
PS:对即将面临找工作或者对技术感兴趣的同学有几点建议。
  1. 对于学生来说,像操作系统、计算机网络这种可能其实很重要,可以证明你的基础。还有你的学习能力。

  2. 算法也特别的重要,去LeetCode 上刷个 300 道一点都不多。找一些ACM 的书看一下了解一些套路也挺好。

  3. 个人认为了解设计模式也很重要,它可以让你更容易理解像Spring 、mybatis 等框架的源码。但是最好的学习方式就是通过阅读源码+ 实践理解设计模式。

    例如:Java 里面的线程池其实就是代理模式 + 阻塞队列,如果你理解这两样。完全可以自己写出一个简易的线程池。那几个参数的意义与拒绝策略什么的也轻而易举的就可以理解。又或者是Spring 中最为常见的策略模式、模板模式等。Mybatis 里面的组合模式等等。

  4. 去官方网站进行了解是学习技术的好习惯。

  5. 还有,如果你想给面试官留下深刻的印象,最好的方式就是通过实践增加自己的经验,而不是从网上博客中获取一些浅薄的知识。就像数据库你知道四个隔离级别、与各种索引,但不能写出一条像样的SQL、Redis 只知道几个数据类型但是没实践过的话,那还有什么意义呢?而且在面试中只要面试官稍微往深一问就完全暴露了。

  6. 最后,不要认为学了 Java 这辈子只能作为一名Java 程序员了,语言并不重要。你可以学习一两门其他的语言,比如python 、go。不用非要深入学习各种原理,你一定会有一个全新的认知。