Soft_Job 板


LINE

※ 引述《empireisme (empireisme)》之铭言: : 文章可能很长,先说一下 : 一 个人背景和工作内容 : 我个人的背景是年资一年的Java後端工程师,目前在电信业服务(非中华电信),学历为清 : 交商管硕士(非资管) : 年薪大概65-75万(因为是年终占比太高所以不确定,月薪不到45K) : 我的工作内容主要是Spring Boot开发,使用的技术框架主要是 : swagger,hibernate,jdbc template,spring security等等 : 部署方面就是打包成war档案,然後丢到linux主机的tomcat资料夹里面而已.... : 後来公司导入jenkins之後,大概也不需要管部署 : 我的工作内容真的主要就是CRUD,而且还是给内部业务的的CRUD : 我自己有感受到,我是那种要工作中有用到,才会体会比较深的类型 : 比如说我学生时代一直不太会用left join 现在终於比较熟 : 不知道sql指令要命中index,要下explain去检查 : 以前不知道学生时代那些继承的动物例子有甚麽用,後来工作後看到前辈去用basedao : 里面包了很多常见的功能像是paging之类的,才发现继承的好用 : 我清楚意识到,因为我做的只有CRUD而且还不是给很多使用者的CRUD所以 : 非常害怕落入所谓的工作十年可是可能技能跟工作两年的人一样的状况 : 版上的大大才多次提到类似的概念 : 原文问错问题了,不管你学什麽,学多少技术种类,都不会影响你的薪水。学到什麽程度 : ,找什麽工作,才会影响薪水。 : 之前看了Drtech大的文章 : https://reurl.cc/Yvx344 : 所以我的问题如下: : 1. Java Backend要学多深 ? : 之前看了本版的系列文章, : https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1527864627.A.626.html : 还有几篇 java 後端的面试心得 : 都会问到 jvm 调优,或是redis kafka相关的问题 : 但是我目前的公司应该是不会用到 : 2. 要找甚麽产业,哪些公司 ? : 为了避免这篇文章太像伸手牌,所以下面会放入我觉得可能可以的产业和我自己的网路上 : 发现的观察 : # 二 做过的努力 : 1. : 想说即使公司没有大流量场景来训练,然後大流量场景可能又和多执行绪有关 : 所以就想说去udemy上买相关课程 : ![](https://i.imgur.com/YaBiwGy.png) : 目前大概看了三分之一,但还是有点雾煞煞@@ : 做过的事情是找了几个网路上的范例,比较有开多执行绪跟没开多执行绪 : 统计资料夹大小的速度差别 : 2. 基本的资料结构 : 去geekforgeek还有买书练习java资料结构,主要以leetcode explore为主 : 书我目前是看 数据结构与算法之美 是简体书,好处是书中的code都是用java还不错 : 目前大概是排序算法 练过快速排序,合并排序 : linkedlist知道基本的时间复杂度,还有删改操作 : 还有一些经典题目,例如反转Linkedlist 合并两个linkedlist,环的检测等等 : 目前是感觉对於code的掌握度有变高,脑袋也有变灵活点,但可能因为我的工作性质,所 : 以还没感受到资料结构的威力,我目前的工作性质大概只会用到两种资料结构ArrayList : 还有HashMap : 3. 看对岸的面试题 : 对岸有很多JAVA面试题的影片,就是诸葛老师他们,睡前会看个一两集, : 蛮喜欢看一些像是mysql优化的 : ![](https://i.imgur.com/Cf0uon0.png) : 或是对岸的图零学院,他有一系列的刷题套路可以看 : # 三 觉得还不错的产业 电商产业和租车产业 : 看了电商产业的职位,有的会和金流有关 : 有的和物流有关 : 有的则是订单相关 : 订单部分好像又可以很复杂 : 之前看到有版友提过 : - 订单快照功能,保留当时的商品资讯 e.g. 价钱,规格等 : - 是否需要跨商店结帐? : - 出货时需不需要做到分批出货? : - 退款时需不需要做到只退款部分商品? : - 出报表支援商业决策,譬如说过去一个月,哪间商店营业额最高? 哪些商品最热卖? : 像我就对这些问题的资料库设计没甚麽想法,我可能就停留在有一对多,多对多,然後要 : 做正规化而已 : ,比如说要知道过去一个月哪间商店营业额最高,应该就是直接下sql指令就好了吧? : 当然这是我最初浅的想法 : 然後电商产业好像会有一些双十一的的高流量场景? : 国内JAVA为主的电商,我知道的有 : momo 跟远传friday,但後者好像有大裁员,而且cakeresume上面显示的薪水,好像也是 : 45K到70K的样子,另外momo虽然非常赚钱,但是网路上查到的java工程师薪水好像也普普 : 另外我最近看到格上租车的职缺描述,里面提到会设计高流量後端服务,还有微服务设计 : ![](https://i.imgur.com/bwjDkfo.png) : 但是其实我没有接触过租车产业,不确定是不是如同cakeresume上面说的那样 : # 四 台湾系统厂 : 之前看台湾系统厂的中位数薪资,其实也不低,当然是比半导体低,但是也有一定水准 : 但是我实际去找 asus 或是 acer的JAVA工程师薪水,好像也是普普 : ![](https://i.imgur.com/VW1hS1o.png) : # 五 外商 : ![](https://i.imgur.com/Up3x6gP.png) : 之前看到太阳鸟在徵才,也不太确定是要学到甚麽程度才能拿到比较高的薪水 : # 六 我的学习困境 : 透过专案的训练,开始学会用swag方便测试API,开始学会Spring Security懂得如何基於 : 脚色给予适当的URL保护,原本没学过jdbc template,也慢慢学会了 : 但是外界常用的redis kafka 或是多执行绪技术我们公司目前应该是不会用到 : # 七 结论 : 上面好像写得有点太发散,所以我应该找甚麽产业的甚麽部门? : 电商吗,还是一些乙方,因为乙方我看过有些公司好像也有月薪七八万 : Java 後端应该要能学到甚麽程度,能解决甚麽样的问题? 才能有一百万左右的薪水? : 我自己的想法可能是leetcode要能够解掉easy : mysql 优化要能够说出除了index命中以外 : 然後是不是要自己想办法学会Spring cloud 这种微服务框架? : 甚至还要会负载均衡 ? springboot自带tomcat, build成jar自己可以直接启动成一个微服务, 打包成war再放进tomcat里这是以前jsp servlet那个石器时代的作法, 你们用springboot却这样部署, 很大机率你们可能没有真正了解springboot究竟要解决怎样的问题 你现在看了前辈的code觉得继承好用 但是你不明白继承不是一个好的pattern 很容易让专案过度复杂 用compose的方式往往会更好 golang就没有Class没有继承只保留interface 你有探讨过这中间的原因吗 jdbc template只是spring提供的一种template jpaRepository也可以做一样的事 假设只学会使用这些而没有真正明白和资料库沟通时需要注意的细节 (比如在回圈中去query或insert/update是一种糟糕的作法) 那麽你的实力并没有变强 碰到资料库瓶颈你很可能也找不到问题点 你没有multithreading的实战经验 很多高薪的公司的业务场景你无法handle 你也无法理解golang为何能够更好的解决高并发问题 我相信你也不了解jvm的细节 或是spring底层的实作 这些都是成为厉害java工程师必经的路 高薪要看产业看公司没错 但那不代表你在高薪产业就不需要紮实的能力 我的观察是 你的能力还很浅 眼睛却一直盯着钱 这样你永远无法成为真正厉害的工程师 我共事过的一些很强的工程师 光看multithreading code就可以看出可能的问题 碰到没有清楚的error message的瓶颈时 也能够短时间找到问题点 pm给出大的需求 能够清楚拆分成小的ticket分给下面工程师去做 时程估计合理 架构设计可靠 程式码优雅高效 你需要做的是看看好公司都开出怎样的需求 自学後去面试 被打枪再学再面试 想办法进到这些公司去实战这些技术 是金子到哪都会发光 你是大神别人只会捧着钞票来求你 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 58.182.198.67 (新加坡)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1657966457.A.9AD.html
1F:推 kokona554: 正想建议可以先理解java是怎麽跑起来就看到这篇,中肯 07/16 18:23
2F:推 empireisme: jpa reposiotory这个我是知道的,但是多执行绪目前就 07/16 18:56
3F:→ empireisme: 只有看线上课程 07/16 18:56
4F:→ empireisme: 不太有机会在工作中用到,看了一些高薪的工作要的技 07/16 18:57
5F:→ empireisme: 能,很多就是说希望会多执行绪,或是高流量,但又希 07/16 18:57
6F:→ empireisme: 望有实战经验 07/16 18:57
7F:→ empireisme: 对,我们公司包成war这还真的是,我第一份工作也是jar 07/16 18:58
8F:→ empireisme: 去部署的没错 07/16 18:58
9F:→ empireisme: 请问有推荐的自学多执行绪的方式吗? 07/16 18:59
10F:推 empireisme: jvm调优的话,我目前是看到对岸有一个相关课程 07/16 19:01
11F:→ empireisme: https://i.imgur.com/673vNFi.jpg 07/16 19:01
12F:推 BigCockman: 继承也不是全然不好吧 07/16 19:02
13F:→ Uzak: 当然不是全然不好 只是有更好的方式 07/16 19:05
14F:→ Uzak: @empireisme 可以先看看"深入理解Java虚拟机"这类的书 07/16 19:06
15F:→ Uzak: 不一定要直接买课程 07/16 19:06
16F:→ empireisme: https://i.imgur.com/TFWumBM.jpg 07/16 19:08
17F:→ empireisme: 像是这种工作,我看他的叙述也只有提到要会Spring clo 07/16 19:09
18F:→ empireisme: ud而已 07/16 19:09
19F:→ empireisme: uzak 这些课不用钱拉,都是直接看而已,但不知道我的 07/16 19:10
20F:→ empireisme: 顺序应该是啥? 07/16 19:10
21F:→ empireisme: 事先去学多执行绪吗?还是jvm?公司没有场景的话,怎 07/16 19:10
22F:→ empireisme: 麽验证自己学的多执行绪 07/16 19:10
23F:→ empireisme: 多执行绪我自己也就做一个简单的去统计资料夹大小, 07/16 19:11
24F:→ empireisme: 网路上还有一些下载开多执行绪的范例,网路上则是有一 07/16 19:11
25F:→ empireisme: 些死锁相关的面试 07/16 19:11
26F:→ empireisme: 不太知道怎麽学多执行绪,还是说先补资料结构比较重要 07/16 19:12
你要先大致上了解jvm的架构,你才会知道你的code在那些地方 是threadsafe那些地方不是 学习路径大概会是这样: 从原始方法new一个Thread开始 -> 发现没有效率 -> 学习thread pool -> 发现java提供你很多工具例如Executor大家族 -> 学threadsafe相关的Collection例如ConcurrentHashMap -> 学到CPU从记忆体读资料的知识 -> 明白Volatile关键字 -> atomic相关类别 -> 等等等 没有先後顺序,反正都要学 想学啥就学啥 你没事就google thread 相关的东西 就会发现很多东西学 threading的重点除了速度,另一个就是计算的正确性 所以才需要锁 怎样锁 哪时锁 用甚麽东西锁 怎样会死锁 怎样避免死锁 怎样可以不要使用锁又可以正确 这里又一堆知识 你可以自己研究 验证就是自己写点简单东西跑看看结果 毕竟自己一个人写不出大东西 还是要工作中实战 面试需要经验 你就拿你自己实验的东西出来讲 你的知识够 对方没理由打你枪
27F:→ empireisme: 呢 07/16 19:12
28F:推 Hsins: 要对 JVM 熟悉了你才能把 Java 里的多执行绪弄明白 07/16 19:33
29F:推 kop14922000: 请教一下那现在sprimgboot的部署应该是什麽方式?我 07/16 19:34
30F:→ kop14922000: 公司现在的做法也是包成war档丢到UAT的tomcat资料夹 07/16 19:34
31F:→ kop14922000: 里 07/16 19:34
springboot的dependency就有timcat springboot本身就有一只Class有一个annotation 叫做@SpringBootApplication 直接启动这支程式 整个springboot就跑起来了 如果不明白为何spring要推出springboot 为何要改成这样 google一下springboot设计的初衷和时空背景 就会明白了
32F:→ Hsins: 你会有这些问题,应该先回去补 OS 基础。我想这是为什麽 U 07/16 19:36
33F:→ Hsins: 大说眼睛只盯着钱,看起来因为非本科的关系,所以 DSA、OS 07/16 19:36
34F:→ Hsins: 、CA、CO 都还不明白,就急着追框架追应用 07/16 19:36
※ 编辑: Uzak (58.182.198.67 新加坡), 07/16/2022 19:39:49
35F:推 empireisme: CA CO是什麽的缩写阿,请问 07/16 19:41
36F:→ empireisme: 谢谢u大回答,那看起来我那个thread的课程应该都有提 07/16 19:42
37F:→ empireisme: 到 07/16 19:42
※ 编辑: Uzak (58.182.198.67 新加坡), 07/16/2022 19:45:12
38F:→ empireisme: https://i.imgur.com/JfBP4Kx.jpg 07/16 19:45
39F:→ empireisme: https://i.imgur.com/NwWgJq0.jpg 07/16 19:45
40F:→ empireisme: @Hsin所以可能要找大学os的课程搭配实作的线上课程看 07/16 19:46
41F:→ empireisme: 这样吗? 07/16 19:46
42F:推 Hsins: 计算机结构和计算机组织,但其实把作业系统跟计算机网路掌 07/16 19:48
43F:→ Hsins: 握好,对你的帮助就会很大了 07/16 19:48
44F:→ empireisme: 作业系统我应该会去看陈世杰老师的课,计算机网路的 07/16 19:51
45F:→ empireisme: 话就真的没概念了,只知道什麽三次握手,还有七层网 07/16 19:51
46F:→ empireisme: 路 07/16 19:51
47F:推 wulouise: 继承好,只是也更好写烂,太多不该继承的用继承 07/16 19:55
48F:推 sb8888: 那你应该还要在看细一点 最好可以把http协议如何透过硬体 07/16 19:55
49F:→ sb8888: 到软体的流程搞懂 封包的过程之类的 为什麽会丢包 编码的 07/16 19:55
50F:→ sb8888: 格式有其意义要了解一下 我也一年半而已一起努力 07/16 19:55
51F:推 sb8888: 可以去了解一下滑动窗口之类的 07/16 20:01
52F:推 Booker5566: 大大关於 compose 有相关关键字或推荐 YT/udemy 的课 07/16 20:55
53F:→ Booker5566: 程吗 07/16 20:55
54F:推 lovdkkkk: 推, 80% 是我想讲的, 能力感觉还不到扎实本科毕业生 07/16 21:23
55F:→ lovdkkkk: 然後建议到 104 看板上大家推的公司开的缺的要求去练 07/16 21:23
56F:→ x000032001: Composition over inheritance 07/16 21:52
57F:推 SHANGOYANYI: 用springboot开发其实不等於系统有改成微服务 所以 07/16 22:18
58F:→ SHANGOYANYI: 包成war也不是什麽太奇怪的事 07/16 22:18
59F:推 viper9709: 这篇写的不错 07/16 23:34
60F:→ surprised128: Tomcat部分,我猜原来的project 可能把他exclude 了 07/17 00:28
61F:→ surprised128: ,不然照理说会有冲突才对 07/17 00:28
62F:推 rereterry: 推这篇的讨论,其实有时对很多人,大概真的是连关键字 07/17 00:52
63F:→ rereterry: 都缺乏有效的方式发现,需要其他人的力量把雾拨开,剩 07/17 00:52
64F:→ rereterry: 下的就可以自己步入正规了 07/17 00:52
65F:→ hegemon: spring boot目前建议是改用undertow, 再来对於微服务来说 07/17 01:11
66F:→ hegemon: ,spring boot 还太肥,应该要去看看quarkus或是micronau 07/17 01:11
67F:→ hegemon: t. 要不然就是上spring-native 07/17 01:11
68F:→ KY1998: 多执行绪你要快速入门直接看B站juc并发相关影片,免费 07/17 03:09
69F:推 JustinHere: 之前整理的多执行绪 https://bit.ly/3cl6Ajz 07/17 17:44
70F:推 eopXD: 推 07/18 00:09
71F:推 shaomi: !!楼楼上本人? 07/18 00:30
72F:推 hakosaki: 推良葛葛 07/18 08:58
73F:→ hobnob: 大推这篇的态度 07/18 16:01
74F:推 xrururururu: 不觉得继承全部不好吧 一直说golang很好也很怪 07/19 21:45







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP