V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
archscar
V2EX  ›  职场话题

[求助]求问下各位大佬小弟这种情况是应该先转 Java 还是继续坚持用 Python 找工作?

  •  2
     
  •   archscar · 2020-12-21 23:04:29 +08:00 · 2833 次点击
    这是一个创建于 1428 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位大佬们好,本人是最近才回内地开始找工作的。虽然一开始就知道回来找工作会非常困难,不过现在真的是没啥思路大脑非常乱,不知道能否求教下论坛大佬们的建议。


    (提前说下本人的工作经历非常菜,大概属于给国内程序员拖后腿的那种,希望大佬们轻点吐槽 TvT )

    --------------------------本人情况简介--------------------------

    学习经历:
    -高考考上 hk 那边的大学(浸会),在那边读完计算机的本科,之后接着读了个计算机系的 master ( 1 年的那种只有授课考试没有毕业论文,当年太傻太年轻,甚至还以为国外的研究生就是这样……),然后就留在那边工作了。


    工作经历:
    -大约工作了 3 年(差 4 、5 个月)。公司的主要项目是一个在线教育平台系统,有点类似于直播教室可以支持 1 个老师和多个学生上课(最多的时候大概同时有 1k~2k 人在线上课)。

    -项目用的是 python 做后端开发。当时大学期间学学的都是 java,进去之后才现学的 python 和后端。大概 1 年之后开始能自己独立做些 api 和模块的开发,1 年半左右开始逐步完整了解整个项目代码和生产环境全貌,能知道改 bug 、新增功能要去找哪里的代码,再之后开始能自己独立在主项目上新增 app,或者自己写一个全新的 flask/django 项目。


    能力水平
    -只用过 python,主要是做 django 和 flask 的开发(相对 django 可能稍微用得多些),数据库主要用的 mysql 和 redis 。接触过完整的后端生产环境的各个环节、构架(从 python 的 django/flask 开发、数据库 msql/redis 、到云服务器的 linux 系统的环境安装 /代码部署、nginx 服务器配置 /反向代理、gunicorn 启动 /supervisor 监控 /sentry 汇总 log 和报错提示、以及运维方面的服务器的域名 /dns 设置、后面还接触过 gitlab 和 docker 的自动编译 /持续部署等等)

    -但各个环节都不算是精通,能算得上熟悉的只有 django 和 flask 的后端数据库相关和业务逻辑相关 api 的代码开发。其次就是 linux 环境也用得比较多,比如上服务器装环境、改配置、看 log 、找 bug 之类的,日常开发则是用的 ubuntu 。其它的东西基本只是略微了解或者只是会用(比如像我们自己的 gitlab 的自动编译我基本只会用以及看过配置脚本稍微改过几个很简单的地方; docker 那些就只是知道有这么个东西是虚拟容器拿来自动编译但是完全没有学过)。python 和 django/flask 都没有深入的研究过,官方文档都没有看完,也没有怎么研究过源码。最多只是有 bug 的时候会去 google 以及看看相关地方的源码来找找问题的出处。


    项目经验
    -单独的项目也算是做过,不过我们项目本来就比较小,我做过的最大的项目就是在我们的主项目上搭了个可以授权第三方调用我们 api 的 flask 项目(有点类似微信公众号用 appid 和 secret 授权调用 api )。以及自己写爬虫爬了供应方 60w 道题目(他们不愿意开发 api 所以给我们账号自己爬)之后处理数据入库然后配合前端同事在我们主项目上弄了一套题库系统的 api 。然后微信公众号、微信支付的开发也做过一些。其余的都是相对比较小和比较重复的修修改改新增 api 了。

    -而且我们项目后端最难最核心的业务是直播相关的,主要是基于 node.js 的 websocket,其它复杂的东西都在前端了。而核心这块我几乎没有接触过,有个大佬专门负责这块,我又是 0 经验进来的,基本都在做数据库相关和业务逻辑相关的 api 开发,而且做得也不算很精。比较高端的东西比如分布式、微服务之类的都没什么了解也没实际用过。(感觉我这项目经历可能还不如现在比较强的应届毕业生_(:з」∠)_)


    --------------------------找工作的现状--------------------------

    目前找工作的考虑、期望:
    -目前我找工作主要是 2 个考虑:1 是想去大城市(但不想去北京因为去过感觉太挤而且买不起房;第一优先还是想去上海),2 是想去个大一些的公司(最少有三五十到几百人的员工,当然一线大厂最好 2333 )。

    -工作的方向我主要还是考虑后端开发,不过也完全不抵触转技术栈和方向。我对大数据开发也比较感兴趣,但看了一下感觉以自己的水平几个月可能都学不完 hadoop 的那一系列东西,所以还是先考虑找后端的工作。


    当前投简历的情况:
    -最近投了大概 10 个左右的公司,只收到一个字节广告垂直部门的面试,当然面了二面之后就嗝屁了。估计是项目经历不行+后端相关基础知识一般(有几个基础问题没答上来)+算法菜鸡(一面面试官提示下做出来了二面总监来了当场去世;但其实下来自己做发现都不难,根本没啥高深的算法)


    --------------------------目前的疑惑、问题--------------------------

    1.我目前这种 python 后端水平大概能进什么样的互联网公司?除了算法刷题以外还应该在什么方面多做点准备来弥补我项目经历和能力的不足、让自己更容易通过大公司的面试呢?

    2.如果现在自学 java 后端出去会更容易找到大公司的工作吗?

    3.我自学 java 之前要不要投 java 的职位?因为我之后肯定还是希望转 java 后端的,我肯定会抽时间自学,但最好当然是公司直接招我进去做 java 后端。但就是不知道现在国内大一些的互联网公司会招我这种已经不是应届而且需要转语言技术栈的员工吗(个人感觉应该很难?)?如果根本不可能招的话我就暂时不投这方面的职位了。

    4.除了 python 后端以外我现在还有什么其他能相对比较容易找到工作的方向吗(比如我自己能较快地通过自学转过去、或者公司原意在这个方向上招没有直接经验的人)?我自己的话 java 、大数据方向都很感兴趣,其次运维测试或者 go 之类的也可以考虑


    第一次发帖有什么说得不合适的地方还请见谅。希望能得到各位大佬的一些建议。
    34 条回复    2020-12-23 10:33:35 +08:00
    CrazyBoyFeng
        1
    CrazyBoyFeng  
       2020-12-21 23:14:28 +08:00
    互联网后端要 python 的少了,可能都没有 go 多,现在还在招 python 的一般是写爬虫以及机器学习、数据挖掘这类。
    archscar
        2
    archscar  
    OP
       2020-12-22 00:46:05 +08:00
    @CrazyBoyFeng 我现在转 java 还来得及吗 TvT……大学学过 java,不知道现在直接投 java 职位会有人要吗?

    机器学习数据挖掘感觉哪个都不像是能短时间能入行的方向。而且这些一般都不会只要求会 python,还会要求其它语言的吧
    huyu
        3
    huyu  
       2020-12-22 01:34:19 +08:00 via Android
    和我差不多,我打算转前端,不过实话说,我更看好后端(非 python)
    TypeError
        4
    TypeError  
       2020-12-22 01:36:01 +08:00 via Android
    Python Java 都找,不少后端岗位不是非得限制死一门语言的
    mazyi
        5
    mazyi  
       2020-12-22 01:47:16 +08:00 via iPhone
    刷题
    yzbythesea
        6
    yzbythesea  
       2020-12-22 03:23:03 +08:00
    刷题加八股文,感觉你面试准备不够。
    zstone123
        7
    zstone123  
       2020-12-22 07:28:20 +08:00
    好奇你之前公司规模大概是多大。我也是写的 python web,现在在往 go 转。面向面试学习试试?
    Orenoid
        8
    Orenoid  
       2020-12-22 08:19:22 +08:00
    国内 Python Web 确实不好找,但你这会要转语言也要花不少时间的,项目经验没那么好攒。
    建议你先针对面试去学习,比如刷题、看面经,暂时还是找 Python 方向的岗位,但要优先学习后端通用的东西,例如数据库、Docker 等等。Python 方面的看你掌握到什么程度了,如果足以应付面试里的 Python 方向考察,就不要再在 Python 上花时间了,把时间花在后端通用的知识体系上,就算你以后换语言也用得上这些知识。然后时间再有空余的话,就学习下你想转过去的方向吧。没有的话就还是先找到工作,之后再一边准备换方向。
    iceneet
        9
    iceneet  
       2020-12-22 08:38:41 +08:00
    国内面试都是八股文的 先背好面试题 然后 leetcode 刷算法 进的概率比较大
    ErwinCheung
        10
    ErwinCheung  
       2020-12-22 09:26:28 +08:00
    python 属于还没火就没了 基本属于第二语言才好。。
    borivosky
        11
    borivosky  
       2020-12-22 10:07:27 +08:00
    都学学呗,可以看看运维开发的岗位,要求 java 和 python 都会的那种
    lemonlyman
        12
    lemonlyman  
       2020-12-22 10:29:18 +08:00
    可以试试投豆瓣
    SjwNo1
        13
    SjwNo1  
       2020-12-22 10:35:39 +08:00
    和楼主差不多竟然
    gou7ma7
        14
    gou7ma7  
       2020-12-22 10:52:03 +08:00 via Android
    11 楼说的对,建议你先不要盲目的转 java,毕竟这样的话你连基础的 java 开发流程都不熟悉。
    最建议你找运维开发,也就是所谓的 DevOps,这个一半大公司才搞得正式。
    需要需要补充的技术站就不是 python 相关的后端知识了,这个你现在的开发经历够了,需要补充一下 jenkins,docker,k8s 那些 cicd 流程,个人觉得需求比 python 后端多到不知道哪里去了。
    然后说一点,有些公司会打着 DevOps 的岗位让你去做自动化测试,个人认为这个坑。
    最后加油吧。
    archscar
        15
    archscar  
    OP
       2020-12-22 12:28:01 +08:00
    @TypeError 好的

    @yzbythesea
    @iceneet 想问下八股文具体是指的什么呀?(我百度了一下还是没太理解具体指的啥,只知道是一些死记硬背的东西)
    archscar
        16
    archscar  
    OP
       2020-12-22 12:29:01 +08:00
    @zstone123 之前的公司加上老板一共就 9 个人(捂脸),只有 3 个程序员
    archscar
        17
    archscar  
    OP
       2020-12-22 12:37:16 +08:00
    @Orenoid 好的,非常感谢!

    python 方面语法那些我基本没问题,什么切片装饰器我都算比较明白(至少使用原理方面很明白,但源代码实现方面就不行了)。不过问题是基础知识方面比如之前问过 python 的垃圾回收机制,这方面的知识该怎么比较系统的复习呢?好像一般的语法书也不会讲这些。或者说这些知识就是很零散的没法系统复习吗?
    YunGiser
        18
    YunGiser  
       2020-12-22 12:52:31 +08:00
    非科班转码正在学 python 的我,看到楼主的经历陷入沉思...
    coolair
        19
    coolair  
       2020-12-22 13:17:42 +08:00
    @archscar 八股文就是很多公司面试一班都会问的那几个问题,网上搜搜然后看看就成了,实在不行就硬背。
    @YunGiser 现在 python 的岗位还不如 go 多,一般招 python 的也就是爬虫,正儿八经搞机器学习的都是 C++打底。快速找工作就直接干 vue,需求大,上手快,容易学。现在很多传统公司正在从老一辈的 SSH 框架中转前后端分离、微服务,工作很好找。
    YunGiser
        20
    YunGiser  
       2020-12-22 13:24:02 +08:00
    @coolair 谢谢您,我现在准备校招,先 python 打底,把基础和算法好好学一下,现在更想做后端
    zyxbcde
        21
    zyxbcde  
       2020-12-22 13:26:16 +08:00 via Android
    现在招个会 python 的学生还是很容易的,以数据方向进,要求熟悉 sql,python 当个办公软件,写好了业务逻辑帮他包个接口也没多少工作量。
    python 写 web 生态还是差点了。最近想玩 fastapi,但是就找不到个舒服的异步数据库的轮子。
    xiangbohua
        22
    xiangbohua  
       2020-12-22 13:41:19 +08:00
    @gou7ma7 我倒是觉得看喜好,转的话越早越好。
    我自己为了迁就公司发展,从.net->php->java,到现在 Java 底子也不深,以后再找工作,真的就难了,感觉要想走技术这条线的话,真的还是要看技术深度,业务能力和经验稍微次之。
    现在的我就特别纠结,作为进入第 7 年的创始员工之一,现在感觉特别迷茫。。。
    Harv
        23
    Harv  
       2020-12-22 13:42:44 +08:00
    同香港水硕 :) 刚好我前几天发了个类似的贴,也是问为了找工作需不需要捡起另一门语言。楼主可以参考下。
    不过我目标比较明确,是奔着几个目标岗位去的,而且有半年时间准备。楼主你也考虑下自身各种情况比较好。
    drackzy
        24
    drackzy  
       2020-12-22 13:49:13 +08:00
    国情不同,国内做 Python 或 Ruby web 太亏了,没有什么大厂,薪资上不去。
    coolair
        25
    coolair  
       2020-12-22 13:58:39 +08:00
    @YunGiser 强烈建议 Java 打底。
    fire2y
        26
    fire2y  
       2020-12-22 14:37:44 +08:00
    和我差不多 已经转成 devops 了
    archscar
        27
    archscar  
    OP
       2020-12-22 14:48:55 +08:00
    @borivosky 好的,非常感谢,我看看这方面的内容。运维方面的话我 java 就先准备基础语法方面就够了吗?

    @gou7ma7 很详细的建议,非常感谢。想问下自动化测试是和 devops 完全不沾边吗?还是说这方面的东西个人发展前景很窄所以很坑吗?
    jimrok
        28
    jimrok  
       2020-12-22 15:04:33 +08:00
    一般来说,做 python 都是第二门语言,java 或者 c++打底。光有 python 是做不了什么大项目的。
    archscar
        29
    archscar  
    OP
       2020-12-22 15:18:54 +08:00
    @YunGiser 如果是做后端的话确实是不建议主 python (我当年也是自己想得太少进去就只跟着公司的需求学了),相对来说 python 的后端还是太浅了,一般是中小型项目用得多,优点是好写,出产品快,几个框架往上一套直接启动就能支持几百上千人的并发。但大型项目 python 就很无力了,还是 java 用得多,你又不可能说在小公司呆一辈子,所以问题就在这里……
    archscar
        30
    archscar  
    OP
       2020-12-22 15:22:34 +08:00
    @Harv 好的,我参考下,非常感谢~也希望你找工作顺利
    gou7ma7
        31
    gou7ma7  
       2020-12-22 15:34:16 +08:00
    @archscar #27 自动化测试是所谓的 DevOps 的一环,而且是很重要的一环,这个你可以稍微查一下相关资料,他们说的都比我好;
    但是现在整个行业大部分都是在很傻逼的通过人工编写“自动化测试用例”然后去跑自动化,在可见的 3 到 5 年之内,极大程度上会有以人工智能为理论基础的 真正的自动化测试普及开来,因此现在去做这种一看就干不了几年的 自动化测试,个人觉得是 49 年入果军,因为这两者的理论基础,工具框架都基本上完全不同,到时候会失业 /转行一大批人;
    另外我之前找过好几个月的 python 相关的后端和数据分析的工作,这个你可以看我的以前的主题,总结我之前已经写了,总之个人觉得 python 相关做 DevOps 开发比做业务后端开发要好的多。
    gou7ma7
        32
    gou7ma7  
       2020-12-22 15:37:37 +08:00
    @xiangbohua #22 喜好当然也很重要,我师傅之前在某大厂实习的时候,自己一心只想搞后端,看不起前端组的妹子们,然后该公司又只有前端坑位,于是跑路怒考上某 985CS 专业,我们一般人应该没有这个退路吧。。。
    archscar
        33
    archscar  
    OP
       2020-12-22 21:00:49 +08:00
    @gou7ma7 明白了,谢谢大佬!刚才去你的个人页面看了一圈,已经关注你的 b 站了。我家里人也是痛风,需要控制饮食吃药什么的,希望你能快点控制住~!
    YoyoMa
        34
    YoyoMa  
       2020-12-23 10:33:35 +08:00
    啊哈哈,来小黑(hipacloud.com),我们要 Python 的呢~~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5921 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 02:29 · PVG 10:29 · LAX 18:29 · JFK 21:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.