Question 1: how to solve the problem of captcha, which module to use, which manual coding platform to listen to?

PIL, Pytesser, Tesseract modules

Platform :(special coding platform, no guarantee of timeliness)

  • Cloud code
  • Zheng code
  • FeiFei code
  • If the fight code
  • The super eagles

2. How to solve the problem that IP is blocked? Have you done IP pool by yourself?

About IP proxy pool, you can use IP proxy pool to solve the problem. You can search IP proxy on Github and choose one to say github.com/awolfly9/IP… Provide a general idea:

  1. The requester crawls free IP proxy urls for IP addresses through the Requests crawler.
  2. Filter requests web page data by proxy through the catcher and saves the data returned to Redis.
  3. The periodic detector periodically takes out part of the Proxy and uses the filter to detect and eliminate the unusable Proxy.
  4. The Flask Web server provides an API for easy IP extraction

What is the difference between list, tuple, dict, and set in Python?

The difference between

  • List: a linked list of ordered data structures, searched by index, using square brackets “[]”;
  • 4. Tuple: a collection of objects that cannot be modified and are searched by index, using parentheses ();
  • Dict: a dictionary is a set of keys and values. A dictionary is a set of keys and values. A dictionary is a set of keys and values.
  • Set: set, unordered, element appears only once, automatically de-duplicates, use “set([])”

Application scenarios

  • List: a simple collection of data that can be indexed;
  • Tuple: To use some data as a whole and not modify it;
  • Dict: data associated with keys and values;
  • Set: Data appears only once. It only cares whether the data appears, not its location.

Question 4: Describe method overloading versus method overwriting?

Method overloading

It’s in a class with the same method name and different parameters. The return types can be the same or different. Overloading is a way for classes to handle different types of data in a uniform way.

Methods to rewrite

Subclasses do not want to inherit the methods of their parent class, but rather to modify them, requiring method overrides. Method override is also called method override.

5. How do I send emails in Python?

Smtplib standard library

You can refer to novice tutorial: www.runoob.com/python/pyth…

Question 6: Do you understand synchronization and asynchrony of threads?

  • Thread synchronization: Multiple threads access the same resource at the same time and wait for the end of the resource access, which wastes time and is inefficient
    • Example: I’ll say it when you say it.
  • Thread asynchro: access to resources while idle waiting to access other resources at the same time, to achieve multi-threading mechanism
    • You call your friend to have dinner, and he says he knows and will come to you after he is busy, so you go to do something else.

Question 7: Do you understand the synchronization and asynchrony of networks?

  • Synchronization: submit the request -> wait for the server to process it -> return after processing, during which the client browser cannot do anything
  • Asynchronous: The request is triggered by an event -> server processing (this is where the browser can still do other things) -> processed

Question 8: Do you know the engines of MySQL database?

This answer is a little divergent, so we can focus on the following two

InnoDB

InnoDB is a robust transactional storage engine that is already used by many Internet companies and provides a powerful solution for users to operate very large data stores.

InnoDB is ideal for the following situations:

  1. Update intensive tables.InnoDB storage engineIt is particularly suited for handling multiple concurrent update requests.
  2. The transaction.InnoDB storage engineIs the standard MySQL storage engine that supports transactions.
  3. Automatic disaster recovery. Unlike other storage engines,InnoDBTables can automatically recover from disasters.
  4. Foreign key constraints. MySQL supports a storage engine for foreign keysOnly the InnoDB.
  5. Support for automatically adding the column AUTO_INCREMENT attribute.

In general, InnoDB is a good choice if you need transaction support and have a high rate of concurrent reads.

MEMORY

The starting point for using the MySQL Memory storage engine is speed. For the fastest response time, the logical storage medium used is system memory. While storing table data in Memory does provide high performance, when the mysqld daemon crashes, all Memory data is lost. The gain in speed comes with some drawbacks.

Memory storage engines are generally used in the following situations:

  1. The target data is small and accessed very frequently. The max_heap_table_size parameter controls the size of the Memory table. Setting this parameter limits the maximum size of the Memory table.
  2. If the data is temporary and must be immediately available, it can be stored in an in-memory table.
  3. Sudden loss of data stored in Memory tables does not have a substantial negative impact on application services.

Question 9: Concern, recently updated a magical series of introductory articles on the public account

Welcome to pay attention to her public number, non-undergraduate programmer