干Java这一行,应该怎样提升自己?

前段时间,字节跳动在阿里巴巴的大本营杭州悄悄的建立一个研发中心,最近在疯狂招人。

相信最近一段时间,杭州的很多的互联网公司的开发人员都接到过猎头的电话。据了解,字节跳动杭州研发中心主要负责字节跳动新增业务板块的研发,以及研发成果和产品的就地产业转化。

近期我有一个朋友接受了邀请过去面试了,回来后他有些话想要和Java开发说的。

1、要看源码

很多大厂都喜欢招看过源码的程序员,很多面试过程中都会深入的问一些源码级别的问题,比如Spring、Dubbo等等这些。

其实,并不是说看过源码就代表一个人有多强,只是通过一个人对源码的了解程度,可以看出一个人的技术热情以及钻研能力。正是因为源码比较难看,也比较难坚持,所以看过很多源码的人自然能够脱颖而出。

至于看什么,其实并没有特别固定的,很多东西都可以,比如JDK、Junit、开源项目、Spring全家桶、Dubbo、Redis还有就是Mysql、Hotspot等,无论是什么,只要潜下心来看进去就行。

2、要有实战经验

很多大厂都喜欢问一下实战经验,比如有没有什么性能调优的经验、有没有解决过什么疑难问题的经验等等。

之所以问这些,是希望招到一个不仅仅会写CRUD,而且能够进行优化和解决问题的人。这两点其实很重要的,因为CRUD很多人都会写,但是真正遇到性能问题、一致性问题、死锁问题等等的时候,如果开发人员束手无策,那后果还是很严重的。

还有的就是比较看重分布式经验、高并发场景的开发经验等。这一点是因为很多大厂有很丰富的分布式、高并发场景,一个有相关背景的人可以快速上手,避免太长时间的过度,也避免遇到类似问题的时候惊慌失措。

3、要懂原理

大厂面试官最喜欢问的几个问题:实在使用的XXX你了解原理吗?有没有竞品?你用的这个和竞品之间对比有什么优势? 各自的优缺点是什么?

其实,任何的技术选型没有最完美的,只有最合适的的。面试官之所以问这些问题,是希望考察一个人是不是有思辨思维,是不是可以主导一些技术选型,而不是被动的接受。

而且很多时候,了解一些开源的框架、中间件的原理的情况下,才能更好的使用,才能把这些工具的能力发挥到最大,也才能遇到问题的时候有计可施。
 

如果你想要系统性的学习,可以参考以下思维导图:

以上,就是给Java程序员的一些建议,希望对大家有帮助。

原文地址:https://www.cnblogs.com/Soy-technology/p/11598281.html