This test is an industry-related basic assessment with a total score of 100 points, divided into 4 types. The score weights are: Programming 15 points, Algorithm 25 points, Practical 45 points, and Innovation 15 points.
Please carefully read the following notes:
1. The test duration is 2 hours, and you need to complete it independently. During the test, keep all relevant data, code, and screenshots in your submission, and categorize them according to the questions. Compress and submit them to the interviewer after the test.
2. Practical questions must be completed entirely in the test environment. Other questions can be solved locally, but the final code must run successfully in the test environment.
3. For questions requiring external access via a browser, you can use a SOCKS proxy but do not visit irrelevant pages.
4. Causing irreversible damage to the test environment will result in a score of zero and termination of the test.
5. Scanning or logging into another person's test environment will result in a score of zero and termination of the test.
6. Performing unrelated operations during the test will result in a score of zero and termination of the test.
7. Do not use GPT-related tools for assistance; you may use search engines. You can request to reset the environment during the test, up to two times.
8. The entire test process will be recorded. Submit the recording along with the test.

Test Environment:
IP: --
SSH Port: --
SSH Password: --
SOCKS5 Port: --

Test Questions:
I. Programming (15 points):
Web Crawler
    Question:
      Write a crawler program in any language to fetch the titles and links of the top N pages from Baidu search results and print them to the console.
    Tasks:
      1. Write a crawler program to fetch Baidu search results (10 points).
      2. Fetch the top five search results from Baidu (5 points).
    Submission:
      1. Crawler program.
      2. Fetch results.
    Output Example:
      Search Result 1:
      Title: Python Official Website - Python Programming Language
      Link: https://www.python.org/
      Search Result 2:
      Title: Python Tutorial | Runoob
      Link: https://www.runoob.com/python/python-tutorial.html
      Search Result 3:
      Title: Python Introduction | Python Tutorial - Shiyanlou
      Link: https://www.shiyanlou.com/courses/552
      Search Result 4:
      Title: Python Beginner Tutorial | Runoob
      Link: https://www.runoob.com/python/python-tutorial.html
      Search Result 5:
      Title: Python - Liao Xuefeng's Official Website
      Link: https://www.liaoxuefeng.com/wiki/1016959663602400

II. Algorithm (25 points):

Binary Search
    Question:
      Given an ascending sorted integer array that has been rotated at a certain point, for example, the original array is 0,1,2,4,5,6,7, and after rotation, it might become 4,5,6,7,0,1,2. Write an algorithm in any language to find the minimum value in the rotated array using binary search.
    Tasks:
      1. Implement the algorithm using binary search without using built-in search functions. (15 points)
      2. The time complexity should be O(log n), where n is the length of the array. (10 points)
    Input/Output Example:
      Input:
        4, 5, 6, 7, 0, 1, 2
      Output:
        0 (because the minimum value in the array is 0)
    Submission:
      1. Program running result.
      2. Relevant code.

III. Practical (45 points):
Basic Linux Command Practice
    Question:
      Use the command line to perform operations on any system.
    Tasks:
      1. Open the command line on any system, create a file named test.txt, write "test" into it, and then read the content of the test.txt file using the command line (9 points).
      2. Open the command line on any system and output the current environment variable content (9 points).
      3. Modify the environment variable content and output the modified environment variable on any system (9 points).
      4. Create a scheduled task that triggers every minute on any system. The scheduled task should create a file on the desktop every minute (9 points).
      5. Calculate the MD5 value of a file on any system (9 points).
    Submission:
      Screenshots of the operations, and log screenshots of the scheduled tasks.

IV. Innovation (15 points):

Telegram Bot Programming
    Question:
      Given a Telegram bot token and a group chat ID (the bot has joined the group), use Python to access some necessary information through the API and try to send a message. Do not use official or third-party dependencies, use the requests package for API access (5689248488:AAFoMQY-9JKPwTsm9ilc-uggrY_ntJAc6m0)(-980860187) (you can also create your own bot and group).
    Tasks:
      1. Get bot-related information (5 points).
      2. Get group chat-related information (5 points).
      3. Send "Hello, test environment port number!" to the group chat, such as "Hello, 56701!" (5 points).
    Submission:
      Relevant code.