迫于面试要求 Go,请教下各位 Javaer 是否有必要学习 Go,未来职场收益如何?

2021-05-08 10:11:27 +08:00
 iceteacover

本人 Java 工程师,最近换工作,碰到字节和 B 站的后端岗位要求用 Go 。想问问各位 Java 或者 Go 工程师,现在是否有必要去学习 Go,未来职场收益如何?或者说 Go 会不会替代 Java,如果有 Java 转 Go 经验的大佬来谈一谈更好。

7929 次点击
所在节点    程序员
68 条回复
whitehack
2021-05-08 10:14:59 +08:00
不会替代 java. 学了没坏处, 职场收益肯定是+++ .现在 go 的应用也比较广泛了

而且基础很简单. 你学一下就知道了
whahuzhihao
2021-05-08 10:15:21 +08:00
如果是为了应对面试,不需要特意准备。面试官可能 java 八股文比你还熟。
hwdef
2021-05-08 10:15:40 +08:00
云,容器,会抛弃 java 。
会 java 的人学 go 也就几天吧,学学也没什么。。
e583409
2021-05-08 10:16:07 +08:00
有这个功夫 好好刷题不好吗 笔试不刷题都进不了二面
x940727
2021-05-08 10:17:15 +08:00
@hwdef GraalVM 不是发展的挺快的吗?为什么云和容器会抛弃 Java ?还是你觉得 Java 真就比别的语言缺了云原生的大神?
Mohanson
2021-05-08 10:17:54 +08:00
战斗开始!
sherlockwhite
2021-05-08 10:36:25 +08:00
战斗开始!
zppass
2021-05-08 10:39:56 +08:00
战斗开始!
hwdef
2021-05-08 10:44:00 +08:00
@x940727 生态问题,,,就像 go 没办法掺和 java 那套东西一样,
linvon
2021-05-08 10:48:31 +08:00
Java 不会替代 Go,Go 也不会替代 Java,在他们各自的优势场景他们都有无可替代的地位。只不过当前看来 Go 的学习成本比 Java 低,而工程性价比又高于 php 、c++一众,因此会有很多创业公司或非 Java 系大厂逐步选择迁移到 Go,而原本的 Java 系公司我相信还是会坚持 Java 路线
angryfish
2021-05-08 10:49:09 +08:00
go 的最终形态,将会极度像 java
zjsxwc
2021-05-08 10:58:43 +08:00
go 项目常见例子:
每个子项目或者说子模块都是一个 main.go ,里面全是 gorm 写业务代码,然后通过 http 或者 rpc 提供对外或对内接口,部署时就是把每个模块都编译成一个可执行文件丢上去执行就行了,特别简单。

最多在最外面套个壳转发,

而前端或者说客户端自成项目与 go 无关。
Rwing
2021-05-08 11:09:32 +08:00
其实没啥必要,go 的火热完全是国人吵起来的,世界范围内 go 并不热
Rwing
2021-05-08 11:10:46 +08:00
再者,go 现在用来写业务很痛苦,并不一定比其他语言的发开效率高
iceteacover
2021-05-08 11:20:29 +08:00
@whahuzhihao 的确,面了一个字节的 prek,八股味很浓,实际根本用不到。
iceteacover
2021-05-08 11:23:51 +08:00
@hwdef 用容器做开发环境体验差,k8s 远程调试一下需要本地 服务+容器 + telepresence 。。。
用了段时间感觉不好,写个脚本打包镜像+telepresence 启动才好一点,拖慢开发,提高调试成本。。。
iceteacover
2021-05-08 11:26:56 +08:00
@e583409 说的没错。 我就没刷题,没进字节的二面。

但我是长期主意者,我觉得这些实在是垃圾面试题,一点不考验面试者工程能力。 算法或许还能考验数学基础。Java 八股很难考验出一个工程师是否靠谱。
iceteacover
2021-05-08 11:28:20 +08:00
@Rwing 感谢
tcfenix
2021-05-08 11:34:25 +08:00
经历过多次各式各样的技术栈的更迭, 看了下 tiobe, 前十除了 VB 和 C#基本已经集齐了, 就从两个方面来聊聊吧, 简单的说, 推荐去学一下

1 职场使用
目前你听过的大厂基本分几种, 阿里美团多多主要是 JAVA, 当然也有少数用 C++的部门, 比如搜索等, 目前也没有听说他们内部有什么要换技术栈的声音, 说实话也没必要
百度应该还是 C++为主, 字节是 Golang 为主, 腾讯分不同的 BG, C++, Golang, JAVA 全都有
所以从这个角度看, 三种语言其实都有去处, 你也不可能保证你去的地方一定就用什么语言

2 学这肯定都是要学的
作为一个后台开发, 一门为了几万人的巨型大厂的软件工程而设计的语言你不太能错过啊, 自带代码风格工具, 模块管理, 你用 JAVA, 在 MAVEN 这里 肯定也踩了不少坑了吧. 你看下 C++ 20 的更新, 看下 project loom, 在很多场景下, Golang 的代码是不需要思考异步的问题, 这样代码的维护成本马上降低一大截, Golang 的协程实现以及 GC 实现都很精彩, 你认真学习之后回头再看 JAVA, C++的类似功能也能让你触类旁通,反之也是一样

我在 16 17 年的时候开始接触 Golang, 后来换了工作, 是几乎全 JAVA 的环境, 但是我还是坚持去学 Golang, 看优秀的项目, 看新出的特性, 之后又有了需要用 Golang 的场景, 你的职业生涯很长, 很有可能过了几年看你已经集齐了十二星座了, 多学点没坏处的
hwdef
2021-05-08 11:38:30 +08:00
@iceteacover
emm 为什么用 k8s 调试,,,既然你已经预设立场了,再问就没意思了。

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

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

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

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

© 2021 V2EX