2020-01-12
然后给自己列了一个1年内的学习计划
1.先简单学下Java,然后看《算法(第4版)》
2.MySQL看《MySQL必知必会》、《深入浅出MySQL 数据库开发 优化与管理维护》,重点知识点辅助看下《高性能MySQL》
3.Redis看官方手册,然后《Redis入门指南》《Redis设计与实现》,尝试使用Codis
4.Nginx看官方文档
5.PHP看Yii2、Composer框架源码,《PHP 7底层设计与源码实现》《PHP7内核剖析》
6.tcp、https整体流程
7.简单学下Go、docker
其中学习阶段有几个非常不错的资源我整理了下
1.http://hedengcheng.com 何登成的技术博客,主要是讲MySQL
2.微信公众号架构师之路 我主要看了MySQL部分
3.PRedis框架的cluster、sentinle、主从源码
4.https://github.com/2lovecode/code-segment 用PHP实现了很多算法,我主要看了跳跃表和布隆过滤器
5.https://github.com/m9rco/algorithm-php 用PHP实现了很多算法,刚学算法的可以看这个
6.https://github.com/githubofrico/DataStructure 用Java实现了很多算法,我一般是先找PHP版本,找不到的话找Java版本的,然后翻译成PHP
7.https://github.com/elarity/advanced-php Unix网络编程部分,非常棒,通俗易懂
8.https://github.com/ronnylt/redlock-php 一个简单Redis的分布式锁
9.CI3框架源码,如果你没有读过任何PHP框架源码,那我建议你读CI3,简单,易读,小巧
10.Yii2的DI、属性注入、事件、行为、别名、ORM、CSRF、路由源码,初步让你理解高级PHP框架的语言层层面实现
11.https://www.bilibili.com/video/av59814573?from=search&seid=3425285485244492738 Java视频教程,快进2倍速观看
有几个重点知识
1.PHP5和7的hashtable、zval变量、gc,FPM的3种模式
2.PHP的异常处理、会话、注册函数
3.redis5种数据类型底层结构,涉及到渐进性hash、inset升级、连锁更新、sdshdr的raw和embstr、跳跃表的原理
4.redis集群、哨兵、主从运行流程,初始化流程
5.aof、rdb、lru原理
6.redis分布式锁
7.事务、主从涉及到的3个线程、锁(MyISAM表锁、X/S行锁、GAP锁、自增锁、意向锁、插入锁、死锁)、MVCC、B+树、聚簇索引、简单的优化
8.快排、堆排、归并排序,链表(快慢指针、求环问题),hashtable(拉链法)
2019年秋季再来一波儿!
然后在2019年11月份,我又面了一轮大厂,面试时间都是3小时以上,全部进2面,一部分进3面+
我不奢望进BAT,不奢望进一线大厂,即使进去了可能也是靠运气,我只和自己比,最后拿到了满意的offer
每次面试收获都非常大,这次面试让我觉得
1.自己知道的还是太少了,对技术要始终保持谦卑的态度
2.进阶的知识点了解10个,不如学精1个
3.项目很重要,设计能力很重要,能入职一家项目复杂的公司真的是很幸运
4.会学一个东西,不要停留在背书阶段,要知道为什么这样
5.算法的学习不要光背下来,要理解背后的思想
6.技术er还是需要经常出去面试的,要始终知道一线大厂关注什么,自己还欠缺什么,不要做井底之蛙
未来一年的学习计划我整理了下,立一个flag
1.精读《MySQL技术内幕 InnoDB存储引擎》
2.算法继续怼,调整一下学习方法
3.精读Laravel和Lumen源码
4.熟练掌握消息队列和docker
5.Go继续学习,能在项目中使用,尝试开始学习一个框架的源码
6.《Unix网络编程 卷一》读完一半,《tcp/ip详解》读完tcp部分
7.怼项目,把项目从低到上,每一个业务都怼的明明白白的
8.尝试阅读nginx源码
学习是一个持续的过程,很痛苦,很折磨人,如果有一个人说我非常喜欢学习,那我感觉他在扯淡,在我实在不想学的时候我总和自己说“今天就学10分钟”,最后可能会学了很久…..在我年轻的时候,我想多提升下自己,因为可能能正经学习的阶段就这几年了
我热爱写代码,如果自己真正热爱的东西都做不好,那我这辈子可能就是个lowB了
以下是我这几年整理的有道云笔记,分享给大家,都是我从书上或者博客上整理下来的,都经过了我自己一点点模拟验证
1.http://note.youdao.com/noteshare?id=86a7f54034bda9a9c17754b51a540324 PHP底层hashtable
2.http://note.youdao.com/noteshare?id=9c767151b3df804060bd47ec55a365f3 PHP底层zval和gc
3.http://note.youdao.com/noteshare?id=7a2c9e2f02b8a32fe1f4d1201af82e32 FPM基础知识
4.http://note.youdao.com/noteshare?id=798540528a1a8fe62d679cc7c6ee6192 http与https握手挥手等
5.http://note.youdao.com/noteshare?id=cb740b4e6461534851724dd165a45df1 tls证书等
6.http://note.youdao.com/noteshare?id=6b5ae67aa7b0c924d37feb2f26041ae6 redis5种数据类型底层
7.https://github.com/Zhucola/php_frameworks_analysis yii2、composer、PRedis、分布式锁、Workerman源码分析
8.http://note.youdao.com/noteshare?id=6fbc6e010d50b5deae344e0e5544fd22 redis的DB、lru、事件通知
9.http://note.youdao.com/noteshare?id=ac566a9e55f8f46343239e24ad7635ad 哨兵
10.http://note.youdao.com/noteshare?id=240edd25aaccde8007a01f9f4501e69c aof、rdb
11.http://note.youdao.com/noteshare?id=e8897d0a1a984615fc0a9ee90a14ceee 集群
12.http://note.youdao.com/noteshare?id=825818c32a466c99d7340dea5dd92216 redis主从
13.http://note.youdao.com/noteshare?id=b0559eaf1a57212e9c5091df7048a568 innodb事务、行锁
14.http://note.youdao.com/noteshare?id=49333660686ff8ba1a58ba55b34ba3e3 myisam表锁