Java成长之路

5年以下开发经验,在简历上写"精通Java"?该说你自信还是愚蠢

2020-05-30  本文已影响0人  Java古德

网上有很多所谓的Java程序员面经,其实看下来的感觉就是没多大用,面试是没有套路的,每一个面试官问的东西也都不一样,如果根据那些面试问题去学习和准备,那真的是只见树木不见森林,对个人提升没有太大提高。

那么,一个优秀的程序员应当具备怎样的技术素质呢?按照我个人的理解,主要就是基本功+项目

为什么说针对面试题进行学习和准备作用不大?因为我认为我们关注的不应当是题,而是题背后的一个一个的方向,这也就是我认为的基本功。那从基本功的角度来说,包括但不限于以下内容:

工作相关使用到的JDK类及其相关源码、机制;

设计模式:设计模式在工作中用到了哪些,具体使用场景

并发类的相关知识:线程安全、锁机制、信号量、闭锁、栅栏、线程池等;

框架相关:Spring相关机制、Akka相关机制、Netty相关机制、使用的细节点、框架实现原理等;

JVM,内存布局、垃圾识别算法、垃圾回收算法、垃圾收集器、类加载机制、内存模型、出现内存问题时定位问题的方法等;

数据库的基本数据类型、索引机制、各引擎区别、锁机制、慢SQL定位及优化等;

缓存机制,这里的机制指的是缓存加载、缓存击穿、缓存雪崩这些机制及其相关应对方案,用过Redis、MemCache的最好理解一下它们的原理或者缓存提供的一些高级功能,集群如何实现;

分布式:比如CAP理论、数据一致性的几种解决方案、分布式事务如何处理、分库分表怎么做、现有的相关解决方案等;

Netty相比原生NIO的优点、半包拆包、断线重连解决方案等;

其他中间件,MQ作用和使用场景、服务化治理框架的作用和使用场景、配置中心的作用和使用场景等

。。。。。。

坦白讲,以上的这些东西全都掌握也不可能,哪怕面试官肯定也有很多不会的,但这就是基本功。别人对你技术的考量绝大多数都是以深度优先、广度次之为标准的,我们可以挑选其中几项进行深入的学习,发挥自己的所学的长处。

5年以下开发经验,在简历上写"精通Java"?该说你自信还是愚蠢

在此给大家推荐一个能尽快掌握以上几项技术的GitHub上一个开源的学习手册,之所以推荐这份学习手册,是因为它是由浅入深从基础到进阶图文结合很容易理解

设计模式

并发编程

JVM

数据库

缓存机制

Netty

Mysql

项目经验别人是帮不了的,只能在平时工作中积累,平时大家去网上搜集也挺麻烦的,希望这一份学习文档可以帮助到大家

篇幅原因为了不影响阅读,这里展示部分目录和内容,需要这份开源了的笔记可以帮忙转发一下后,点击下方链接https://shimo.im/docs/wP9txRcVRyDcQWKx免费获取

上一篇下一篇

猜你喜欢

热点阅读