Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit aff4d58

Browse files
增加经验分享文章
1 parent 633eeac commit aff4d58

File tree

8 files changed

+323
-107
lines changed

8 files changed

+323
-107
lines changed

‎README.md‎

Lines changed: 112 additions & 104 deletions
Large diffs are not rendered by default.

‎docs/career-plan/3-years-reflect.md‎

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
## 工作3年半,最近岗位有变动,有点迷茫
2+
3+
最近在大彬的[学习圈](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247492252&idx=1&sn=8fc12e97763e3b994b0dd0e717a4b674&chksm=ce9b1fdaf9ec96cca6c03cb6e7b61156d3226dbb587f81cea27b71be6671b81b537c9b7e9b2d#rd)中,有小伙伴提了一个关于职业规划的和自学方面的问题,挺有有代表性的,跟大家分享一下。
4+
5+
**圈友提问**:
6+
7+
本人是19年毕业至今工作了**3年半**左右,一直在同一个岗位上,近段时间因为公司项目组资金不足被调岗了,新岗位和自己的技术栈**不太匹配**,觉得如果一直变动会影响自己的**职业发展**
8+
9+
这么些年来一直有点**混吃等死**,想在现在开始寻求改变,希望通过学习,让自己有所变化。不过对于学习方式以及学习路线很是**迷茫**,希望大彬老师可以帮忙解惑,非常感谢。
10+
11+
**目前掌握的技术栈**:
12+
13+
有一定的Java基础,对JVM原理,体系结构,垃圾回收机制等有部分了解
14+
15+
熟悉Scala&Spark开发, 了解部署spark server项目及脚本
16+
17+
掌握spring, springCloud微服务架构开发,
18+
19+
了解Elastic search,Mule gateway, Feign等的使用
20+
21+
熟悉Jenkins, Kubernates, PCF, G3等devops部署及调试
22+
23+
熟悉AppDynamic, patrol, LWM等程序监控平台的使用及配置
24+
25+
了解NexusIQ,Checkmarx,sonar等代码质量监控平台的使用及调优
26+
27+
熟悉sqlServer及Mongodb数据库
28+
29+
---
30+
31+
**大彬的回答**:
32+
33+
我一直都是认为,在现在这个就业环境下,"专才"的竞争力是要大于"全才"的,**专注一个方向**,对你的职业发展更为有利。
34+
35+
从你的技术栈来看,相对还是偏"杂"一些,Java、大数据、devops等都有涉及。而且现在还有调岗的可能,我建议可以准备跳槽,**跳出舒适圈**
36+
37+
至于怎么去学习,我建议你到招聘网站看看Java开发3年经验(Java高级开发)都是什么要求,**面向面试学习**,这样学习效果比较好。
38+
39+
比如阿里巴巴和OPPO 3 年左右工作经验的JD,我整理了一下,大概有这些点:
40+
41+
1、JAVA**基础扎实**,理解io、多线程、集合等基础框架,了解JVM原理;(基础必须要掌握好)
42+
43+
2、熟悉分布式系统的设计和应用,熟悉**高并发、分布式**、缓存、消息等机制;能对分布式常用技术进行合理应用,解决问题;(高并发、分布式)
44+
45+
3、对用过的开源框架,能了解到它的**原理**和机制(框架源码)
46+
47+
4、**性能调优**,解决疑难问题的能力;(平时要注意积累这种能力)
48+
49+
基本就是这几个要求,对着JD看看自己哪一块薄弱,平时抽空针对性进行查漏补缺,像高并发分布式这种,可以结合工作项目业务场景去思考。平时有遇到性能调优方面的问题(不一定是自己遇到的,也可以是其他人处理的问题,你可以**主动参与**进去,了解怎么去处理),也要记得**复盘总结**,这些都是宝贵的经验,面试能派上用场。
50+
51+
52+
53+
关于**项目经验**,如果这块有疑问,可以参考下面两篇文章:
54+
55+
你在项目里遇到的最大困难是什么?https://t.zsxq.com/09KAo4zZU
56+
57+
项目经验怎么回答?https://t.zsxq.com/09KejfE2I
58+
59+
60+
61+
---
62+
63+
最后,推荐大家加入我的[学习圈](http://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247492252&idx=1&sn=8fc12e97763e3b994b0dd0e717a4b674&chksm=ce9b1fdaf9ec96cca6c03cb6e7b61156d3226dbb587f81cea27b71be6671b81b537c9b7e9b2d&scene=21#wechat_redirect),目前已经有140多位小伙伴加入了,文末有50元的**优惠券**,**扫描文末二维码**领取优惠券加入。
64+
65+
学习圈提供以下这些**服务**:
66+
67+
1、学习圈内部**知识图谱**,汇总了**优质资源、面试高频问题、大厂面经、踩坑分享**,让你少走一些弯路
68+
69+
2、四个**优质专栏**、Java**面试手册完整版**(包含场景设计、系统设计、分布式、微服务等),持续更新
70+
71+
3、**一对一答疑**,我会尽自己最大努力为你答疑解惑
72+
73+
4、**免费的简历修改、面试指导服务**,绝对赚回门票
74+
75+
5、各个阶段的优质**学习资源**(新手小白到架构师),超值
76+
77+
6、打卡学习,**大学自习室的氛围**,一起蜕变成长
78+
79+
80+
81+
**加入方式**:**扫描二维码**领取优惠券加入(**即将恢复原价**)~
82+
83+
![](http://img.topjavaer.cn/img/星球优惠券-b站.png)
84+

‎docs/career-plan/guoqi-programmer.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
## 在国企做开发,是什么样的体验
2+
13
> 本文已经收录到Github仓库,该仓库包含**计算机基础、Java核心知识点、多线程、JVM、常见框架、分布式、微服务、设计模式、架构**等核心知识点,欢迎star~
24
>
35
> Github地址:https://github.com/Tyson0314/Java-learning
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
## 工作一年想要跳槽,不知道应该怎么准备?
2+
3+
最近在大彬的[学习圈](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247492252&idx=1&sn=8fc12e97763e3b994b0dd0e717a4b674&chksm=ce9b1fdaf9ec96cca6c03cb6e7b61156d3226dbb587f81cea27b71be6671b81b537c9b7e9b2d#rd)中,有小伙伴问我怎么准备跳槽、面试,在这里跟大家分享一下。
4+
5+
**圈友提问**:
6+
7+
先说一下自己**目前的情况**:
8+
9+
大四,秋招进了一家公司(珠海的一家公司),过年后去公司实习。
10+
11+
自己的技能情况:我通过看视频的方式学到了springboot ,中间件有redis,elasticsearch,zookeeper,double......,springcloud只看了一点资料,基本等于没学。
12+
13+
找到工作之后就处于摆烂状态,所以知识点我感觉忘记的差不多了,就连基本的spring注解都有些忘了。之前学习的中间件因为没怎么使用加没有复习也跟没学差不多,但是印象还是有。
14+
15+
我想在明年的秋招跳槽,但是我不知道应该怎么准备,求彬哥指点一二。
16+
17+
最后祝彬哥新年快乐,万事如意!
18+
19+
---
20+
21+
**大彬的回答**:
22+
23+
师弟新年好~
24+
25+
你现在大四,明年跳槽的话,只能参加**社招**了,社招会更加注重你的**实战能力**,所以在项目方面需要花一些功夫。 如果你可以联系上你现在的导师或者Leader的话,可以先问下项目组主要的技术栈是哪些,自己提前自学一下。进入公司实习或者正式工作的时候,多花时间去梳理你负责的项目的**项目架构、业务逻辑、设计上有哪些亮点**等,这些都是面试官会问的,要提前准备好。
26+
27+
很多时候面试官会结合你的项目去考察你对知识点的掌握情况,所以还是要把项目"**吃透**"。
28+
29+
另外,算法题和八股文也要准备好,如果想进中大厂的话,建议力扣刷个300道左右(高频题),按标签去刷,做好总结。八股文可以看看**[学习圈](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247492252&idx=1&sn=8fc12e97763e3b994b0dd0e717a4b674&chksm=ce9b1fdaf9ec96cca6c03cb6e7b61156d3226dbb587f81cea27b71be6671b81b537c9b7e9b2d#rd)内部的面试手册**(在置顶帖),这本面试手册是我花了挺长时间整理的,应该比较全面了。
30+
31+
32+
33+
总结一下,就是**项目**+**算法**(中大厂会考察,小厂考察的比较少)+**八股文**
34+
35+
36+
37+
最后,附上一年工作经验需要掌握的技能(可以参考一下):
38+
39+
1、Java基础扎实,理解IQ、线程、集合等基础框架,对JVM原理有一定的了解;
40+
41+
2、熟悉使用MySQL或者Oracle等关系型数据库;
42+
43+
3、熟悉使用主流框架(SpringBoot、Mybatis、Springmvc、Zookeeper、Dubbo等);
44+
45+
4、熟悉Redis缓存、ElasticSearch等开发经验;
46+
47+
5、具备定位解决生产环境问题的能力;
48+
49+
50+
51+
---
52+
53+
最后,推荐大家加入我的[学习圈](http://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247492252&idx=1&sn=8fc12e97763e3b994b0dd0e717a4b674&chksm=ce9b1fdaf9ec96cca6c03cb6e7b61156d3226dbb587f81cea27b71be6671b81b537c9b7e9b2d&scene=21#wechat_redirect),目前已经有140多位小伙伴加入了,文末有50元的**优惠券**,**扫描文末二维码**领取优惠券加入。
54+
55+
学习圈提供以下这些**服务**:
56+
57+
1、学习圈内部**知识图谱**,汇总了**优质资源、面试高频问题、大厂面经、踩坑分享**,让你少走一些弯路
58+
59+
2、四个**优质专栏**、Java**面试手册完整版**(包含场景设计、系统设计、分布式、微服务等),持续更新
60+
61+
3、**一对一答疑**,我会尽自己最大努力为你答疑解惑
62+
63+
4、**免费的简历修改、面试指导服务**,绝对赚回门票
64+
65+
5、各个阶段的优质**学习资源**(新手小白到架构师),超值
66+
67+
6、打卡学习,**大学自习室的氛围**,一起蜕变成长
68+
69+
70+
71+
**加入方式**:**扫描二维码**领取优惠券加入(**即将恢复原价**)~
72+
73+
![](http://img.topjavaer.cn/img/星球优惠券-b站.png)

‎docs/career-plan/java-or-bigdata.md‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
## 24届校招,Java开发和大数据开发怎么选
2+
3+
最近在大彬的[学习圈](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247492252&idx=1&sn=8fc12e97763e3b994b0dd0e717a4b674&chksm=ce9b1fdaf9ec96cca6c03cb6e7b61156d3226dbb587f81cea27b71be6671b81b537c9b7e9b2d#rd)中,有小伙伴提了一个关于方向选择的问题:**24届校招,Java开发和大数据开发怎么选**?
4+
5+
**原问题如下**:
6+
7+
想请教一下大彬,对于**java开发和大数据开发**的明年秋招情况的预测。java岗位多卷度也高,每家公司基本都有相关的职位,大数据开发的话培训班比岗位多,只有大公司和数据公司会有这类岗位。24年秋招的话**选择哪个方向**会比较合适呢?
8+
9+
---
10+
11+
**大彬的回答**:
12+
13+
建议选大数据吧。就这几年校招来看,大数据岗位拿offer的**难度**相比Java还是比较小一些的。而且距离24年秋招还有一年多时间,转大数据完全来得及,而且有了Java基础,再来学大数据,应该会比较快入门。
14+
15+
再说下大数据和后端的**差异**。大数据门槛比Java高,除了熟悉数据库的操作之外,还要学习大数据整个生态,需要会分布式、数仓、数据分析统计等知识。因为大数据的学习门槛比 Java 高,所以市场上培训大数据的相比Java会少一些,**竞争也相对小**,没有Java那么卷。
16+
17+
另外,大数据**薪资**总体会比Java开发高一些(同一家公司同一级别,普通开发岗比大数据开发薪资会少一点),这也是大数据方向的一个优势。
18+
19+
不过呢,小点的公司,可能没有大数据的需求,毕竟业务量不大(小公司通常也不建议去,坑多)。
20+
21+
综上所述,还是建议你选择**大数据**方向。
22+
23+
24+
25+
---
26+
27+
最后,推荐大家加入我的[学习圈](http://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247492252&idx=1&sn=8fc12e97763e3b994b0dd0e717a4b674&chksm=ce9b1fdaf9ec96cca6c03cb6e7b61156d3226dbb587f81cea27b71be6671b81b537c9b7e9b2d&scene=21#wechat_redirect),目前已经有140多位小伙伴加入了,文末有50元的**优惠券**,**扫描文末二维码**领取优惠券加入。
28+
29+
学习圈提供以下这些**服务**:
30+
31+
1、学习圈内部**知识图谱**,汇总了**优质资源、面试高频问题、大厂面经、踩坑分享**,让你少走一些弯路
32+
33+
2、四个**优质专栏**、Java**面试手册完整版**(包含场景设计、系统设计、分布式、微服务等),持续更新
34+
35+
3、**一对一答疑**,我会尽自己最大努力为你答疑解惑
36+
37+
4、**免费的简历修改、面试指导服务**,绝对赚回门票
38+
39+
5、各个阶段的优质**学习资源**(新手小白到架构师),超值
40+
41+
6、打卡学习,**大学自习室的氛围**,一起蜕变成长
42+
43+
44+
45+
**加入方式**:**扫描二维码**领取优惠券加入(**即将恢复原价**)~
46+
47+
![](http://img.topjavaer.cn/img/星球优惠券-b站.png)

‎docs/java/basic/reflect-affect-permance.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ private long getReflectCallFieldCostTime(int count) {
203203

204204
沿用上面的测试方法,测试结果如下:
205205

206-
![](C:\Users\Tyson\Desktop\img0103円\反射影响性能2.png)
206+
![](http://img.topjavaer.cn/img/反射影响性能2.png)
207207

208208
修改`getReflectCallMethodCostTime``getReflectCallFieldCostTime`方法的代码如下,对`getMethod``getDeclaredField`进行测试:
209209

‎docs/java/basic/serialization.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131

3232
**序列化:**把对象转化为可传输的字节序列过程
3333

34-
![](C:\Users\Tyson\Desktop\img0103円\序列化的理解1.png)
34+
![](http://img.topjavaer.cn/img/序列化的理解1.png)
3535

3636
**反序列化:把字节序列还原为对象的过程**
3737

38-
![](C:\Users\Tyson\Desktop\img0103円\序列化的理解2.png)
38+
![](http://img.topjavaer.cn/img/序列化的理解2.png)
3939

4040

4141

‎docs/java/java-basic.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,8 @@ equals与hashcode的关系:
791791

792792
hashcode方法主要是用来**提升对象比较的效率**,先进行hashcode()的比较,如果不相同,那就不必在进行equals的比较,这样就大大减少了equals比较的次数,当比较对象的数量很大的时候能提升效率。
793793

794+
## 为什么重写 equals 时一定要重写 hashCode?
795+
794796
之所以重写`equals()`要重写`hashcode()`,是为了保证`equals()`方法返回true的情况下hashcode值也要一致,如果重写了`equals()`没有重写`hashcode()`,就会出现两个对象相等但`hashcode()`不相等的情况。这样,当用其中的一个对象作为键保存到hashMap、hashTable或hashSet中,再以另一个对象作为键值去查找他们的时候,则会查找不到。
795797

796798
## Java创建对象有几种方式?

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /