[求职] (广州/深圳) Python Web 开发 __ 英语专业转行 __ 8k

2016-08-18 22:41:17 +08:00
 gulu

[求职] (广州 /深圳) Python Web 开发

一、我的信息

1. 个人简介

自学 Python Web ,熟悉 Flask 和 Tornado , 熟悉 MVT , 遵循良好的代码命名规范;   
自我驱动, 善于独立解决问题, 乐于分享, 执着, 坚韧,遇山开山, 遇河架桥。

2. 个人项目

2.1 Tornado 微博 /twitter 聚合

1. 异步处理  
 - 基本的 Request Handler 、对 微博 /twitter 的 api 资源调用以及 redis session 都是异步的;  
 - 对外发出的 api 请求基于 CurlAsyncHTTPClient , 支持 socks5 代理, 使用了异步 DNS 解析。  

2. Redis Session 以及 Cache  
 - session 和 cache 基于 tornadis 这个异步 redis 驱动, session 默认 TTL 是 1 天;  
 - cache 自动将最新的动态消息缓存 3 分钟, 避免短时间内的大量重复请求。  

3. Oauth1 和 Oauth2  
 - weibo 使用的 oauth2 接口, twitter 使用的 oauth1 接口, requests_oauth 生成 'Authorization'。  

4. 整体结构  
 - 前端 jQuery + Bootstrap , ajax 触发后端请求 api 资源, 再返回 json 数据, 使用 jQuery 渲染;  
 - 后端代码结构学习了 MVT 模式, 使用了 SQLAlchemy ORM ,使用了 Nginx 前端。  

2.2 Flask 博客

1. 博客和 Todo  
 - 博客: Markdown 、草稿、多标签、多层级分类、 google-analytics 、 disqus 、 sitemap ;  
 - Todo :优先级、子任务、自由添加 Markdown 格式的笔记、触摸滑动排;  
 - 博客的数据库 Model 有 90% 覆盖率的单元测试。  

2. SQLAlchemy  
 - 通过 model class 的 @property 和 SQLAlchemy 的 event_listener 约束数据关系;  
 - 使用 Material Path 实现的多层级分类,理论上读取子分类数据更快。  

3. 学历和工作经历

1. 学历: 2014 年本科毕业(985), 专业英语;  

2. 工作: 毕业后苏宁易购电商运营。  

4. 其它技能点

1. Git 协作、 jQuery + Bootstrap 、 基本 Linux 服务器部署  

2. 英语专业八级、 BEC 商务英语高级、 Stackoverflow + Google  

二、工作期望

1. 公司文化   
希望是一家技术驱动的公司。  
希望是不加班的公司,我觉得自学就是生产力。  

2. 工作内容   
希望是 Python 后端, 也可以往数据爬虫方向努力。  

3. 工作地点   
广州和深圳。  

4. 期望薪资  
希望能有正规的五险一金。  
试用期 6k ,转正后如果是 965 是 8k ,请您不要还价了...

三、自学经历

1. 三月底按 *Flask Web Development by Miguel Grinberg* 这本书学习 Flask ;    
2. 四月五月自己写了 Flask 博客,并且部署上线,目前自己在用;  
3. 六月补充背景知识,做了一点算法题,了解 TCP/IP 四层协议这些;  
4. 七月份学习 Oauth API , Tornado 以及异步和 Python 协程相关,做出 Twiwei ;  
5. 八月份找工作, 8 月初入职在一家大牛的公司,由于个人发展方向和公司培养的方向不太吻合,  
和大牛沟通确认没有转岗机会后离职(并且得到大牛的一个内推面试,目前在等面试消息)。  

四、我对一些面试题的回答

1. 为什么离开现在的工作?

    喜欢编程。之前在苏宁易购做电商运营,之后自学 python web ,现在在找 python 后端工作。

2. 除了 python 及 python 的框架,最擅长的三种语言或技术依次是?

    javascript, java 能看懂语法

3. 最满意和最不满意的任务 /项目,为什么?

    我的一个个人项目: http://twiwei.com

    从技术上比较满意:使用 Tornado , 折腾了异步, 顺带撸了一下 oauth, redis, 缓存,   
    session, cookie 相关的技能点。
    从产品角度不满意: weibo 方面无法备案,微博 和 twitter 在 api 接口上各有手法和限制,  
    导致很多功能没有优雅的实现。

4. 举一个实际的例子,为什么要用 python 装饰器?有哪些优点?

    web 开发中的权限验证,比如 @login_reqired, @admin_required
    优点: 易读, 低冗余易维护, 热插拔

5. 对于计算密集型和 IO 密集型任务分别应该怎么处理?为什么这样处理?

    计算密集型:多进程利用多核资源;
    IO 密集型: 多线程或者异步, 线程切换仍然有开销, IO 异步基于 IO 事件驱动,  
    可以充分发挥单个 CPU 的能力。
    对我个人来说,多进程用得不多,多线程在爬虫中用得比较多,异步在我的 twiwei 中用得很多,  
    是目前感兴趣的点。

6. 举一个用到 cache 的例子?怎么决定哪些需要放到 cache 里,哪些用一般的数据库?

    在我的 twiwei 中,为了避免用户短时间内大量请求 api 导致超出 twiwei/ 微博的请求限额,  
    我把用户的第一次请求结果存在 redis 中缓存 3 分钟, 3 分钟后再次请求才会向 twitter 和  
    微博请求新的资源。
    一般来说出于性能考虑,读请求频繁,不需要立马写入的数据,可以放到 cache 中。
    技术限制有时也是考虑因素,比如在没有合适的异步数据库驱动的适合,使用异步的 redis 驱动  
    可以避免数据库读写阻塞服务器。

7. 在并发和实时性上,你现在的技术瓶颈是什么?对于对战类游戏,用什么特别的办法保证游戏后台的实时性?

    并发用异步 IO 解决, 我对这个问题特别感兴趣,所以在 Django 和 Tornado 之间选择了后者;
    实时用 websocket , websocket 这一块我还没有实践,是我的短板,但它正躺在我的折腾目标列表上。

8. 若后台有时需要调用耗时很长的算法(如几秒),服务器如何布局?

    抱歉,对这一块的业务场景没有接触过。
    但是既然是一段计算密集型的任务,那么我的思路是放到其它的线程中去。  

以上部分来自 https://www.v2ex.com/t/297926
=======================================================================

9. 数据库怎么设计表来存储树结构的数据?

    最常见的 ForeignKey , 优点是写入和改动快,缺点是查找慢;
    此外还有 Material Path , 优点是查找快,写入和改动慢;
    最后还有 Node List , 优点是读写快,缺点是需要预先设计好 Nodes , 拓展性不好。  

10. 你的计算机基础怎么样? 算法呢?
    计算机背景确实很薄弱,算法目前也没有投入多大精力。  
    但这个事关我的个人前途,所以我必须补充这方面的知识。  

11. git 协作的流程是怎么样的?  

    比如有 product , test 和 develop 三个分支。
    开发时都在 develop 。
    我要修改或者新增一些功能。
    先设置 git push 时默认推送当前分支。  
    git branch // 确保在 develop 分之
    git checkout -b develop-hwq/new-feature // hwq 是我的名字
    修改代码
    git push
    然后再在 gitlab 发起 merge 请求, merge 到 develop 分之。
    等待审核代码。  

    以上都是从潘大教的, git 还有很多强大的功能,我学得还不完全。

还有一些 Python 基础题没有列出来。

五、相关链接

Flask 博客: http://imhuwq.com  
Twiwei: http://twiwei.com  
github: https://github.com/imhuwq  

六、联系方式

imhuwq#gmail.com
PDF 简历下载或预览

非常希望我能符合您的工作需求。
也很期待您的联系,不管是建议,还是发来面试题或者面试邀请。

=================================================
另外,根据我观察到的 v 站传统,在 v 站放上自己的站点,如果被 v 友攻击,那算是一个荣耀,也算是个人站点的成人礼。
但是这回请各位大哥大姐放小弟一码,起码等我拿到 offer 了。
谢谢大家!

5575 次点击
所在节点    求职
68 条回复
gulu
2016-08-19 11:29:42 +08:00
@zchzch1014
是的,因为没有通过开发者认证,请看我的附言~
Twitter 没有这个限制,是可以用的
exoticknight
2016-08-19 11:36:53 +08:00
lz 冷静,虽然很多人在说厉害厉害,但是从其他内容的描述上看,其实就是 python web 基本内容,所以我觉得 lz 还是要继续学习一个,深入研究某个点
gulu
2016-08-19 11:55:06 +08:00
@exoticknight
是的,其实都是基础知识
深入学习是肯定需要的,但也不能总是学不生产哦是不😀
Yc1992
2016-08-19 12:47:03 +08:00
专八!
wongskay
2016-08-19 12:49:31 +08:00
我觉得这种可以去外企,虽然不是计算机专业的,但是自学经历还是值得我参考的,希望你加油。
woostundy
2016-08-19 12:51:14 +08:00
这简历值 12K
gulu
2016-08-19 13:20:50 +08:00
@Yc1992
额,好像院里百分之八十以上都是专八

@wongskay
谢谢你的鼓励,我朝你说的方向尝试一下。

@woostundy
大哥你别调侃我了,没有一年实际工作经验,没有补充计算机和算法基础之前我不会去挑战那个薪水的
fish2016
2016-08-19 13:39:20 +08:00
楼主加油,我有一个学体育的同学自学前端半年毕业去了杭州工作,和楼主一样,也是出于兴趣,非常努力的一个人。 ps :这个薪水在广州深圳应该是比较低了.. 今年应届路过
lcc4376
2016-08-19 13:54:33 +08:00
8k 你會拉低我們 pythoner 的行情,至少 10k 吧,,,,.
gulu
2016-08-19 14:41:57 +08:00
@fish2016
谢谢你,我也是看到了别人的案例才下决心的。

@lcc4376
那你就允许我先拖一下后腿吧~
然后作为一个资深 pythoner, 不知道你对我的自学路径还有什么建议?
dtfm
2016-08-19 14:45:51 +08:00
@gulu 并没有那么厉害啦,我也是 Python 菜鸟一只,一起成长嘛。我也觉得不止 8K ,不是因为你的技能树,而是看了你的博客后,你的学习方式和态度是我在 V2 见过转行者中最为优秀的。
gulu
2016-08-19 15:05:19 +08:00
@dtfm
额,竟然还有人认真看了我的博客,感动……
再这样我就要点特别关注你了!
不过对企业来说可能最重要的是能力变现创造价值😀
fyooo
2016-08-19 15:49:50 +08:00
赞!

不过楼主可以把 cv 的照片删掉,一般技术岗位的 cv 放照片会减分的。
cxyfreedom
2016-08-19 18:20:54 +08:00
和我年纪一样 我也刚找了个 python 的岗位 lz 加油哟
gulu
2016-08-19 20:15:26 +08:00
@fyooo
哦还有这回事的?我晚上回去先把简历删掉吧,多谢提醒!

@cxyfreedom
你好,能指点一下学习路径和找工作经验吗?
gulu
2016-08-19 20:17:35 +08:00
@cxyfreedom 关注了你,向你取经😁
cxyfreedom
2016-08-19 21:22:47 +08:00
@gulu 我觉得你这个简历找个 10k 的基本没什么问题的 看得出你自我驱动能力很强 应该没太大问题的 就是奇怪为什么这帖子里面没有给你提供岗位的……
mayokaze
2016-08-19 21:56:57 +08:00
楼主愿意来上海吗?
fytriht
2016-08-19 21:57:58 +08:00
请问楼主自学之前有编程经验吗?每天学习几小时?
cgcs
2016-08-19 22:21:18 +08:00
转行不易

功能性的东西折腾了一些,基础的东西撸得太少

继续加油!

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

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

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

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

© 2021 V2EX