
投 Go 岗五年经历全是 Java投全栈岗简历上只有前端。这种切换期的简历常见三种摆法每种都有问题。全部按旧栈写JD 关键词对不上筛选阶段就被过滤。全部包装成新栈过了筛选面试第一轮就露。新栈只写一句「自学中」等于告诉对方你还没开始。评审者在看什么招一个切换期的人对方想确认三件事新栈有没有实战证据哪怕规模小旧栈里语言无关的部分有多厚学习曲线是不是可预期的。第三条很多人忽略。一个在 Java 里把 JVM 内存模型、线程池、连接池都摸透的人转 Go 时对方有把握他会很快摸透 goroutine 调度和 GC一个在 Java 里只写过 CRUD 的人转 Go 之后大概率还是 CRUD。所以旧栈经历的深度直接决定对方对你新栈上限的预期。按层拆把厚的那层放前面技术栈可以拆成三层语言语法层最薄切换成本最低框架层中等系统层最厚包括并发模型、存储与索引、缓存一致性、消息队列、网络协议、可观测性、排障方法。系统层是语言无关的。一个人会不会处理缓存击穿和他用 Java 还是 Go 没有关系。切换期的简历要做的事就是把系统层显式抽出来别让它埋在旧栈的标签底下。对比技能栏熟练 Java / Spring Boot / MyBatis / Redis / Kafka了解 Go语言Go近 8 个月主力见项目 1、Java5 年Spring 生态 语言无关MySQL 索引与事务隔离、Redis 缓存一致性与数据结构选型、Kafka 消费幂等与重平衡处理、 分布式链路追踪OpenTelemetry、线上问题排查堆快照 / pprof / 抓包第二种写法里「了解 Go」变成了带证据的「近 8 个月主力」同时把五年 Java 里真正值钱的部分单独列出来告诉对方这些我换了语言照样会。项目经历同样按层改旧栈项目不用删但要改写角度把语言无关的决策拎到前面使用 Spring Boot 开发订单系统实现下单、支付、退款流程订单系统Java设计订单状态机与幂等方案支付回调重复投递下保证单次生效 库存扣减从数据库行锁改为 Redis 预扣 异步落库大促峰值下单成功率从 92% 提到 99.5%改后的这条把 Java 放到了括号里主体是状态机、幂等、扣减方案。面试官读到会意识到这些经验搬到 Go 上一样成立。新栈项目至少要有一条真实的写法上要体现出你已经理解了新语言的惯用方式而不是用旧语言的思路写新语言内部通知服务 Go 重写gin gorm go-redis用 errgroup 控制多渠道并发扇出并聚合错误 用 context 统一超时与取消传播单实例内存从原 Java 版 1.2G 降至 180M容器规格降一档errgroup、context 传播这些是 Go 的惯用法。写出来说明你不是在用 Go 语法写 Java。前端转全栈的情况「全栈」两个字别直接写。它的含义太宽对方无法判断你后端做到了哪一层。写具体全栈开发工程师前端为主React / TypeScript近一年承担 Node BFF 层与部分业务接口NestJS PostgreSQL 独立完成消息中心模块的前后端设计、接口实现与上线接触过 Docker 部署与 Nginx 配置改后的写法告诉对方后端做到了 BFF 和业务接口这一层碰过数据库和部署但没有碰过更底层的东西。这个边界画清楚了面试就不会问到你没做过的地方。新栈证据的档位从高到低生产代码、公司内部工具、给开源项目提的 PR、个人项目、教程练习。至少要到内部工具这一档简历上写出来才有说服力。教程练习不要写成项目。如果目前只有个人项目把它做到能部署、有测试、有一个你自己解决过的非显然问题再写。内部工具是最容易被忽视的一档。很多公司允许工程师用新语言写脚本、写运维工具、写内部服务这些是切换期最好的证据来源比业余时间做个人项目更容易拿到也更有说服力。面试会问什么切换期的面试有一个固定问题两种语言的差异你的体会是什么。这个问题的好答案不是背特性对比是用旧栈的经验做对照Java 里线程池参数调过很多次转到 Go 之后发现 goroutine 便宜但 channel 的背压要自己管Java 的异常体系用惯了Go 的显式错误返回一开始不适应后来发现它逼着你在每个调用点想清楚失败怎么办。这类答案说明你是带着旧经验在学新东西而不是从零开始。写完自查技能栏里有没有一块语言无关的内容每个旧栈项目里语言无关的决策有没有写在前面新栈至少有一条到内部工具档位的证据。切换期简历新旧栈混排两套术语的写法容易不统一自己先对一遍。最后切换技术栈换掉的只是最薄的一层。把厚的那层写在前面新栈补一条实打实的证据切换期的简历不比任何一份单一栈的简历弱。