我是湘王,一位近20年经验的开发工程师,有丰富的VB、PHP、Python、Java开发经验,曾管理过大厂200+人的软件开发团队,任职过CTO(首席技术官),也有持续创业经历,对于Java学而不精,我总结以下两点:
第一,没有清晰的学习路径,知识碎片化,不成系统。比如对集合类,并发包,IO/NIO,JVM,内存模型,泛型,异常,反射,等没有系统深入了解,看过源码了解底层的设计,但缺乏对背后的逻辑清晰认知。
举个例子,如面试阶段会问ConcurrentHashMap,CopyOnWrite,线程池,CAS,AQS,虚拟机优化等知识的应用,如在使用线程池时,因为使用了无界队列,在远程服务异常情况下导致内层飙升,怎么去解决?你要是连线程池都不清楚,你怎么去玩?面对这些问题,如果没有清晰的学习路径,是无法完成从编程思维到架构思维的跨越,实现技术人的职业发展晋升的,很容易在面试阶段被淘汰。
第二,缺乏如编程能力,编程思想,算法能力,架构能力胜任。
一位能够达到2W薪资的程序员对算法的要求我觉得还是比较低,再高级也最多红黑树,但是排序和查询的基本算法得会。编程思想是必须的,问你个AOP和IOC你起码的清清楚楚,设计模式不说每种都用过,但也能了解个几种。
编程能力并不好直接评价,但是拿一个2000W用户根据姓名年龄排序这种题目也能信手拈来。最后就是架构能力,这种不是说要你设计个多牛逼多高并发的系统,起码让你做一个秒杀系统,得有一个明确的思路和方向。
下图是我对C能力认证的解读,清晰定义了软件工程师的能力,能够夯实软件开发核心技术,掌握企业级开发框架,吃透分布式架构,玩转微服务架构,搞定性能调优,完全胜任编程能力,编程思想,算法能力,架构能力。
C认证能力图谱
以上是我经常和搞技术的朋友聊到的话题,互联网行业知识更新特别快,今天一个框架的新版本,明天又是另一个新框架,有时往往根据项目的需要来不断学习新东西。所以,经常感觉到,自己用过的东西很多,但是真正深入研究的东西太少!不同公司面试的着重点不同,工作第一年、第二年、第三年,每年的面试问题都有很大差异,所以各位兄弟一定要保持持续学习的习惯!
如果你是在校大学生、IT技术从业者,想学Java知识,一定要关注4月29日我为大家带来的Modern Java(二):反应式编程,并加入学习群组,与来自全国300所高校的技术爱好者一起交流学习。
一、直播时间
2021年4月29日(本周四)20:00-21:00
二、直播亮点
以形象生动的方式带领大家彻底理解反应式编程的底层原理,往简单的方向深入理解,从而使反应式编程更容易入门!
三、你将获得
1.如何掌握观察者模式和流式编程?
2.一个可用的vertx框架代码示例怎么编写?
四、直播福利
直播间全程狂撒超多轮红包雨
五、学习群+福利
CSDN软件工程师能力认证,清晰定义软件工程师能力,扫码进入学习群,群里给大家分享整理的最全Java学习资料合集,想当Java工程师的小伙伴速速收藏!
扫码进群领资料
如果群满请添加小助手把你拉进学习群,一起开启进阶之旅~
转载:https://blog.csdn.net/csdnstudent/article/details/116236483