大家好,这里是程序员晚枫,知识星球:Python读者圈。
昨天收到一个星球的提问,感触很深。今天我就详细回复一下。
冯,如何成为初级Python后端开发者?需要学习什么,如何提高学习效率?
这个回复主要集中在三个方面,首先是你的问题本身:初级Python后端,市场上需要哪些技术?
这些技术应该如何高效学习?有什么意义?
另外,我个人感觉你这个问题背后隐含了一个问题:怎样才能在求职竞争中脱颖而出,战胜其他面试官,从而成功登陆?
0.写在前面。说实话,我不敢回答这个问题。
因为我只是这条路的初学者。作为一个法学院毕业的程序员,我走了很多坑,撞了很多南墙。一些看似正确的方向,我几乎没摸到。我会误导别人吗?
但在与提问的同学:提灯笼的猫主人沟通了47分钟后,我决定认真整理一下这段沟通。
一方面,我被深深地震撼了:他坚定的决心和强大的自学能力给我留下了深刻的印象。我必须记录我们的交流。
另一方面,也让我想起了自己刚毕业决定转行Python程序员时遇到的困难和内心的决心:路已经走到这一步,尽管前路艰险,我也别无选择,只能破釜沉舟。当时开微信官方账号的初心,只是为了记录自己的成败,分享给有需要的人。目前星球上有几个朋友,因为他们是在这种需要突破的情况下来找我的。谢谢你花时间和我交流。我学到了很多,又一次有了一种和你一起努力的感觉。
0从basic转到Python程序员,这件事成功的样本很少。可能我的经历是错误的,可能只适合一小部分人,但毕竟我从0基础做到了Python程序员,所以说说我的想法,也算是给你增加了一个参考角度。
1.市场需求如何?
开始我们的文字。
首先,分析一下市场上的初级Python后端。需要哪些技术?
我们公开招聘初级Python后端需求:图片来自智联招聘,
城市:广州,
搜索关键词:Python,
筛选条件:1年工作经验
这是一个后端开发岗位的典型要求,大家可以在网上搜一下。其中,除了学历、经验等硬件要求外,技术要求主要包括:Python、django/flask、applet开发、linux环境和常用命令、apache/nginx、了解docker容器;Mysql、Redis
怎么学?用每一个词搜索哔哩哔哩:python,linux,你可以看到很多课程。随便找一套就学会了。
如果我在这里回复这个问题,你肯定会打我。那么我们来谈谈这个重要的问题:如何提高学习效率?
2.如何高效学习?
专业和业余的区别之一就是专业的人知道这个问题的重点在哪里。
所以我认为高效学习的秘诀,在我看来,就是:专注于每一项技术。
这个重点包括两个方面:①哪些技术是重点?②关键技术的难点在哪里?
①哪些技术是重点?
Python、django/flask、applet开发、linux环境和常用命令、apache/nginx、了解docker容器;Mysql、Redis
回到刚才的招聘信息,面对这么多的信息,如果你选择了这些不需要学习的技术,剩下的就是重点了吗?所以:
必学:python本身,django/flask,linux常用命令,mysql
当选:nginx、docker、redis
学不会:小程序开发,apache
②关键技术的难点在哪里?对于一件事情的优化,既可以优化微观层面,也可以优化宏观层面。
这些必学内容,常见的linux命令和mysql的要点是什么?
Python:面向对象,生成器/迭代器,装饰器,进程,线程和协程,duck协议,带文件读取的原理,python为什么慢?等一下。没有哪本书,如果完全理解,可以胜任初级后端的Python开发。有。这本书是:光滑的蟒蛇。
Django/flask:这两个是后端框架。学习的时候,你只需要思考一个问题:如果我来开发后端框架,我会考虑哪些问题?你对这个问题研究的越深入,你的工资就会越高。
Linux:vim,权限管理,部署项目,加上一些基本操作。
Mysql:优化,优化,优化!
3.如何成功上岸?这是我通过你的问题想到的问题,但我觉得这是最重要的回复。
你有没有想过,做完以上,去面试的时候,你的对手会是谁?
不出意外的话,会是那些学计算机的,学理科的,和你一样努力的人~!
我们应该从上面学到什么?各科重点是什么?他们的专业大学教授比我多。你认为光学能做到吗?你能赢吗?我当时也问过自己同样的问题,我觉得我做不到。但是可以无限接近。最后,专业课的学生会去大厂。我会去中小工厂,进入一个职业门槛,获得一个基础岗位。机会应该是有的。
那么,它有多近呢?
受过训练的人和没受过训练的人最大的区别是什么?我觉得是对同一知识理解的广度和深度,或者说系统化。
以上招聘要求,你已经学完了,这是你脑海中的画面
每个知识点可能都懂,但是它们之间有什么关系呢?为什么这行代码要这样写?为什么要做这个技术选择?我很困惑。
而训练有素的程序员,学了这些知识之后,脑子里的画面是这样的。
每个人在技术的应用上是相似的,但是对技术的不同理解决定了最终的成败。
所以,让我们继续思考。培训班的程序员是怎么获得这种理解能力的?
我也不认为他们是神仙。他们是学不到空的。一定是因为他们学的比我多。
他们学到了更多什么?
我的回答是:计算机基础。
但是计算机基础专业课那么多,哪些是计算机基础中的重点?我想到了一个办法:去看看考研考什么。在一份150分的试卷中,中国大学教授用什么知识来判定一个计算机本科学生在四年的计算机专业中是否合格?答案是以下四门课程:
数据结构和算法计算机组成原理
计算机网络
操作系统
关于这些课程所需的免费入门课程,我已经在沟通后给提问的同学发了私信。如果你也需要学习,可以发送到微信官方账号:程序员丰丸后台,发送到四大金刚,24小时自动获取~经过整体梳理,我的结论是:两条腿走路比较安全。第一,学好技术的应用。如果有精力,同时学习计算机基础知识。只有这样,你不仅能学到Python知识,还能成功转行。
有些朋友可能觉得这样太慢了?
其实最后你会发现,慢慢来才是最快的方法。
程序员找不到工作,去外包2年?请不要走
用Python自动生成图文并茂的数据分析报告
面试了20k的Python工程师讲了这26个问题,都是经典!
1行Python代码,实现PDF转图片,速度太快了。