When you are learning Python, someone will ask you, “How much do you need to learn to get a job in Python?” This is not a problem for people who are learning Python at a Python training institution, because you can follow the Python syllabus and have no problems. For people who are self-learning Python, It’s hard to master, and it’s easy to get discouraged by going out and looking for a job and losing confidence in learning Python. We’re going to take a look at just how far you can really learn Python and use it to your advantage.


First, set goals, understand the needs

Do what things to determine a good goal, will not lose the direction. We are Python Crawler Engineer for the position.

Find relevant job requirements in some large domestic recruitment websites:

Looking closely, we can draw the following points:

1. Python is not the only language that can do crawlers, many languages can do it, especially Java. It is important to master them and have relevant development experience

2. Most companies require a certain depth and breadth of crawler technology. Depth is similar to anti-crawling, encryption cracking, verification login and other technologies. Breadth is distributed, cloud computing, etc., which is all a plus

3. Crawler is not finished after data capture. Experience in data extraction, cleaning, weight elimination and other aspects is also a plus

4. Generally, companies will have their own crawler system, and the most common job for new employees is to maintain the crawler system besides following the learning process, which should be understood

5. The last plus point is the front-end knowledge, especially the commonly used JS, Ajax, HTML/XHTML, CSS and other related technologies are the best, among which the JS code familiarity is very important

6. In addition, as the market share of handheld devices is getting higher and higher, it will be more and more important to skillfully use data collection and packet capture tools of APP

You don’t need to know all of this, but the more you know, the more important you become

Four things about Python interviews, and you’ll be all set!

Number one: Python


Because you are interviewing for a Python crawler position, the interviewer will most likely look at the candidate’s basic Python knowledge, including but not limited to:

  • The difference between python2.x and python3.x
  • The Python decorator
  • Python’s asynchronous
  • Some of Python’s most common built-in libraries, such as multithreading
  • Python’s thread

Second point: data structures and algorithms


Data structure and algorithm are for the interviewer, especially the school admissions interview a very important point, small company will not pay too much attention to these, of course, from the case of the recruitment of data structure and algorithm of the interviewer’s importance is proportional to the enterprise the stand or fall of, those who never ask you data structure you are about to be careful if they are to you when the code of the agricultural, the above situation, of course, is not absolute, The interviewer reserves the right of final interpretation.

Third point: Python crawlers

The most important and critical thing is, of course, your knowledge and experience of Python crawlers, which is usually what interviewers are looking for, including but not limited to:

What anti-crawler strategies have you encountered? What are your common anti-crawler solutions? Have you used multithreading and asynchrony? What other methods have you used to improve crawler efficiency? Have you ever done an incremental grab? Any knowledge of the Python crawler framework?

Fourth point: project experience related to crawlers

Crawlers focus on practice. In addition to theoretical knowledge, interviewers will also pay great attention to crawl-related projects:

What crawler projects have you worked on? GitHub would be great

What do you think is the best crawler project you’ve ever done? What problems have been solved? What’s so special about it?

The above is a summary of some technology-related questions I will encounter in the interview process. Of course, the interview is not only about technology, but for those who do technology, after the technical aspect, it is basically a salary issue.