请问一年多 Java 后台开发经验,需要学完哪些东西可以找到一份靠谱的开发工作?

2018-09-21 15:05:03 +08:00
 ekoeko

各位大佬好。

我现在差不多有一年多开发经验,一直在一家小公司做管理系统类的后台开发,公司在 Java 后端这块几乎没有什么大佬,自我感觉自己算是技术最好的了。学习基本全是靠自学。但是公司不算忙,有很多时间可以学习,但是我感觉自己就像井底之蛙,靠自学是有局限性的。所以特别想去一家正规的 Java 后台技术背景比较强的公司,前段时间面了大搜车、有赞,但是都挂了,也算是意料只中了。问了很多 jvm 和并发还有网络的问题,工作中用的少,自己研究的也不多,自己答得很勉强,后来自己在看《深入理解 jvm 虚拟机》和《 Java 并发实战》,差不多看了快一半了,收获很多,另一方面在 leetcode 上刷算法题,一天刷两道。这是我的博客 https://www.cnblogs.com/ekoeko/,会把题解和读书笔记放上去。

除了这些,我发现面试的时候很多公司都喜欢问分布式的东西,比如 zookeeper、kafka、spring cloud 等等的,但是这些东西我在自己的项目中完全用不到,请问各位大佬我该怎么学习这些东西?如果我把 jvm 和并发实战看完,能找到一份靠谱的工作吗?恳请各位大佬给出建议。

7233 次点击
所在节点    程序员
45 条回复
sampeng
2018-09-21 17:58:08 +08:00
还一句。。。忘了说。看的那些书也是白看。因为你用不到。。。
luozhiyun
2018-09-21 18:00:59 +08:00
去招聘网上看看不就知道别人要求啥了
zhangkunkyle
2018-09-21 18:08:42 +08:00
看完感觉压力好大,python web 正在学 java web,想转 java
ekoeko
2018-09-21 18:44:41 +08:00
@sampeng 大佬,感觉你说的太对了,谢谢!!
ekoeko
2018-09-21 18:45:21 +08:00
@sampeng 不过后面一句不敢苟同
zhangalong69
2018-09-21 18:57:10 +08:00
数据结构,java 底层,多线程,并发类的源码,spring 源码,mvc 框架原理,数据库,jvm 虚拟机原理,redis 缓存,Linux 命令
ekoeko
2018-09-21 19:16:06 +08:00
@zhangalong69 是的,感觉差不多就是这些,感谢大佬。
shijingshijing
2018-09-21 19:29:47 +08:00
@zhangalong69 我觉得光 Spring 那一堆东西就已经很多了,要深入把这一堆撸清楚,还得花不少时间。
Raisu
2018-09-21 19:31:46 +08:00
半年经验的瑟瑟发抖。。。
sampeng
2018-09-21 19:41:19 +08:00
@ekoeko 书上的东西。不用。半年-1 年全忘干净。就跟读书是一个道理。如果书只是读了一遍,全部理解了。如果没有大量的练习和考试。第二个学期肯定不记得上个学期看的书上的大部分知识点

找一个做后端的。随便拎一个就要了解 redis 缓存,linux 命令。spring 框架的深入了解。如果接口请求量大,马上要去了解 jvm 虚拟机原理,因为性能优化要这个知识点。再请求量大一点就是需要分布式,吧啦吧吧吧啦了。。都是一步一步来的。。。就算你全部找了书来看。平常不用,不用 1 年全忘干净。。。
sampeng
2018-09-21 19:44:12 +08:00
@zhangalong69 我个人认为框架没必要真正儿八经去细看。因为太多细节了,不一定记得住。但每个细节是处理特定的需求的。如果没这个需求,你也无法理解为什么要如此处理。难道你要去背一堆接口和对象名?。。用到哪,直接翻源码或者网上找资料去深入理解。不要太依赖接口文档。。跳过去看源码。。这样深入可能效果更好。

当然,有时间看源码学习是有必要的。
iluhcm
2018-09-21 20:05:37 +08:00
为什么问分布式的东西?因为大厂怎么可能把服务部署一台服务器上。现在微服务这么流行,大厂都在用。为了解耦,提升吞吐量,提高 QPS,TPS,
同时也提供服务降级,熔断等提升系统鲁棒性的功能。
d18
2018-09-21 20:56:13 +08:00
@iluhcm 没分布式经验进不了大厂,进不了大厂就没有分布式经验。这,这道题无解。
jrtzxh020
2018-09-21 20:58:21 +08:00
我公司的 java 一年多,写业务都有压力。。
kevinhwang
2018-09-21 21:37:11 +08:00
我来打击楼主,没分布式经验的 java 后端没有任何优势。
瓶颈就在那里。
分布式不等于高并发,还有一个原因就是解耦模块。你一个单体应用最多才几个开发人员?
还有说看书分布式没用的,其实是基础太烂,没有理解分布式其实是跟网络做斗争。如何保证事务一致性,如何解决并发,如何限流等等的问题,都是可以自己模拟的。
earthyan
2018-09-21 21:38:41 +08:00
还是要注重基础的积累,如果分布式经验在平常工作中无处积累,可以多刷刷一些牛人的博客,
kevinhwang
2018-09-21 21:41:44 +08:00
说看源码用处不大的简直害人。源码才是最有用的,juc 的包源码看了吗?想过为什么要这么实现的吗?
dubbo 的源码看了吗?为什么要这么设计?里面包含了哪些设计模式?
看源码光看是没用的,只有设计思考测试多了才知道为什么要这么设计。这才是看源码的意图。
ab11800222
2018-09-21 21:55:22 +08:00
跟楼主同一个疑问,我觉得一个痛点是工作有点脱离面试,可能是我太菜的原因,也是在公司做着单机的 web 应用,基本不需要写分布式的代码,并发就更不用说了,synchronize 关键字都没见用过的,这样的环境下,只看书来学习知识效率真的很低,要不了多久就忘,等于白看。
crossoverJie
2018-09-22 00:23:51 +08:00
simonliu2018
2018-09-22 08:55:59 +08:00
@ekoeko 如果想速成,可以刷刷面经。如果想打好基础,那就把计算机系的课程系统看看把。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/491547

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX