前言
看到后台有粉丝问我“27岁零基础努力自学Python,多久或什么程度可以找到工作?”这个问题,我在这统一回复一下,因为我就是零基础学Python转行的!
我是零基础转行做Python,很感谢自己当时的坚持,让我实现了职业的跨越,希望以下我的经历,可以作为一个参考。
持续多久这不好说,零基础的话,感觉最快也得3个月吧。
Python工作也细分好多种,可以好好考虑一下喜欢哪一个工种~~~~
比如:
Python工作细分包含多个岗位,这些岗位根据Python在不同领域的应用而有所不同。以下是一些主要的Python工作岗位细分:
1.数据分析师
- 工作内容:利用Python进行数据的收集、清洗、分析和可视化,以发现数据中的规律和趋势,为企业的决策提供支持。
- 技能要求:**统计学基础、Python的数据分析库(如Pandas、NumPy、matplotlib)和数据库等。
- 薪资范围:平均薪资大约在15-25k(具体薪资因地区和公司规模而异)。
2.人工智能工程师
- 工作内容:专注于人工智能领域的开发,包括机器学习、深度学习等,利用Python编写相关算法和模型,解决实际问题。
- 技能要求:统计学基础、Python、数据分析库、机器学习和深度学习框架(如TensorFlow、PyTorch)等。
- 薪资范围:平均薪资较高,大约在20-40k(具体薪资因技术难度和职位需求而异)。
3.网络爬虫工程师
- 工作内容:使用Python编写爬虫程序,从互联网上抓取和收集数据,为企业的数据分析和业务决策提供支持。
- 技能要求:前端基础、Python爬虫库(如Scrapy、Requests)、JS反爬技术和数据库等。
- 岗位特点:爬虫技术能大大提高工作效率,学会Python爬虫后,即使不做程序员的工作也能加分不少。
4.游戏开发工程师
- 工作内容:专注于游戏开发领域,利用Python编写游戏引擎和服务器功能,进行游戏性能优化等工作。
- 技能要求:Python、Python Web框架、Linux、数据库和Nginx等。
- 薪资范围:平均薪资在15-25k之间(具体薪资因游戏类型和公司规模而异)。
5.Web开发工程师(后端)
- 工作内容:利用Python进行Web后端开发,设计RESTful服务,进行数据库操作等。
- 技能要求:前端基础、Python基础、主流Python Web框架(如Flask、Django)等。
- 岗位应用:许多知名网站(如知乎、豆瓣)和国外大站(如YouTube、Instagram)都使用Python进行Web开发。
6.自动化测试工程师
- 工作内容:使用Python编写自动化测试脚本和框架,进行界面自动化和API测试,提高测试效率。
- 技能要求:Python、自动化测试框架(如Selenium、PyTest)和Linux等。
- 岗位特点:自动化测试避免了大量重复工作,提高了测试效率。
7.自动化运维工程师
- 工作内容:利用Python编写自动化脚本和工具,进行服务器管理、系统监控和文档管理等工作。
- 技能要求:Python、shell、Linux、数据库和openpyxl库等。
- 岗位特点:自动化运维能够显著提高运维效率,降低人力成本。
8.软件开发工程师
- 工作内容:使用Python进行各种软件开发工作,包括但不限于Web开发、桌面应用开发、移动应用开发等。
- 技能要求:Python基础、相关开发框架和库、软件开发流程等。
9.系统管理员
- 工作内容:利用Python编写系统管理脚本,进行自动化运维、网络编程等任务。
- 技能要求:Python基础、系统管理知识、网络编程等。
10.网络安全工程师
- 工作内容:利用Python编写安全工具和脚本,进行漏洞分析、安全测试和网络防护等工作。
- 技能要求:Python基础、网络安全知识、攻防技术等。
这些岗位只是Python工作细分的一部分,实际上Python的应用领域非常广泛,还有许多其他岗位可以供Python编程人员选择。在选择岗位时,可以根据自己的兴趣、专业背景和市场需求等因素进行综合考虑。
【----相关技术讨论,Python入门基础教程文末见晓!----】
到什么程度可以找Python相关的工作呢?
个人是这么认为的,包括但不限于以下三点:
1.在不查阅资料的情况下,现场用Python写出解决面试官问题的简单代码或实现一些基础的算法,比如用Python写个读文件处理文件内容的脚本啊,写一个二分查找啊,写一个快排啊等等,这个可以参考一些面试的书籍。
2.用Python做过一个或多个项目,这样面试官问起项目经验的时候也有得说了。面试官应该比较难接受一个从来没有相关项目经验的人吧。
3.面试有的时候还包括一些语言无关的东西,TCP/IP协议、HTTP协议什么的题主懂的,这些看一些面试的书也有,或者网上搜一些公司的面试题也可以。
零基础自学三个月 足够找到工作的了。如果你是全职学的话,学习300个小时 就足够达到找到工作的水平了。
我发现很多人有个误区,认为转行 软件开发 一定要把技术学的很好,找不到工作就是因为技术不够好。
这是错误的想法,找不到工作只有一种原因,你没有向面试官表现出你可以胜任这份工作。
自学转行python 的核心 是 “转行", 是找到工作。 所以你要以面试为核心去学习 python 。
比如你要转 python web 开发。 那你需要具备什么能力 才会找到初级岗位呢?
初级岗位一般是 写接口。 只要你会写接口。 就能找到初级的工作。
写接口需要 去学哪些知识: python 语法知识 + web框架的简单使用(推荐flask) + orm建模 + restfullapi 规范
这些学完 大致需要 学习 150个小时。 然后开始投简历,找面试机会。
学习完 Python 基础后该干嘛?
很多人都知道 Python ,但是却不知道学习了 Python 之后具体能干嘛,很多人的想法都停在了“学习 Python 是为了以后搞人工智能”这个粗糙的阶段,下面我就举几个常见的(我不会告诉你我就知道这几个)。
Web 应用开发:服务器端的编程,具有很丰富的 Web 开发框架,如 Django,能够快速完成一个网站的开发和 Web 服务,比如 Google,豆瓣等。
数据分析:Python 被广泛的应用到科学与数字分析中,比如图像可视化分析,生物信息学,常用的是 Numpy , Scipy 等。
系统网络运维:在运维的工作中,有大量重复性的工作,并需要管理,监控,发布系统等,将工作自动化起来,提高工作效率,这样的场景非常适合 Python。
3D 游戏开发:Python 有很好的 3D 渲染库和游戏开发框架,常用 Pygame, ,Pykyra 等。
网络爬虫:网络爬虫是一种按照一定的规则,自动抓取互联网信息的程序或脚本,你可以用爬虫爬图片,爬数据,只要你能通过浏览器访问的数据就没有爬不到的。
以上几种是我了解到的,还有很多方向就不一一列举了,我在这只是简单的介绍了一下,如果你对哪方面感兴趣,可以自己深入的查下去。
如何学习Python?
零基础学习,建议视频为主,书籍为辅,然后多敲代码。
Python 视频推荐
我 Python 学习的很多视频都是在 B 站上看的,刚开始的时候也不知道谁好谁不好,陆陆续续的踩了很多坑,捡了很多垃圾,同样也甄别出来一些比较好的,我掏了掏我的收藏夹,瞄了瞄别人的推荐,将自己觉得比较好的推荐给大家,大家放心食用。
有事的时候就扔收藏夹里,没事的时候就拿出来晒晒太阳...
Python 基础:
1、[小甲鱼]零基础入门学习Python
2、微软 Python 入门课程
这是微软放出的一门免费的 Python 教程,名字叫 Python for Beginners,专为初学者打造,一共有 44 个视频,每个视频的时长大概在 2-6 分钟之间,只有极少数的几个时间在 10 分钟以上。
整个课程由两位讲师共同讲解,分别是微软高级项目经理Christopher Harrison和微软的 AI Gaming 开发经理 Susan Ibach,英文配中文字幕,食用起来极佳,同时课程的示例代码和 PPT 微软也同步到了GitHub 上,只能一句卧槽走天下了...
如果你觉得这个教程不错,学完了基础可以看一下后续的微软官方的进阶教程,其实也是基础语言的一部分。
Python 数据结构与算法:
1、【北京大学】数据结构与算法Python版
数据结构与算法的重要性不言而喻,作为一个前 ACMer 更是深有感触。北京大学这门课主要由陈斌教授主讲,介绍常见的数据结构和相关的经典算法,包括线性结构、递归与dp、排序与查找、树及其算法等。
这门课我觉得最好的一个点是,比较关注数据结构与算法的时间空间效率,这个是很多课程忽略的地方,时间和空间效率是数据结构和算法yyds,学会了这个你就学会了分析优劣,成长是不可同日而语。
同时这门课也比较注重数据结构和算法的实践应用,毕竟只有真正用起来你才知道你是不是真的学会了,课程里的案例和变成习题建议好好做一下。
提醒一下,这个是面向有 Python 基础的,也就是你要先把 Python 基础学会。
爬虫:
1、Python 爬虫全套课程
这是个比较全的 Python 爬虫教程,一共 100 集,没有什么特别长的,内容包括 http、requests、正则、bs4、xpath、异步爬虫、selenium和 scrapy 框架等等等等,其中还包括一些实战内容,大家可以跟着学习,顺便动手实操一下。
2、Python3 爬虫从入门到精通 - 崔庆才
爬虫在最开始学习的时候,看的是崔大的书《Python3网络爬虫开发实战》,应该快有第二版。
比起其他的通用的知识,视频还包括大家头痛的环境配置、常用软件和库的安装。这个应该不用我做过多解释,看就完事了。
数据分析:
1、Python 数据分析与展示
北京理工大学 MOOC 教程,视频以表示数据为主要讲解内容,介绍 Numpy、Pandas、Matplotlib等内容,其中穿插着 4 个比较大的教学案例和一些小的示例,如果你能跟着学下来,基本上可以掌握数据表示、清洗、统计和展示数据的能力。
2、利用 Python 进行数据分析
这个视频是针对动物书《利用 Python 进行数据分析》来讲的,这本书之前给学妹推荐了很多次,大家可以点击学妹进行查看...
视频搬自油管主 Chenghsi Hsieh,声音有点台湾腔诶,但是不影响听,甚至还有点想笑,明明是个男声,我听的时候脑袋里总是会出现嗲嗲的带着台湾腔的女孩子...害
课程一共有 54 节,大多数的时间还是比较长的,差不多 50 分钟往上走了,内容包括 Numpy、Pandas 以及数据可视化等等,如果你有书,可以对着书来看一下,没有的话也建议整本电子书,抛开视频,利用 Python 进行数据分析这本书也是值得看的。
机器学习:
1、浙江大学研究生机器学习课程
浙江大学 2017 级研究生课程机器学习,胡浩基老师课讲的很细,画质和声音也非常在线,可以搭配李航的《统计学习方法》来看,这门课对大家很头痛的公式推导的讲解还是很明白的。
2、李宏毅机器学习课程
台湾大学李宏毅老师的课,国语。很多人选择他的课作为机器学习课程的入门首选,推荐的这个是 2021 年李宏毅老师新上传的机器学习课程,评价一如既往,大家放心食用。
可能很多同学也会推荐吴恩达的机器学习系列课程,一方面比起英文授课我还是喜欢在学习的时候听中文,另一方面在某些方面上,我觉得还是李宏毅老师的讲的容易懂一些,当然都很好,选择哪个看自己的喜好。
3、【机器学习】微软官方 Python 高阶教程
这是我在 Python 基础提到的微软 Python入门教程的高阶版,还是那俩讲师来讲的,高阶版围绕工具、Numpy、Pandas 和 scikit-learn 来讲,不多说了,感兴趣的可以去看一下。
【----相关技术讨论,Python入门基础教程文末见晓!----】
Python 书籍推荐
我会从 Python 入基础、爬虫、数据分析、机器学习几部分来推荐,当然 Python 基础的书我会稍微详细说一下,至于 Python 开发方面,虽然我考完研也做过一段时间的后台开发的实习生,但也仅限于玩票,所学基本来自于官方文档,没有系统的看过书,所以就不在此乱做推荐...
Python 基础
1.《Python编程 从入门到实践》
理论 + 实践,前面是基础知识,后面是实战项目。
前面的基础知识讲的很详细,以至于给我当时的感觉有点过于啰嗦了,不知道其他人看会是什么感觉。每个知识点后面都带着“动手试一试”,我感觉这点比较好,学编程之初,就是要多练,多敲代码...
至于后面的实践部分,包括一个简单的 2D 游戏、数据可视化和 web 项目,可能是当时我太菜了,或者之前没有做过项目的原因,我觉得这三个项目出现的太突兀了,2D 那个游戏做完我就直接被劝退了,倒是没觉得有啥提升,没甚意思,sad...
而且跟着书做项目,因为书出版的时间太长,很多用法都变了,照着书上做,大概率会有运行错误的时候,可能心态有点崩...
2.《零基础入门学习 Python(第2版)》
我大二的时候有一段时间想转去 Python,当时也没买书,就想先了解一下,不知道怎么就搜到了小甲鱼的论坛,当时跟着他的视频学过一段时间(现在看来当时的视频比较老),还专门去他网站冲了个永久的会员,好像一百多来着,后面好像再也没登陆过...去年他的书出了第二版,就买来看了一下...
非计算专业的同学可以拿来一看,如果你想系统学习一下的话,就别花这钱了,内容有点乱,这个得真的配合他的视频食用了,不然真的难顶,但如果一本书需要配合视频才能看懂,那也就不太推荐了...
3. 《Python基础教程(第3版)》
整本书的结构很清晰,内容简单但是不肤浅,整个基础知识的讲解简洁明了,一点也不啰嗦,很容易就看懂了,不会有那种我看了好几遍才理解的情况,各种小的代码片段比比皆是,在练习的过程中反过来再加深对概念的理解。而且作为实践部分,它后面带了十个小项目,按照实际开发的步骤介绍Python 项目的过程。
如果实在让我推荐一本,我是会推荐买这本书的...
Python 爬虫
1.《Python3 网络爬虫开发实站》
书很厚,量很大,不过现在这本书很多网站也在升级,里面的很多代码都失效了,听说崔大现在在写第二版,大家期待一下...
Python 数据分析
数据分析是现在很火的一个概念,但是不知道为什么现在谈起数据分析,必定有个 Python 的前缀,这就给很多同学造成了误解,认为数据分析一定要用 Python,这就成了一个很错误的概念。
数据分析重要的是分析,Python 只是服务于它的一个工具而已。当然这个不是一句两句就可以解释清楚的,以后我会出一些列关于数据分析的文章,届时再科普...
那么既然是说到了 Python 的数据分析,那我就先只推荐几本关于这方面我看过的书.(但是千万别理解成只有这些)...
1.《利用 Python 进行数据分析》
动物书,不多说,这大概是入门数据分析的必读书籍,主要介绍了 numpy、pandas 和 matplotlib 这三个Python 数据科学的库。
里面有很多功能语法的介绍,可能是因为这本书的作者同样也是 pandas 的作业,所以这本书里对 pandas的描述非常细,如果你买了这本书,其他 pandas 的书基本可以不用买了,这本书基本可以满足你哪里不会查哪里了...
不过对于这本书来说,缺少一些实践性的案例操作,还是有些难顶的...
2.《对比 Excel,轻松学习 Python 数据分析》
从 Excel 出发学习 Python 数据分析,这本书我翻完了,成为畅销书是有道理的,简单易读又容易操作,从我们熟悉的 Excel 入手,通过对比 Excel 的常用操作来用 Python 实现,能够带你快速掌握 Python 数据分析的常用操作,跟着走下来,像基本的 pandas,numpy 和 matplotlib 的用法都会了然于胸。
机器学习
机器学习的话,如果说直接想实战,那直接就上 scikit learn 的官网就好了,现官网内容非常详细,不管是算法说明,参数文档还是对应的案例都应有尽有。至于对应到的知识点,现在网上好的文章也非常多,直接对应去搜就好了。
如果想系统的学习的话,可以看一下下面这几本书:
1.《机器学习》
周志华老师的《机器学习》(西瓜书)作为机器学习领域的入门教材,可以说是学习机器学习的必读教材,在内容上基本涵盖了机器学习的很多方面,包括基础知识、经典的机器学习方法以及规则学习和强化学习这些进阶知识。
2.《统计学习方法(第2版)》
纯理论的书,怎么说呢,想学机器学习,统计学习是迈不过去的坎~
3.《机器学习实战》
主要介绍了机器学习基础,还有就是如何用算法进行分类,还有监督学习和无监督学习的经典算法,再就是机器学习算法里的一些附属工具。
通过一些实例,切入日常工作任务,没有很多学术化的语言,通过实例学习到机器学习的核心算法,算是一本实战经典书。
Python 面试题
学到什么程度?这一套下去,知根知底!
在投简历的时候, 同时开始进行刷题,刷面试题。 不要停。
下面是 Python 的高频面试题,涉及方方面面,什么水平,自己来试试!
每个分类的最后提供了答案,但是一定要自己先回答。
①Python 基础(共 42 道)
1、什么是Python?
2、赋值、浅拷贝和深拷贝的区别?
3、init 和new的区别?
4、Python 的变量、对象以及引用?
5、创建百万级实例如何节省内存?
6、Python 里面如何生成随机数?
7、Python 是强语言类型还是弱语言类型?
8、谈一下什么是解释性语言,什么是编译性语言?
9、Python 中有日志吗?怎么使用?
10、Python 是如何进行类型转换的?
11、Python 中的作用域?
12、什么是 Python 自省?
13、什么是 Python 的命名空间?
14、你所遵循的代码规范是什么?
15、关于 Python 程序的运行方面,有什么手段能提升性能?
16、dict 的 items() 方法与 iteritems() 方法的不同?
17、os.path和sys.path的区别?
18、4G 内存怎么读取一个 5G 的数据?
19、输入某年某月某日,判断这一天是这一年的第几天?
20、说明一下 os.path 和 sys.path 分别代表什么?
21、Python 中的 os 模块常见方法?
22、说一下字典和 json 的区别?
23、什么是可变、不可变类型?
24、存入字典里的数据有没有先后排序?
25、lambda 表达式格式以及应用场景?
26、如何理解 Python 中字符串中的\字符?
27、常用的 Python 标准库都有哪些?
28、如何在 Python 中管理内存?
29、介绍一下 except 的作用和用法?
30、在 except 中 return 后还会不会执行 finally 中的代码?怎么抛出自定义异常?
31、read、readline 和 readlines 的区别?
32、range 和 xrange 的区别?
33、请简述你对 input()函数的理解?
34、代码中要修改不可变数据会出现什么问题?抛出什么异常?
35、print 调用 Python 中底层的什么方法?
36、Python 的 sys 模块常用方法?
37、unittest 是什么?
38、模块和包是什么?
39、什么是正则的贪婪匹配?
40、常用字符串格式化哪几种?
41、面向对象深度优先和广度优先是什么?
42、“一行代码实现 xx”类题目
②Python 进阶(共 47 题)
1、Python 中类方法、类实例方法、静态方法有何区别?
2、Python 的内存管理机制及调优手段?
3、内存泄露是什么?如何避免?
4、Python 函数调用的时候参数的传递方式是值传递还是引用传递?
5、对缺省参数的理解?
6、为什么函数名字可以当做参数用?
7、Python 中 pass 语句的作用是什么?
8、面向对象中super的作用?
9、是否使用过functools中的函数?其作用是什么?
10、json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?
11、什么是断言?应用场景?
12、有用过with statement吗?它的好处是什么?
13、简述 Python 在异常处理中,else 和 finally 的作用分别是什么?
14、map 函数和 reduce 函数?
15、递归函数停止的条件?
16、回调函数,如何通信的?
17、 setattr__,_getattr,__delattr函数使用详解?
18、请描述抽象类和接口类的区别和联系?
19、请描述方法重载与方法重写?
20、什么是 lambda 函数? 有什么好处?
21、单例模式的应用场景有哪些?
22、什么是闭包?
23、什么是装饰器?
24、函数装饰器有什么作用?
25、生成器、迭代器的区别?
26、多线程交互,访问数据,如果访问到了就不访问了,怎么避免重读?
27、Python 中 yield 的用法?
28、谈下 python 的 GIL?
29、Python 中的可变对象和不可变对象?
30、一句话解释什么样的语言能够用装饰器?
31、Python 中 is 和==的区别?
32、谈谈你对面向对象的理解?
33、Python 里 match 与 search 的区别?
34、用 Python 匹配 HTML g tag 的时候,<.> 和 <.?> 有什么区别?
35、Python 中的进程与线程的使用场景?
36、解释一下并行(parallel)和并发(concurrency)的区别?
37、如果一个程序需要进行大量的 IO 操作,应当使用并行还是并发?
38、如果程序需要进行大量的逻辑运算操作,应当使用并行还是并发?
39、在 Python 中可以实现并发的库有哪些?
40、Python 如何处理上传文件?
41、请列举你使用过的 Python 代码检测工具?
42、python 程序中文输出问题怎么解决?
43、Python 如何 copy 一个文件?
44、如何用Python删除一个文件?
45、如何用 Python 来发送邮件?
46、当退出 Python 时,是否释放全部内存?
47、什么是猴子补丁?
③Python 后台开发(共 44 题)
Flask
1、Flask 中请求上下文和应用上下文的区别和作用?
2、对 Flask 蓝图(Blueprint)的理解?
3、Flask 项目中如何实现 session 信息的写入?
4、项目接口实现后路由访问不到怎么办?
5、Flask 中 url_for 函数?
6、Flask 中请求钩子的理解和应用?
7、一个变量后写多个过滤器是如何执行的?
8、如何把整个数据库导出来,再导入指定数据库中?
9、Flask 和 Django 路由映射的区别?
10、跨站请求伪造和跨站请求保护的实现?
11、Flask(name)中的name可以传入哪些值?
Django
1、Django 创建项目的命令?
2、Django 创建项目后,项目文件夹下的组成部分(对 mvt 的理解)?
3、对 MVC,MVT 解读的理解?
4、Django 中 models 利用 ORM 对 Mysql 进行查表的语句(多个语句)?
5、django 中间件的使用?
6、Django 项目的优化?
7、谈一下你对 uWSGI 和 nginx 的理解?
8、说说 nginx 和 uWISG 服务器之间如何配合工作的?
9、django 开发中数据库做过什么优化?
10、验证码过期时间怎么设置?
11、Python 中 Django、Flask、Tornado 三大框架各自的应用场景?
12、django 如何提升性能?
13、什么是 restful api,谈谈你的理解?
14、启动 Django 服务的方法?
15、怎样测试 django 框架中的代码?
16、有过部署经验?用的什么技术?可以满足多少压力?
17、Django 中哪里用到了线程?哪里用到了协程?哪里用到了进程?
18、django 关闭浏览器,怎样清除 cookies 和 session?
19、代码优化从哪些方面考虑?有什么想法?
20、Django 中间件是如何使用的?
21、ngnix 的正向代理与反向代理?
22、简述 Django 下的(内建的)缓存机制?
23、Django HTTP 请求的处理流程?
24、Django 里 QuerySet 的 get 和 filter 方法的区别?
25、跨域请求问题 django 怎么解决的?
26、Django 对数据查询结果排序怎么做,降序怎么做,查询大于某个字段怎么做?
27、Django 重定向你是如何实现的?用的什么状态码?
28、生成迁移文件和执行迁移文件的命令是什么?
29、关系型数据库的关系包括哪些类型?
30、查询集返回列表的过滤器有哪些?
31、Django 本身提供了 runserver,为什么不能用来部署?
32、HttpRequest 和 HttpResponse 是什么?干嘛用的?
33、Django 日志管理?
④爬虫(共 35 题)
常见问题
1、爬取数据后使用哪个数据库存储数据的,为什么?
2、你用过的爬虫框架或者模块有哪些?谈谈他们的区别或者优缺点?
3、写爬虫是用多进程好?还是多线程好? 为什么?
4、常见的反爬虫和应对方法?
5、需要登录的网页,如何解决同时限制 ip,cookie,session(其中有一些是动态生成的)在不使用动态爬取的情况下?
6、验证码的解决?
7、使用最多的数据库(Mysql,Mongodb,redis 等),对他们的理解?
8、写一个邮箱地址的正则表达式?
9、如何定时启动你的爬虫项目?
10、爬的那些内容数据量有多大,多久爬一次,爬下来的数据是怎么存储?
11、cookie 过期的处理问题?
12、动态加载又对及时性要求很高怎么处理?
13、谈一谈你对 Selenium 和 PhantomJS 了解?
14、代理 IP 里的“透明”“匿名”“高匿”分别是指?
15、robots 协议有什么用处?
16、为什么 requests 请求需要带上 header?
17、dumps,loads 与 dump,load 的区别?
18、平常怎么使用代理的?
19、IP 存放在哪里?怎么维护 IP?对于封了多个 ip 的,怎么判定 IP 没被封?
20、怎么获取加密的数据?
21、假如每天爬取量在 5、6 万条数据,一般开几个线程,每个线程 ip 需要加锁限定吗?
22、怎么监控爬虫的状态?
框架
1、描述下 scrapy 框架运行的机制?
2、谈谈你对 Scrapy 的理解?
3、什么是增量爬取?
4、爬虫向数据库存数据开始和结束都会发一条消息,是 scrapy 哪个模块实现的?
5、爬取下来的数据如何去重,说一下具体的算法依据?
6、Scrapy 的优缺点?
7、什么是 scrapy-redis 中的指纹?是如何去重的?
8、怎么设置深度爬取?
9、scrapy 和 scrapy-redis 有什么区别?为什么选择 redis 数据库?
10、分布式爬虫主要解决什么问题?
11、什么是反向代理?作用是什么?
12、什么是分布式存储?
13、你所知道的分布式爬虫方案有哪些?
⑤机器学习(共 32 题)
1、什么是机器学习?
2、机器学习与数据挖掘的区别?
3、什么是机器学习的过度拟合现象?过度拟合产生的原因?如何避免过拟合问题?
4、什么是机器学习的欠拟合?如何避免欠拟合问题?
5、解释有监督和无监督机器学习之间的区别?
6、偏差和方差之间的权衡是什么?
7、解释 KNN 和 k-means 聚类之间的区别?
8、什么是贝叶斯定理?我们为什么用它?
9、什么是朴素贝叶斯分类器?我们为什么要使用它们?
10、判别模型和生成模型之间有什么区别?
11、什么是参数模型?提供一个例子
12、如何根据训练集大小选择分类器?
13、解释ROC曲线和AUC?
14、如何确保您不会过度拟合模型?
15、说明如何处理数据集中的丢失或损坏的数据?
16、解释如何开发数据管道?
17、如何解决模型中的高方差?
18、什么是超参数?它们与模型参数有何不同?
19、你正在处理数据集。如何选择重要变量?
20、为什么 XGBoost 的性能优于 SVM?
21、以下混淆矩阵的召回率,特异性和精确度是多少?
22、使用 scikit-learn 时,是否确实需要在特征值变化很大时调整特征值?
23、你的数据集有 50 个变量,但是8个变量的缺失值高于 30%。如何解决这个问题?
24、协方差和相关性有什么区别?
25、你认为把分类变量当成连续型变量会得到一个更好的预测模型吗?
26、在 K-means 或者 KNN,我们是用欧氏距离来计算最近的邻居之间的距离,为什么不用曼哈顿距离?
27、给你一个数据集,这个数据集有缺失值,且这些缺失值分布在高中值有1一个标准偏差的的范围内,百分之多少的数据不会受到影响?为什么?
28、线程分类器与非线性分类器的区别以及优劣?
29、文本中的余弦距离是什么,有哪些作用?
30、什么是数据埋点?
31、请简要说说一个完整的机器学习项目流程?
32、我们知道,独热编码会增加数据集的维度。但是标签编码(LabelEncoder)不会。为什么?
面试回来。 总结经验。 把自己没有答上,没有答好的点 ,百度出来 背熟,不要下次倒在同一个问题上。
以我自己找工作以及帮别人自学转行的经验来看,最多面试 10家 就能找到工作。(前提是 简历不要太夸张,人家招 中高级开发,你去面试 那是浪费时间)。 为什么是最多面试10家? 因为只要你按我上面的来做,最后你会发现 面试三四次 你就已经成了面霸了。 作为一个面霸, 没理由找不到一个初级岗位的。
最后 学习耗时 200个小时。 找工作 面试10家 总计耗时 在 3个月时间。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python必备开发工具👈
👉Python学习视频合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
资料获取方式:↓↓↓↓
1.关注公众号:萧晓编程百事通
2.在后台发送:“学习” 即可免费领取