谈谈如何进阶Java高级工程师

从入门到瓶颈(++文末附学习脑图++)

首先,先自我介绍一下,楼主94年的,四川人,普通大专毕业。

第一阶段 实习阶段

2015年,实习阶段去浙江温州(没错,就是皮革厂的那个地方)找了份软件实施的工作实习。大概的工作内容是去给经销商进行ERP实施培训,OA系统维护等等。每天住在厂里,朝九晚五,也不用加班,不过工资低的可怜。

刚开始几个月没觉得啥,但时间一长,觉得自己不能这样一直下去,第一学不到什么东西了,第二看着公司里的开发们工资是我们的好几倍,慢慢的心里萌生了转型的想法。开始从网上(我要自学网)搜一些视频来看,也没有什么系统性的路线方法,就是搜到啥看啥。看了些oracle数据库、java se等等。看完了之后又接触到了尚xx的一个学习机构,他们有很多免费的视频可以看,还有路线规划,从那时才真正的步入正轨,开始了Java web的学习虽然,也不知道学这个能不能找到工作,企业里需要的是什么,反正就是学呗,拿起梭子就是干。

附一个从基础到精通的学习路线(最近截的图,当时没这么多):

第二阶段 入门Java【2016年】

当时把视频学的差不多了之后,抱着试一试的心态去投了下简历,没想到竟然很顺利找到了一份工作。是一个创业型公司。因为公司前端稀缺,所以基本我们java开发还要学习前端的知识,包括extjs、vue等等。

到了2017年底,差不多快2年的时间,公司里需要的技术我都已经掌握了,又学习了Spring Boot、Spring Cloud、Redis以及前端的一些框架等等。因为爷爷年纪大了,我离家也太远。年底我提出了离职。

也许在一个听不懂别人说话的城市呆着,始终找不到一份归属感;又或与因为知道不管交了多少朋友,也终会分别。当时还随了很多温州朋友份子钱,现在也没联系了。。。

第三阶段 中级阶段【2018】

回到了成都,找了一个中型的互联网公司开启了职业生涯的第二个阶段。在这个公司真正的应用了多集群的微服务架构,有了完善的工作流程。有产品、测试、前端、后端、运维。虽然技术都是之前学过的,但是了解了很多运维相关的东西。包括ELK、灰度发布、容器化等等。在这个公司的两年主要是看一些技术书籍学习,如:《java并发编程的艺术》《深入理解计算机系统》《深入理解Java虚拟机》《重构改善既有代码的设计》。第二年的时候也受到了领导的重用,不仅把公司最核心的业务交给我负责,还让我当起了面试官。不过后来公司业务发展的不好,工资开始延迟发放,人也陆陆续续的离开。而我也在公司倒闭之前选择了辞职,

第四阶段 展望高级【2020】

2020年,我如愿以偿找到了一份电商业务的公司上班。当时面试的时候发挥得还行,问题都回答上了,还聊了一些源码。感觉自己“吊打”了面试官,结果进入公司好几天发了工牌一看,咋还是中级工程师。哎,还是社会的最底层(公司没有初级)。不过当时很想了解下电商网站到底是怎么做的,包括经常听说的分布式锁,秒杀,pdp等等。这一年自己已经不知道还能学点啥了,感觉学来学去还是那些技术,而且学了就忘。因为平时工作里没有用到,甚至看过了几遍也忘了,就比如es、netty等等。或许这就是所谓的瓶颈期吧

第五阶段 反思蜕变【2021】

我总结了以往的很多学习经验,发现自己有以下的问题。

  1. 学习像做任务,学了就过了,没有总结,没有复习。写了笔记自己后来也没看过。
  2. 没有形成体系,零散的知识很难记住。
  3. 实操不够,学习新技术时虽然也在练习,但是还是停留在demo阶段,不够深入。

为了解决我的问题,我自己开始静下心来学习,每一个知识点争取学明白,学透彻。并且总结了一份脑图,虽然网上我也看到过很多好的脑图,但是写的密密麻麻,直接把我劝退。只有自己总结的才能更符合自己,才能看得进去。也希望有同样困扰的小伙伴可以自己学着画画图、总结一下,不要为了学习而学习。古话说得好,温故才能知新。

附上我的进阶高级工程师的脑图:

Java进阶高级工程师 | ProcessOn免费在线作图,在线流程图,在线思维导图

里面大部分知识点都有对应的文章、视频和进阶资料,可以方便复习,巩固。

第六阶段 待续

希望自己可以继续努力,下一个目标,大厂。

Java后端开发高级工程师面试可以从以下几个方面回答: 1. 技术基础:Java后端开发是面向对象的编程语言,所以需要掌握Java的基本语法、面向对象的思想和常用的设计模式。此外,对于Java开发框架和相关工具,如Spring、MyBatis、Maven等也需要有较深入的理解和应用。 2. 数据库:一个优秀的Java后端开发工程师需要熟练掌握关系型数据库的使用和优化,如MySQL、Oracle等,以及非关系型数据库,如MongoDB、Redis等。在面试中,可以提到对数据库的常见操作和SQL语句的编写能力,以及对数据库性能优化和调优的经验。 3. 分布式系统:在互联网应用开发中,分布式系统已经成为必备的技能之一。了解分布式系统的设计原则和常用的组件,如消息队列、缓存等,以及相关的分布式算法和网络通信协议,如负载均衡、一致性哈希算法、TCP/IP等是必要的。 4. 性能优化:高级工程师应该有一定的系统性能优化能力,能够分析和排查系统性能问题,并能够对系统进行优化和扩展。在面试中,可以谈谈对性能测试工具的使用经验,理解系统的吞吐量、响应时间等指标,并提出相应的优化措施。 5. 项目经验:面试官也会对你的项目经验进行考察,包括你所参与过的项目规模和复杂度,以及你在项目中承担的角色和职责等。你可以准备一些项目案例,描述自己在项目中所做的工作和遇到的挑战,以及如何解决这些问题的过程。 在面试过程中,除了技术方面的问题,面试官往往还会考察你的沟通能力、问题解决能力、团队合作能力等软技能,因此你需要在面试前认真准备,并展示自己的技能和潜力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值