发布网友 发布时间:2022-03-03 12:25
共7个回答
热心网友 时间:2022-03-03 13:54
一、确立目标、了解需求
做什么事情都要先确定好目标,才不至于迷失方向。我们就是Python爬虫工程师为职位目标。
在一些国内大型的招聘网上找到相关的职位要求:
仔细看看,我们可以得出以下几点:
1、 python 不是唯一可以做爬虫的,很多语言都可以,尤其是 java,同时掌握它们和拥有相关开发经验是很重要的加分项
2、 大部分的公司都要求爬虫技术有一定的深度和广度,深度就是类似反反爬、加密破解、验证登录等等技术;广度就是分布式、云计算等等,这都是加分项
3、 爬虫,不是抓取到数据就完事了,如果有数据抽取、清洗、消重等方面经验,也是加分项
4、 一般公司都会有自己的爬虫系统,而新进员工除了跟着学习以外最常做的工作就是维护爬虫系统,这点要有了解
5、 最后一个加分项就是前端知识,尤其是常用的 js、ajax、html/xhtml、css 等相关技术为最佳,其中 js 代码的熟悉是很重要的
6、 补充一条,随着手持设备的市场占比越来越高,app 的数据采集、抓包工具的熟练使用会越来越重要
以上内容,不要求全部掌握,但是掌握的越多,那么你的重要性就越高
二、关于Python面试的四点,你做到就万事大吉了!
第一点:Python
因为面试的是Python爬虫岗位,面试官大多数会考察面试者的基础的Python知识,包括但不限于:
Python2.x与Python3.x的区别
Python的装饰器
Python的异步
Python的一些常用内置库,比如多线程之类的
Python的线程
第二点:数据结构与算法
数据结构与算法是对面试者尤其是校招生面试的一个很重要的点,当然小公司不会太在意这些,从目前的招聘情况来看对面试者的数据结构与算法的重视程度与企业的好坏成正比,那些从不问你数据结构的你就要当心他们是否把你当码农用的,当然以上情况不绝对,最终解释权归面试官所有。
第三点:Python爬虫
最重要也是最关键的一点当然是你的Python爬虫相关的知识与经验储备,这通常也是面试官考察的重点,包括但不限于:
你遇到过的反爬虫的策略有哪些?
你常用的反反爬虫的方案有哪些?
你用过多线程和异步吗?除此之外你还用过什么方法来提高爬虫效率?
有没有做过增量式抓取?
对Python爬虫框架是否有了解?
第四点:爬虫相关的项目经验
爬虫重在实践,除了理论知识之外,面试官也会十分注重爬虫相关的项目:
你做过哪些爬虫项目?如果有Github最好
你认为你做的最好的爬虫项目是哪个?其中解决了什么难题?有什么特别之处?
热心网友 时间:2022-03-03 15:12
以我自己的经验来说哈吧热心网友 时间:2022-03-03 16:47
技术决定价值,自学的话,主要看你学习是否系统化,是否符合企业用人需求,掌握的知识是否足够,综合多方面来决定。一般情况下来说,Python基础入门需要三个月左右的时间,精通的话,少则半年以上,多则一年半左右。而培训的话,从入门到精通学习周期五个月左右,毕业之后就可以找工作了。热心网友 时间:2022-03-03 18:38
怎么说呢,其实Python应用场景比较广,要是真想从事Python,最好自己先用Django 做一两个比较简单的项目试试手,这样面试的也会好点,可以从个人博客开始。然后在网上多看一点开源的python项目,这样学起来比较快。热心网友 时间:2022-03-03 20:46
互联网开发的工作是需要你利用所学解决工作中客户或者老板提的需求,当你觉得自己能独当一面,能把具体的业务需求通过代码实现,就可以去找工作了。热心网友 时间:2022-03-03 23:11
基础知识要懂得,如果没有学过别的编程语言,要好好学一下,如果学过的话,一周就可以入门了热心网友 时间:2022-03-04 01:52
想要用 Python 找到一份好工作吗? 广州千锋给你一点小小的意见
秋招的时候 Python 的岗位确实不多,尤其是像 BAT 这样的一线公司,基本上 Python 岗位都是运维开发和测试开发。二三线互联网还是有不少 Python 岗位的,例如饿了么、爱奇艺、头条等,而且因为投的人不多,所以竞争力比较小。
但是只会 Python 肯定是不行的,面试的过程中基本上没有问过 Python 语言的相关东西,如果是面的后端开发,可能会问一下用的后端框架的源码,然后就是各种 CS 的基础知识:算法与数据结构、操作系统、计算机网络、数据库,这些问得比较多,然后就是简历中的项目了。
除了 Python 外,最好还要懂一门静态语言(Java/C++),一门函数式语言(Haskell/Lisp/Scala),大厂的面试其实对语言的要求不是很高,比如面过某 C++ 岗位,全程算法都是用 Python 写的,还和面试官讨论了一下 range() 为什么设计成左闭右开的形式。
想要用 Python 找到一份好工作(后端方向)
广州千锋可以给一点小小的建议:
科班出身的话,各种基本知识应该是没问题的,不是科班的话可能这一块需要补一补(* 为备选);
算法&数据结构:《算法》、*《算法导论》(搭配 MIT 6.006 食用更加)
操作系统&计算机组成原理:《深入理解计算机系统》
计算机网络:《自顶向下方法》、*《TCP/IP 协议(卷一)》、《UNIX 网络编程(卷一)》(强烈推荐,基本上和网络相关的比较难的一些问题这本书都有讲,可以挑一部分看)
编译原理:这个我没具体看书,直接写了几个解释器然后了解了个大概,书的话好像有《30天自制编译器》比较浅显易懂
数据库:《MySQL 必知必会》、《高性能 MySQL》(从此各种数据库优化面试题手到擒来)
Linux:《鸟哥的私房菜》、*《Linux 命令行与 Shell 脚本编程大全》
和面试官扯淡:《程序员*之道——从小工到专家》
Python 语法虽然很简单,但是要看的东西其实很多
基本的语法看官方的 Tutorials 就可以了,Python 2 和 Python 3 都要会,之间的一些主要的区别要知道
学会了语法可以看《Python Cookbook》、《Fluent Python》,这两本书相当于进阶的书,学完功力 double,当然可能看一遍是不能完全吸收的,以后可以用到的时候再回去刷一下
看完上面两本书并刷过一些代码之后应该对 Python 的一些常用标准库比较熟悉了,然后可以开始系统看一下标准库(慢慢刷吧,这是个大工程)
熟悉某一个后端框架,我选的是 Flask,因为比较简单,代码也不多,花一点时间把源代码看懂,知道一个 Flask app 从头到尾的运行过程,有时间可以自己写一个 web framework,实现基本的路由和 context 功能,当然还有 bottle 更简单,原理大同小异,读一下 PEP 3333 -- Python Web Server Gateway Interface v1.0.1
一般科班出身的在学 Python 前肯定会 Java/C++,这一部分也有很多的推荐,就不说了
其实面试过程中会问很多项目和设计类的问题,这种东西只能慢慢学习了,平时可以刷一刷 PyCon、各种博客、演讲之类的来提高姿势。
可以看到,要真的把上面所有的东西都学完不是一两个月能搞定的,这还不包括准备项目的时间。如果真的能学得不错了(70%)的样子,应该拿个一线二线大厂的 offer 还是没问题的。