Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫

为什么学,怎么学?

学习一门技术,我觉得首先是要明确自己学习的初心。

所以,每学一门技术之前不妨给自己来个三连问:

第一个问题: 我为什么要学这个技术呢?

第二个问题:学了之后可以用来干什么呢?

第三个问题:我该怎么学习这个技术呢?

下面我就来给出我的答案:

  • 第一个问题:我为什么要学习这个技术?
    我的答案是为了找工作(工作需要)。我相信这也是很多小伙伴的学习目的。作为一个工作多年的老程序员,我学一门技术要么是做技术储备,要么是工作需要。当然,也不排除有的小伙伴是出于兴趣爱好等原因。
  • 第二个问题:学了之后可以用来干什么呢?
    我的答案是用来提高工作效率,增强自身能力。比如学习了Python之后我可以用Python来进行爬虫,来开发网站,来编写脚本等等。
  • 第三个问题:我该怎么学习这个技术呢?
    这个问题也非常重要,在学习之前没有考虑清楚的话就很容易走弯路。
    我的答案是首先制定一个靠谱的学习路线图,明确先学习什么,后学习什么,明确是通过看书学习,还是通过看视频学习,还是说通过博客学习,明确是边学边练,还是看着视频刷着手机。
    每个人的学习方法都不尽相同,适合自己的才是最好的。
    我学习方法是:
  1. 制定一个靠谱的学习路线图 (百度搜索XX技术的学习路线或者请教大牛)
  2. 制定学习计划,每天学习什么,每周要学习到啥程度
  3. 找靠谱的学习资源,边学边练。
  4. 编写博客记录自己的学习成果。

Python工程师需要哪些技能呢?

Python工程师需要具备哪些技能呢?我说的不算,张三说的不算,李四说的不算。只有实实在在的大厂的招聘要求说的算。这里我截取了几个大厂Python工程师的招聘要求。

  1. 腾讯招聘Python工程师

  2. 字节跳动招聘爬虫工程师

  3. 快手招聘 Python工程师

    这里找了几个有代表性的大厂的Python工程师的招聘需求。让我们简单分析下这些职位要求。
    共同点:
  • 熟悉Python编程语言(拥有相关的开发经验),语言只是一个工具,对大厂而言只需要你精通某一种开发语言即可。
  • 熟悉MySQL (这个是个通用技能,后端开发都绕不过)
  • 熟悉Linux 系统环境 (这个是个通用技能,后端开发都绕不过)
  • 熟悉主流的爬虫技术及爬虫框架(针对爬虫工程师)

所以,我们的学习路线图也就需要按照这些要求来制定。

1. Python基础的学习路线(必选)

首先是Python基础的需要掌握的知识点的学习路线图。如下图1所示

Python 基础必须熟练掌握,这也没啥好说的。这里说下几个特别重要的知识点:

  1. 数据类型,这是每个程序都会用到的,重点需要掌握序列类型里的列表list,tuple ,还有就是字典dict。
  2. 然后就是流程控制,循环,判断这个也是必须要会的。
  3. 接着就是函数,面向对象的思想,以及文件的操作。
  4. 最后就是并发编程,如何创建一个线程,怎么使用线程池,这个也是必须要掌握的。

Python基础学习资源推荐

这里推荐几个个人认为比较好的学习资源。

2. Python爬虫的学习路线(必选)

大厂纯Python爬虫工程师的岗位比较少,我找遍了阿里,腾讯,百度,字节的Python爬虫工程师的相关岗位。最终只在字节跳动招聘网站上找到了Python爬虫工程师的岗位。这就告诉我们学习Python不能止步于爬虫。 同样的这里我也给出一份爬虫的学习路线图,如下图2所示。

虽然,只掌握爬虫相关的知识点比较难找到对口的好岗位。但是如果能熟练掌握爬虫技术的运用,对自身Python开发能力会有一个非常大的提升。

爬虫的学习路线主要是:

  1. 掌握基础的HTML和Dom树的相关知识点,懂得啥叫元素,啥叫标签,啥是css选择器。
  2. 按照爬虫的三大步骤:抓取网页源码,提取所需数据,数据存储分别来学习。
  3. 首先是抓取网页源码,这里就是熟练运用requests库了。
  4. 接着是提取所需数据了,这里就是要熟练掌握lxml库的运用,XPath选择器,以及正则表达式了。
  5. 在接着就是保存提取的数据了。数据可以保存到MySQL,NoSQL 等数据库了或者CSV中。一般而言,在实际开发中都是保存数据库中。这就需要我们掌握一些数据库的基础知识了。
  6. 然后就是多线程爬虫,批量爬取数据的话,单线程的程序肯定是力不从心的,这时候就需要用到在Python基础学到的多线程的知识点。将其运用到实际爬虫中去。
  7. 如果每次都是这么搞,爬虫的效率势必会比较慢,这就开始学习专业了爬虫框架了Scrapy框架了。
    经过上述七个步骤,你对Python爬虫技术也了解的差不多了。
    但是大厂往往要求还会高一点,比如字节的爬虫工程师会要求你熟悉常见反爬封禁策略。

Python爬虫学习资源推荐

  1. 黑马Python爬虫学习视频
    获得方式:关注公众号【码农飞哥】回复: 学习资料

    推荐理由:视频讲解很细致,路线图中涉及到的知识点都讲解到了。唯一美中不足的是视频有点老了。视频还有配套的课件以及代码
  2. 13天搞定python分布式爬虫_尚学堂Python网络爬虫教程和爬虫实战详解_Python分布式
    推荐理由:免费视频,尚学堂官方出品,视频较新。爬虫相关的知识点基本涉及到了。
  3. 阿里云的Python学习路线
    推荐理由:学习视频免费,有完整的学习路线。

3. Python网站开发(必选)

学习完成Python爬虫中,相信你的Python开发能力已经上了一个很大的台阶,如果有兴趣的话可以学习一下Python网站开发。同样的这里给出了一个学习路线图。如图3所示:

网页开发需要了解一些必备的前端知识点。

  1. 了解前端知识点:HTML,CSS,ajax。
  2. 学习Flask框架或者Django框架,这两个框架都是Web开发框架。它们的区别是:
    Flask:
    小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。
    对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦的,使用Flask来开发大型网站也一样,开发的难度较大,代码架构需要自己设计,开发成本取决于开发者的能力和经验。
    Django:
    大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富。
    非常适合企业级网站的开发,但是对于小型的微服务来说,总有“杀鸡焉有宰牛刀”的感觉,体量较大,非常臃肿,定制化程度没有Flask高,也没有Flask那么灵活。

另外,快手招聘Python工程师要求掌握Tornado框架,这个框架也是一个Web框架,不过跟其他Web框架最大的不同是它是一个非阻塞式的web框架。

Python网站开发学习资源推荐

  1. Flask官网
  2. Django官方文档
  3. Tornado官方文档

4. MySQL的学习路线(必选)

从上面的招聘要求我们同样可以看出MySQL也是我们需要要掌握的一个知识点。MySQL的知识点很多很多,如果要学的很深的话着实要花费一番力气。这里我同样的列举出了一个MySQL的学习路线图,如下图5所示:

 老实说,不管是从事Java开发工程师的岗位,还是从事Python开发工程师,MySQL都是绕不过的坎。这里对MySQL的学习还不能只是掌握一些简单的皮毛知识。而是要将MySQL的进阶知识也要掌握好。针对进阶知识学有余力的同学可以掌握一下,普通的同学只需要掌握到SQL基础即可。

特别说明:

  1. MySQL的SQL基础必须要熟练掌握,最基础的建表删表修改表结构的DDL语句, 最基本的增删改查的DML语句,以及复杂的SQL语句,比如关联查询,子查询等等都是要求必须掌握的。
  2. 还需要掌握一下数据库事务,数据库锁,以及SQL语句的优化。

MySQL学习的推荐资源

  1. 《MySQL必知必会》
    推荐理由:这是我整篇文章中推荐的唯一一本书,无他,就是因为这本书小巧,并且特别是和小白入门学习。
  2. SQL在线练习
    leetcode数据库刷题:
     推荐理由:XUESQL网站是一个练习SQL的网站是,适合从基础开始练习,题目由浅入深,而且有配套B站视频。leetcode不仅可以刷算法题,还可以练习写SQL,而且可以在线测评,和评测算法题一样,也会让你很直观的看到自己所写的SQL的运行速度等。相对而言,leetcode中的SQL题目要复杂些。其实,练习SQL最重要的还是要有实际场景,只靠网站练习可能在实际工作中用处不大,如果你日常工作经常遇到些SQL的场景,那么慢慢你的SQL水平就会提升上去。

5. Linux 基础(必选)

基本上大多数的项目和网站都是部署在Linux服务器上的,所以掌握Linux的常用操作就显得尤为必要,这也是相关岗位的招聘需求上明确写到的。Linux的学习路线图如下图4所示:

因为Linux不是我们学习的重点,所有我们只需要掌握Linux初阶阶段要求掌握的知识点。对于学有余力的同学,可以学下中级乃至高级的知识点。

Linux初级阶段重点需要掌握的知识点包括:

  1. Linux 的常用命令,这个真的太重要了。
  2. 文件与目录管理
  3. 文件权限与目录配置
  4. 文件的打包和压缩

Linux基础学习资源推荐

  1. 鸟哥的Linux私房菜简体中文版
    推荐理由:鸟哥的Linux私房菜真的是Linux学习的首推资料。我当初还没买了一本实体书,实在是太厚了,也没有看完。实在不推荐买实体书。不过好在鸟哥的Linux私房菜出了在线学习网站,不过官方网站是繁体中文的,对我们这些使用简体的人来说着实有点不太友好。
    所以这里我放出了相对比较友好的简体中文版鸟哥的Linux私房菜简体中文网站
  2. Linux 命令大全
    推荐理由:其实日常开发中我们用的最多的就是各种Linux命令,这里推荐一个Linux命令大全的网站。查找命令特别方便。

总结

本文从大厂Python工程师的招聘要求出发,罗列了作为一个Python工程师所必须掌握的知识点,并附上了众多优质的免费的资料。

在此诚邀您加入我的社区。各近3W的社员一起打卡学习,学习的路上不在孤单。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
安全 网络安全 数据安全/隐私保护
|
29天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
【10月更文挑战第12天】本文探讨了Python开发中性能优化和代码审查的重要性,介绍了选择合适数据结构、使用生成器、避免全局变量等性能优化技巧,以及遵守编码规范、使用静态代码分析工具、编写单元测试等代码审查方法,旨在帮助开发者提升开发效率和代码质量。
33 5
|
14天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
98 44
|
9天前
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
33 3
如何使用Python开发API接口?
|
2天前
|
存储 数据库连接 API
Python环境变量在开发和运行Python应用程序时起着重要的作用
Python环境变量在开发和运行Python应用程序时起着重要的作用
32 15
|
23天前
|
存储 网络安全 数据安全/隐私保护
|
2天前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
12 1
|
8天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
15天前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
56 7
|
17天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
探讨了Python开发中性能优化和代码审查的重要性,介绍了选择合适数据结构、使用生成器、避免全局变量等性能优化技巧,以及遵守编码规范、使用静态代码分析工具、编写单元测试等代码审查方法,旨在帮助开发者提升开发效率和代码质量。
38 8