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

萌新 转行 Python web 后端方向求一份工作!工作地点:上海、杭州皆可

  •  
  •   cuterose · 2017-09-05 21:08:35 +08:00 · 3053 次点击
    这是一个创建于 2434 天前的主题,其中的信息可能已经有所发展或是发生改变。

    毕业三年,今年 2 月份开始自学 python,7 月底离职,8 月开始在家自学。目前的状态是:可以用 flask 上手写功能,目前正在啃 flask 源码。英语是强项,听说读写都没问题。

    简历
    GitHub

    自我感觉学习能力和解决问题的能力都不错,适应能力和抗压能力杠杠的!但是还需要时间成长。不过感觉在家自学没有在工作中学效率高,求一份工作 python 初级 web 后端开发的工作。目前人在上海,所以上海和杭州面试比较方便。

    期望薪资:7k,
    期望工作地点:上海,杭州

    如果觉得不合适,也希望各位大佬给些建议。

    感谢阅读!

    18 条回复    2017-09-12 16:29:28 +08:00
    thomasyim
        1
    thomasyim  
       2017-09-06 04:43:45 +08:00
    支持妹子!一切顺利!
    weakish
        2
    weakish  
       2017-09-06 07:33:13 +08:00   ❤️ 4
    项目经验部分,一看就是学 Python 时练手的项目,而且这些项目各种教程太多了,
    会让人疑心是按照教程一步一步写的。

    像 douban gallery 就要好一点。
    既然熟练 linux 操作的话,那找个 vps 什么的放一个 demo 也不费什么事。
    vps 也就几块到几十块一个月,这点成本对于找工作来说微不足道。
    这样别人可以直接看到效果。

    blog 不要写成摘抄。既然英语是强项,那你在英语学习中也许已经体会到 rephrasing 比背诵效果高到不知道哪里去了。
    其实 python 也一样。
    Rephrasing 有各种方法,深入浅出对初学来说要求太高,
    不过尝试和项目结合是一个方向。
    比如那篇写 python 的方法的,只写了有三种,分别是什么,这就是摘抄。
    可以试着写在实际编码中是如何使用这三种方法的。
    有的地方可能没有一种明显成立的选择,这时候自己是如何权衡的。

    我的经验,反正同样的行数,写 blog 是不比写代码快的。
    有时候写起来快是反复思考过,那其实只是打字快,并不是写得快。
    如果写 blog 比写代码快就要警惕了。

    GitHub 上的项目已经能展示简历中的很多能力了,
    如果再有多余的时间和精力,可以把简历中剩下的能力也弄成可验证的。

    比如英语,可以用英语写几篇博客,或者给自己的项目写文档。

    当然也不是都要搞可验证,比如像 Linux 常见操作这种,其实不必展示,
    因为说不定开发环境是 Mac (当然 Mac 也可以装 Linux, 但一般不这么折腾),
    而且就算开发环境是 Linux, 那写 python 后端,Linux 生疏一点也就相当于打字慢,不是瓶颈所在。
    同理,HTML 和 CSS 因为和后端关系不大,也可以不展示。

    数据结构和算法本来也可以不展示,不过你过往的教育和工作经历并不能说明这一点,所以可能需要展示一下。
    简单项目中实际上很少用到数据结构和算法,所以你可能需要通过写博客,或者刷 leetcode 或者 Euler 之类的方式展示。
    当然,直接用 python 写一些 Python 的标准库里没有的数据结构也是可以的,比如 sorted collection 之类的。
    取决于自己的能力和精力,可以就写一个,比如 SortedList,
    像 sortedcontainers 一样写一堆就更好了(可能涉及到公共代码如何组织,抽象到什么程度取舍等)。
    另外,建议写数据结构,数据结构相应的方法其实就包含了算法,而且实际项目中有时候还是要定制数据结构的。
    像什么 8 个女王之类的算法,从来没在项目中见过。
    不过说实在的,junior 级别的后端恐怕很少涉及数据结构和算法,都是用 Python 标准库和第三方模块,
    所以这个能力其实和 junior 级别的后端并不匹配。
    当然具备这个能力肯定是有优势的,因为表明了你在技术方面的发展有很大的潜力。
    l0o0
        3
    l0o0  
       2017-09-06 11:13:23 +08:00
    @weakish 虽然不是楼主,可是见到这样用心的回复,也感到非常的暖心啊
    cuterose
        4
    cuterose  
    OP
       2017-09-06 11:14:23 +08:00
    @weakish 天哪 好感动!!!

    连我的项目都认真看了,我想哭!

    项目确实是按照教程一步步写的,但是我自己加了一些小功能。因为现在让我自己去搭一个框架写,我还是写不出来的,不过现在可以在现有的框架内去写一些功能。你说的点我会注意的,Douban Gallery 我其实每天都在写,只是写的比较慢。

    VPS 的话,我稍后会把 demo 放上去的。

    关于 Blog,因为我一开始是想给自己整理一些资料,用来复习的,还有就是帮助自己理解。你说的方法给我指了一条明路,我在下一篇文章里会试试的。

    算法和数据结构这块,我每天都有在刷 LeetCode 上的题目,之后数量多一些了,我会放在简历里的。现在感觉还拿不出手。

    恩恩,我对自己的定位目前是初级,但是每天在家闭门造车,有时候会蛮崩溃的。所以现在想看看有没有合适的初级岗位。如果没有,我也可以自己再学一段时间。

    谢谢你不仅给我指出了好多好多可以改进的地方,还给出了改进的方法,真的超级感动 (┳Д┳)

    第一次在网上收到这么多善意和有用的话,好人一生平安!

    我会继续努力哒 ٩( 'ω' )و
    cuterose
        5
    cuterose  
    OP
       2017-09-06 11:14:51 +08:00
    @l0o0 是啊 超级感动!!真的哭了!!
    cuterose
        6
    cuterose  
    OP
       2017-09-06 11:17:33 +08:00
    @thomasyim (๑•̀ㅂ•́)و✧ 谢谢~
    l0o0
        7
    l0o0  
       2017-09-06 11:57:10 +08:00
    @cuterose 我也在找适合自己的工作,互相鼓励下
    cuterose
        8
    cuterose  
    OP
       2017-09-06 12:00:41 +08:00
    @l0o0 恩恩 加油!鼓励你!

    我会一直坚持的~ 祝你找到满意的工作~
    lgpqdwjh
        9
    lgpqdwjh  
       2017-09-06 16:34:21 +08:00   ❤️ 1
    比我女朋友强多了, 说转就转, 给楼主点赞。
    cuterose
        10
    cuterose  
    OP
       2017-09-08 17:44:55 +08:00
    @lgpqdwjh 哈哈 谢谢!我在 V 站发了帖之后就开始收到面试邀请了。

    爱 V 站!
    weakish
        11
    weakish  
       2017-09-09 08:54:04 +08:00
    @cuterose cheatsheet 在码代码的时候很有用,博客写 cheatsheet 类型完全没问题,但是就展示自己能力这一点而言没什么优势。

    「闭门造车」半年学到这个程度,是相当牛的,你自己可能没意识到。

    祝好运~
    cuterose
        12
    cuterose  
    OP
       2017-09-10 15:05:39 +08:00
    @weakish 被大佬夸了好开心!谢谢~

    博客这方面,我觉得我现在的程度可能还没法去写一些有用的建议或者教程,不过我会试着从你说的这块入手,还有就是自己使用过程中的学到的一些总结。

    我已经面试了 2 家公司了,给了我很多信心,也暴露了自己的一些不足!面试完学习的方向也更明确一些了。

    我现在对 Python 一些概念的理解还不够透彻,最近在看 Python 核心编程。而且自己在拿到一个问题的时候,思路不是特别清晰,很多时候都需要上网搜别人的思路来借鉴。这方面想提升的话,除了看算法相关的书和做题,大佬还有什么建议吗?(也可能是我代码敲少了,或者思考少了)

    总之非常感谢大佬的帮助和建议,我把帖子给我的小伙伴看了,他们都觉得你的回复非常棒!其他情况和我类似的朋友看到应该也能收获很多。

    祝天天开心~
    weakish
        13
    weakish  
       2017-09-11 09:34:05 +08:00   ❤️ 1
    @cuterose 我是萌新。。。

    > 自己使用过程中的学到的一些总结

    有自己的思考就行了。
    别人的东西始终是别人的,自己去思考才能变成自己的,否则强记下来很快会还给别人的。

    > 对 Python 一些概念的理解还不够透彻

    你可以找 Python 2 的文档看看这些概念是什么时候加进去的。
    如果是 Python 早期版本里没有的,那有可能这个概念是一个比较抽象的概念。
    抽象的概念要理解透彻是不容易的,
    因为抽象本来就是用来解决项目大了或者项目多了以后,
    项目内部和项目之间有很多相似的代码维护费时费力的问题。
    如果代码量不够,没有感性的体验,是很难理解透彻的。
    等你删够足够多行代码(重构、重写)可能就容易理解透彻了。

    > 最近在看 Python 核心编程

    Python 核心编程没看过,无法评价。个人推荐 Problem Solving with Algorithms and Data Structures Using Python, 这本书好像没有国内出版社影印(原版好贵),不过作者提供了网页版: https://interactivepython.org/runestone/static/pythonds/index.html

    > 很多时候都需要上网搜别人的思路来借鉴

    这叫「面向 Google/StackOverflow 编程」, 是一个重要的编程流派 ;-)

    其实 Python 标准库的东西,大部分都是 Python 实现的。也就是说,理论上说可以不用 Python 标准库,全部自己写。但实际上没人这么干。有些困难的、常用的逻辑,Python 标准库帮我们解决了,那直接用就是了。搜别人的思路一般是这个问题对你来说太难了,或者说你不太确定自己的想法对不对,但是因为这个问题不是特别常用的东西,所以没有标准库或框架或模块可以直接用,那上网搜就很正常。

    另外,搜到的代码你要比较好地整合进自己的代码,就需要读懂它。当然有时候可以直接硬套,但这个只是把这事留给未来的自己罢了。当你写的项目大了、或者项目老了,如果涉及到需求变动,或者需要重构使代码更好理解、更好维护,你总要去弄懂这段代码的。也许有部分代码可以始终不去碰,但不可能所有硬套的代码都不去管的。也就是说,只要坚持写下去,或早或晚,至少其中一部分的代码你不得不去读懂的,那这个读、改的过程就是学习的过程。(搜索不能算学习,只能算学习的预备工作。)

    以上指的是你实际编程过程中遇到的问题。
    纯为练习做的编码,那理论上是不应该搜索的。
    但是自学的话,如果实在没有思路,那还是得搜索或者问人。

    好老师出题呢,会照顾学生的水平,既不会太简单(没什么效果),又不会太难(完全超出学生的难度),
    所以这种情况学生就应该信任老师,既然老师给我出这个题,那就说明这个题我一定可以独立解出来的。
    否则的话,老师或者会在出题时附带提示,或者会给这个题加上一颗或者几颗小星星。

    但是你自学的话,这个题是你自己找的,不是老师给你出的。
    实际上你并不一定清楚自己的程度,也不清楚题目的难度。
    这种情况你解不出来可能就是这题在你现有能力之外了,这时候除了跳过不做和问人(搜索答案也算问人)外别无选择。

    > 思路不是特别清晰

    思路特别清晰就说明题太简单了,还在你的舒适区内。

    找思路只能靠自己了。

    我的经验是,可以尝试「拆」问题,假装我已经为解决这个问题写好了 f1, f2, f3 函数和 c1, c2 类,然后加以组合,去解决这个问题。走通了以后,再去补那些函数和类的定义(所以我很喜欢用 PyCharm 的 alt+enter )。

    另外就是不要老对着电脑,没有头绪可以做点别的事,比如出去走走,交给潜意识去解决。我发现有时候这个磨洋工的办法效果意外地好。
    cuterose
        14
    cuterose  
    OP
       2017-09-11 14:51:05 +08:00
    @weakish 好的,我造啦~ 哈哈哈

    你推荐的这本书我有收藏,前段时间读了个开头。不过最近想先集中精力看完另外一本就先搁置了。谢谢推荐~我会根据自己的情况看看怎么读的。

    主要是我读书特别慢,如果要一边做笔记一边看,一天可能看 1 章都够呛。不过慢慢读确实可以记得住东西,而且后面说的东西理解起来也更快。Python 核心编程的每章节后面有练习,我感觉认真看完一章,后面练习的题目都是可以做出来的。(跟你说的老师出题有点类似了,我会坚持把这本书读完的: p,目前读下来感觉很有用,很多细节都照顾到了。就是很厚。)

    超感谢你的建议和帮助,我现在有点捉急因为一直没有工作的话心里压力有点大,又一边说服自己打好基础最重要。感觉自己快精分了,因为没有工作焦虑,在想要不要去学个 Django 或者爬虫的库,我只学了 flask 投简历的选择面还是很窄的。另外一个自己又想认真把基础学扎实。TUT

    感觉这个帖子已经变成心路历程帖了。(厚脸皮问一句可以给你发邮件沟通吗~)

    祝好~
    weakish
        15
    weakish  
       2017-09-12 14:07:06 +08:00
    @cuterose

    > 一天可能看 1 章都够呛

    做笔记、习题全做的话一点都不慢。而且页数进展得快可能是因为新知识少或者难度低,并不代表学习的进度快。

    > 心里压力有点大

    放轻松。压力大了并不能爆发潜能。

    > 在想要不要去学个 Django 或者爬虫的库
    > 我只学了 flask 投简历的选择面还是很窄的。
    > 另外一个自己又想认真把基础学扎实。

    很多要求 Django 经验的企业是想招有实际生产环境项目的 Django 经验的人
    (或者说,踩过 Django 在生产环境下各种坑的人)。
    junior 级别可能还是更看重基础,以及 web 开发的领域知识(具体是 flask 还是 django 区别不大).
    基础和 web 这两方面没问题,进了企业再入手新框架也很快。
    当然你想学 django 也没问题,但指望在 flask 之外多学一个 django 提升求职竞争力可能效果没你想象的好。

    爬虫库和 web 后端就是不同的领域了。
    学这个可能确实可以拓宽求职范围。
    但另一方面精力、时间有限。
    所以具体怎么选还得你自己想。
    不过你也不用太纠结,如果决定先化功夫在基础上,那以后学爬虫库会比较快,
    反过来呢,先学爬虫库,然后有需要再补基础,这样因为实际要用到而去学说不定效果好一点。
    所以可能选哪个最后结果都差不多。

    > 心路历程帖

    还是有很多人想转码农的。对别人可能也有帮助。

    > 邮件

    [email protected]
    553674067
        16
    553674067  
       2017-09-12 16:14:22 +08:00
    @cuterose
    同辞职学习,时间上和楼主很相似,进度目前是敲完一个 Django 案例和学了一点爬虫,flask 还没学。最近一段时间准备找工作,厚脸皮问一句能交流下面试经历吗~?
    cuterose
        17
    cuterose  
    OP
       2017-09-12 16:28:13 +08:00
    @weakish

    哈哈 好的 谢谢听我逼逼这么多还给了很多建议。

    我会坚持把基础打好的。

    之后有什么问题我就给你发邮件啦~希望不要嫌弃 233~
    cuterose
        18
    cuterose  
    OP
       2017-09-12 16:29:28 +08:00
    @553674067

    恩恩 可以哦,邮件,微信都行,我简历里放了信息~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   809 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:52 · PVG 03:52 · LAX 12:52 · JFK 15:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.