关于我的程序员进阶之路

在这个微服务、大数据、5G、AI、区块链横行的时代,人人都说程序员是吃青春饭的,35岁后就要面临失业的风险,我想说的是一技傍身才是生存之本,才会立于不败之地。 2020/04/07

程序员进阶之路

写这篇文章缘由还要从相识猫叔说起,我们在慕课网的认证作者群里相识,因为同样对netty感兴趣,同样有纹身,所以很快熟识起来。Inchat是猫叔发起的开源项目,我认识他的时候在github上已有200 star,前后发行了4个版本,目前500+ star,200+ fork。公众号有一大批粉丝,QQ群每天都有感兴趣的人家加群。

受他的影响下我也开始写开源项目,运营公众号。我的开源项目Almost-Famous 是一款关于卡牌游戏的项目。我致力于将所有我掌握技术栈都运用到这个项目中,这样我会在其中受益良多。

在这个微服务、大数据、5G、AI、区块链横行的时代,人人都说程序员是吃青春饭的,35岁后就要面临失业的风险,我想说的是一技傍身才是生存之本,才会立于不败之地。

何为普通程序员?

简而言之,工作多年还是那些从事CRUD的程序员。What?How?Why?

何时意识到自己是普通程序员?

最直接的方式就是面试:

  • 场景一

    1. 说一下HashMap的数据结构?它是怎么实现的?什么时候扩容?
    2. ConcurrentHashMap与LinkedHashMap的区别?在什么场景下使用过?
  • 场景二

    1. redis支持的5种数据结构?zset是怎么实现的?用做实现排行榜时,有时间维度该怎么办?
    2. mysql中索引的类型?B+数索引的优点? sql、索引优化?什么是最左匹配原则?
    3. mongodb中的LBS实现有过接触吗?
  • 场景三

    1. 简述一下JVM的运行时数据区?JVM内存模型?什么是元数据区?
    2. 用过什么垃圾收集器?掌握哪些垃圾回收算法?G1的特性和它的优势在哪?

其次,对于计算机的基础知识并没有掌握,例如计算机网络部分,OSI模型,TCP/IP协议,TCP与UDP协议的区别。数据结构与算法的基本功,比如让你写个,二分查找法,快速排序,冒泡排序,数组和链表的区别,还有一些经典的算法题,例如:红包算法等等,有兴趣的去LeetCode、剑指offer去刷题,我就不在这打脸了。

这一年我的收获

  1. springcloud微服务的实操经验

    • 从一个基础的springboot项目一步步将它改造成springcloud微服务
    • Netflix常用组件,Eureka、Config、Hystrix、Ribbon
    • Config
  2. docker容器、kubernetes容器编排运用于生产环境

    有道是,一时docker一时爽,一直docker一直爽。

  3. 一个游戏开发必须掌握的长链接与服务器同步

    netty/mina框架必须掌握一个。


扫码关注有惊喜

(转载本站文章请注明作者和出处 AwakenCN/Almost-Famous

Post Directory