先从已经有两年左右开发经验的工程师角度看:我们来看一下阿里官网支付宝Java高级工程师的招聘要求,从下面的招聘信息可以看出,出去Java基础/集合/多线程这些,这些能力格外重要:
- 底层知识比如JVM:不只是懂理论更是懂实操。
- 面向对象的编程能力:我理解这个不仅包括"面向对象编程",还有一些软件设计原则。
- 框架能力:不只是使用那么简单,更要懂原理和机制!搞懂原理和机制的基础是要学会看源码。
- 分布式系统开发能力:缓存、消息队列等等都要掌握,关键是还要能够使用这些技术解决实际问题而不是纸上谈兵。
- 不错的sense:喜欢尝试新技术,追求编写优雅的代码等等。
再从应届生的角度来看:我们还是看阿里巴巴官网相关的应届生Java工程师招聘岗位的相关要求。
结合BAT等大厂招聘官网对于Java后端方向/后端方向的应届实习生的要求下面几点也提升你的个人竞争力:
- 参加过竞赛(含金量超高的是ACM);
- 对数据结构和算法非常熟悉;
- 参加过实际项目;
- 熟悉某种脚本语言;
- 熟悉如何优化Java代码,有写出质量更高的代码意识;
- 熟悉分布式相关的知识尤其是理论知识;
- 熟悉自己所用矿建的底层知识 如:Spring ;
- 有高并发开发的经验;
- 有大数据开发的经验;
从来到大学以后,我阅历非常深的老师经常就会告诫我们:“一定要有自己的一门特长,不管是技术还是其他能力”。我觉得这句话非常有道理!
刚刚也提到要有一门特长,所以在这里再强调一点:公司不需要你什么都会,但是在某一方面你一定要有过于常人的优点,别人不能解决的问题,你能解决。换句话说就是我们不需要去掌握每一门技术,而是要深入去研究某一门技术,对于其他技术我们可以简单了解。