1、Python 官网
Python初学者的法宝,如果你想下载Python,最好还是在这个网址去下,不要想着用一些不明来源的安装包。在这里,你不仅可以下载各种版本的Python源代码和安装程序,更有各种文献资料、Python交流社区,还会告诉你Python的最新行情,不得不感叹,这功能太强大!
2、菜鸟教程
站内的知识点很全面,无论你想学习哪种领域,都可以轻松在这里找到合适的资料。
3、Coursera
如果你英文比较好,交流没有问题的话,比较推荐这个网站。这是一个课程学习网站,内容涵盖编程各个领域,目前已经和200+所大学合作课程,还可以在线读学士、硕士学位。
当你学到这里,恭喜你,你已经入门了!
4、项目实战练习
现在,你需要寻找好的项目练手提升。
但这个过程,费时又费力,可以说是头号难题。
现在,好消息来了。最近,有人在GitHub上放了一座“金矿”。
里面有181个Python开源项目,涵盖了15个领域。
都有哪些资源?这15个领域,分别是:
互联网、音频、视频、图形、游戏、生产力、组织、通讯、教育、科学、CMS、ERP、静态站点、开发和其他。
其中,开发领域的项目最多,又分了11个小类别。
每一个项目,作者都给出了相应的介绍。并附上了导航链接,指向这个项目的GitHub主页(Repo)。
有些项目,也会给出这个项目成品主页的链接(Home),或者它的文档链接(Docs),或者维基百科页面的链接(WP)等等,来帮你尽可能全面的了解这个项目。
以互联网领域的第一个项目Reddit为例,作者在介绍它时称:
这是一个社交新闻论坛,有投票、评论等等。
导航链接上,给出了Repo(指向GitHub主页)和Home(指向Reddit主页)。
并给出了备注信息:已经在2017年归档了,也就是现在处于只读状态。
传送门:GitHub地址****
当你有了项目经验之后可以开始做兼职了
首先我们需要了解Python自由职业人可以做些什么?
1.爬虫
很多人入门Python的必修课之一就是web开发和爬虫。但是这两项想要赚钱的话,就必须知道开发什么爬什么数据才能赚钱。如果你都不知道的话问题也不大的,可以开个网店,或者猪八戒做服务外包。
这里呢,还是需要找到好的项目,举个舒服的例子就是:帮一些证券大佬抓取一些财经新闻或者是舆情相关的数据,开发玩了之后每个月要保证爬虫不挂的话基本上可以收入3-5k。自己买个云主机的话,一个月要两三百的成本,自己还能做别的事情。
2.量化交易
用python来完成量化交易是很方便的,方然不涉及到高频交易,对于新手来说,这边比较推荐的JionQuant,新手教程和在线Python策略开发环境我个人认为都是比较优化的,做Quant其实就是一个做数据挖掘的过程。不同的策略就是你手中能用的模型,选股,择时,资金管理就是你所要做的特征工程。不需要纠结是用均线策略或者是BOLL,找到策略适应的股和择时才是关键。
要追求稳定的收益的话,可以去考虑各种虚拟币交易市场搬砖,编程能力较弱的朋友可以考虑一下bots,统计逃离虽然也能稳定盈利但显然不合适个人了,一般需要HFT支持。
3.代写程序或者是外包
某宝上有不少的代写程序的,物美价廉,几百块就能搞定一套基于LAMP的xx管理系统,看看买家评论就会知道,绝大部分都是学生的大作业或者是毕设。
这些能转多少钱呢?首先是不要帮别人写论文,这是吃力不讨好的事情,基本上后期你就会处于一直改稿的阶段。一般本科毕设都是偏工程研发的,这类门槛低,通用的代码很多,基本上找到开源的改一改就能完成任务。硕士毕业的有很多偏机器学习的,实现一个overfitting的算法实现,基本上也就是1-2天的功夫,前者1-2K,后者2-3k。
Python高级进阶学习
数据结构与算法(Python)
数据结构和算法是一名程序开发人员的必备基本功,不是一朝一夕就能练成绝世高手的。冰冻三尺非一日之寒,需要我们平时不断的主动去学习积累。
这里我推荐一套由GitHub大佬写的数据结构与算法Python版PDF
在这个地方你可以花上三天时间来学习和练习
Python框架
如何有效学习Python编程?常用的框架都有哪些?Python是人工智能时代最常用的编程语言,而框架的出现降低程序之间的依赖性和耦合性,使代码重用性达到最高。很多参加Python学习的人都会学习框架,不过究竟哪个框架是程序员的最爱呢?下面就来给大家介绍一下常用的Python三大框架。
1、Django
Django是一个开放源代码的Web应用框架,采用了MVC的框架模式,即模型M,视图V和控制器C。Django的主要目的是简便、快速的开发数据库驱动的网站,强调快速开发和DRY(Do Not Repeat Yourself)原则。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架。Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包,这使得Django具有很强的可扩展性。
2、Flask
Flask是一个使用 Python 编写的轻量级 Web 应用框架,它使用简单的核心,没有默认使用的数据库、窗体验证工具,用extension 增加其他功能,也被称为 “microframework” 。
3、Tornado
Tornado是一种 Web 服务器软件的开源版本,独特之处在于其所有开发工具能够使用在应用开发的任意阶段以及任何档次的硬件资源上。而且完整集的Tornado工具可以使开发人员完全不用考虑与目标连接的策略或目标存储区大小。
Python入门简单,功能强大,非常适合初学者学习。不过出于自制力考虑,也为了系统学习积攒开发经验,很多人都会选择参加专业的学习。
如何找工作?
我是自学python转行的,然后两周内找到了工作。
我的经验是,转行并不难,没人指导就很难。
Python有哪些方向可以做。转行的简历该如何写,要注意什么。面试到底是怎么一回事儿?
所有的一切,我全部都会帮你搞定。因为就单单编程而言,并不难。不需要英语,不需要数学。
Python所做的就业岗位还挺多的
Python目前有的工作岗位:
爬虫 + python ----> 爬虫工程师
数学 + python ----> 机器学习算法工程师
django + python ----> web后端工程师
数据分析 + python ----> 数据分析师
我因为本身学历和经验的原因,我的方向是web后端开发
目前是在寻找python后端开发这一块的工作,使用的框架为django;
之前一直通过CSDN以及其他几家技术博客/论坛吸收大家的经验,在感激之余,也想输出点什么,造福大家,因此就有了这篇水文,希望大家能够多多吸取我的经验教训,早日找到一份自己满意的工作!
面试准备刷题和简历
面试的几家:北京的两家创业公司,规模均在40-50人之间;果壳(止步于电话面,拉钩投的);知乎(止步于电话面,论坛发帖后的内推);爱奇艺(拉钩上投的)。
面试这一轮下来,最大的感受就一个:平时一定要坚持每天都码点代码。就算再烂的项目,也要坚持上传github。。真的,只要你能坚持一周有5天以上都能持续上传Git,半年下来,面试官绝对对你刮目相看。
其他感受:不同的公司着重点都不一样,木桶原理,哪块都不能少。我就是因为平时只关注做自己的小博客系统,而没做其他的部分,导致爱奇艺倒在了手写代码上面…哎,忧伤。。平时多刷刷leetcode,看看剑指offer/面试金典,都是套路啊~~
面试这几家公司所遇到的面试/笔试题,目前还能记住的如下。虽然可能绝大部分都是基础,但希望大家不要只是看看就过去了,最好还是假装你被问到这个问题,你来把答案说出来或写出来:(不按公司分了)
Python语法以及其他基础部分
- 手写快排;堆排;几种常用排序的算法复杂度是多少;快排平均复杂度多少,最坏情况如何优化;
- 手写:已知一个长度n的无序列表,元素均是数字,要求把所有间隔为d的组合找出来,你写的解法算法复杂度多少;
- 手写:一个列表A=[A1,A2,…,An],要求把列表中所有的组合情况打印出来;
- 手写:用一行python写出1+2+3+…+10**8 ;
- 手写python:用递归的方式判断字符串是否为回文;
- 单向链表长度未知,如何判断其中是否有环;
- 单向链表如何使用快速排序算法进行排序;
- 手写:一个长度n的无序数字元素列表,如何求中位数,如何尽快的估算中位数,你的算法复杂度是多少;
- 如何遍历一个内部未知的文件夹(两种树的优先遍历方式)
网络基础部分
- TCP/IP分别在模型的哪一层;
- socket长连接是什么意思;
- select和epoll你了解么,区别在哪;
- TCP UDP区别;三次握手四次挥手讲一下;
- TIME_WAIT过多是因为什么;
- http一次连接的全过程:你来说下从用户发起request——到用户接收到response;
- http连接方式。get和post的区别,你还了解其他的方式么;
- restful你知道么;
- 状态码你知道多少,比如200/403/404/504等等;
数据库部分
- MySQL锁有几种;死锁是怎么产生的;
- 为何,以及如何分区、分表;
- MySQL的char varchar text的区别;
- 了解join么,有几种,有何区别,A LEFT JOIN B,查询的结果中,B没有的那部分是如何显示的(NULL);
- 索引类型有几种,BTree索引和hash索引的区别(我没答上来这俩在磁盘结构上的区别);
- 手写:如何对查询命令进行优化;
- NoSQL了解么,和关系数据库的区别;redis有几种常用存储类型;
Linux部分
- 讲一下你常用的Linux/git命令和作用;
- 查看当前进程是用什么命令,除了文件相关的操作外,你平时还有什么操作命令;
(因为我本人Linux本身就很水,只会基本的操作,所以这部分面试官也基本没怎么问。。反正问了就大眼瞪小眼呗)
django项目部分
- 都是让简单的介绍下你在公司的项目,不管是不是后端相关的,主要是要体现出你干了什么;
- 你在项目中遇到最难的部分是什么,你是怎么解决的;
- 你看过django的admin源码么;看过flask的源码么;你如何理解开源;
- MVC / MTV;
- 缓存怎么用;
- 中间件是干嘛的;
- CSRF是什么,django是如何避免的;XSS呢;
- 如果你来设计login,简单的说一下思路;
- session和cookie的联系与区别;session为什么说是安全的;
- uWSGI和Nginx的作用;
(我发现基本不问django实现细节相关的东西。。或者问也问的很少,哎,之前准备的方向完全错了)
洋洋洒洒写了一个小时,发现还是有很多细节问题都已经忘了。。哎,自己的笔记做的还是不行。不过这些问题如果你能都答上来,起码我觉得你应该可以去试试面试初级web后端了。
三、教程推荐
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!