我从零基础转行学Python,花了八个月找到工作。面试了十几家公司,发现技术本身只占一半。很多细节比想象中的代码能力更重要。写下来给正在转行的人看看。
简历上项目经验怎么写。我一开始犯过一个错,把课程作业当成项目写。面试官一看就知道那个是跟着视频敲的。后来我把一个爬虫项目改成了实际场景:帮朋友公司抓电商评论数据做情感分析。面试官对真实场景很感兴趣。他在简历上写项目一定要有真实需求来源。哪怕是帮亲戚写个自动发邮件的小工具,也比练手项目强。
技术面试遇到一个问题:用Python实现斐波那契数列。我写了递归写法,面试官问我时间复杂度。我答上来了。他又问怎么优化。我说用缓存装饰器。他点点头。这个例子说明基础算法一定要理解时间复杂度。我吃过亏,一开始只背代码不看原理。面试时候换个马甲就慌了。
有个小细节特别重要:面试时候要带笔记本和笔。别光带个手机。我第一次面试,面试官让我画流程图,我手边没纸。只好比划半天。后来每次面试我都带个本子。画图写思路很方便。面试官会认为你做事有条理。
转行面试最怕被问到“你为什么转行”。这个问题别说不喜欢原行业。我换了个说法:我发现自己对数据分析特别感兴趣。想用技术手段解决实际问题。原行业的经验也能迁移过来。比如我做财务的时候接触到大量Excel数据。现在用Python处理这些数据效率更高。面试官反而觉得你的转行是有基础的。
代码能力之外的东西也要准备。我有次面试,面试官突然问我对公司业务的理解。我愣住了。他只问了基本的Python语法。那次面试结束后我意识到,转行的人要主动了解公司做什么。后来每次面试前我都查公司官网和产品文档。面试时候随口提一句:你们这个功能如果用Python的某个库来实现可能更高效。面试官眼神都不一样了。
笔试环节有个坑:很多人上来就写代码。其实可以先和面试官沟通。有一次笔试题目是写个数据处理脚本。我花了半小时写了完整的代码。结果面试官说只要一个简单方案就行,我写复杂了。后来我学聪明了:先问清楚输入输出是什么,边界条件如何处理。沟通清楚了再写。这样既省时间又不容易跑偏。
转行找工作,心态特别容易崩。我投了大概四五十份简历才有面试机会。有段时间特别焦虑。后来我调整策略:每天定量投简历,剩下的时间刷LeetCode和做项目。面试时候碰到不会的问题也要说句话。比如这个算法我不熟,但我知道可以用什么思路去解决。面试官看你思考的过程。比直接说不会强太多。
我在面试时候还犯过一个低级错误:没检查代码里的中文编码问题。有个爬虫项目里有中文注释,本地跑没问题。面试官让我现场演示的时候,控制台报错乱码。他脸色变了。我赶紧解释是编码问题。从那以后我所有项目都注意编码设置和跨平台兼容性。也建议你们提前部署到线上环境跑一遍。
有个意外收获:和面试官聊技术之外的东西。有次面试结束前,面试官问我平时在哪里学Python。我说经常逛Stack Overflow和GitHub。他说他也在上面活跃。两个人聊了二十分钟开源项目。那个offer后来拿到了。转行的人要表现出持续学习的习惯。这比简历上写了多少项目都管用。
最后说个很实在的事:不要只练习算法题。很多公司更看重项目能力。我面过一家创业公司,他们让我直接处理一份真实数据:清洗、分析、出报表。如果只会刷LeetCode,这种实战题根本做不完。建议多写一些完整的小工具,比如自动发邮件、定时任务、文件批量处理。这些在面试时候都能直接拿出来讲。
转行不是一条容易的路。我见过很多人学了三个月就放弃。坚持下去的都找到了工作。面试时候别想着一次就能过。把每次面试当成一次学习。复盘自己哪里没答好,哪里可以改进。这些经历比任何教程都有用。祝你们都能拿到满意的offer。