search
HomeBackend DevelopmentPHP TutorialA written test question for Tencent PHP programmers_PHP tutorial

Said before:

  1. Except for programming tasks, all the following questions need to be written on the scratch paper provided to you. Paper is a precious earth resource, please use it sparingly. When there is a corresponding environment, programming tasks will require writing on the computer. If there are no conditions, you can only write on straw paper.
  2. Time: basic tasks + advanced tasks + design tasks = 90 minutes, programming tasks = 60 minutes.

Basic tasks:

  1. Please list the UNIX signals you can think of and explain their uses.
  2. Please list all the string search algorithms you can think of and briefly explain them with comments.
  3. There is an IP address (192.168.0.1), please write its 32-bit unsigned integer form.
  4. Write down all the HTTP return status values ​​you can think of and explain their uses (for example: returning 404 means page not found)

Basic task-choice (will get extra points):

  1. Draw a few server-side models that you are most familiar with (the format is not important, just try to make the drawings clear and explain the ideas)

Advanced tasks:

  1. What is PHP’s garbage collection mechanism?
  • If you are familiar with PHP source code, then please start from the source code and answer some questions, you will get extra points
  • If you are not familiar with PHP source code, then try your best to write more, including information obtained by using your own programming intuition.
  • If you are correct, you will get points. If you are wrong, you will not be deducted. If you do not write, you will get no points.
  • Please write the HTTP header and meet the following requirements:
    • This is a post request
    • Target: http://www.example.com:8080/test
    • POST variables: username: test, pwd: test2, intro: Hello world!
    • Contains the following COOKIE information: cur_query: you&me
    • Description:

    • If you can't remember the command words in a certain HTTP protocol, then the last resort is to use "Chinese characters" instead.
    • If you can remember more HTTP protocol command words, then there is always no harm in writing a few more sentences, right?
    • The most important thing is that you only need to draw the correct "outline" (remember the head printed by tools such as httpwatch? That is the meaning of "outline"), there will also be points, but if, even the "outline" It's a pity if they are all written wrong.

    Design tasks:

    Some people have been harassing our voting module recently, and we need you to design something with voting restrictions. The requirements are as follows:

    1. It is required that each QQ number (assuming this QQ number can be expressed in UNIT32) can only cast 5 votes within 10 minutes.
    2. Our users are very enthusiastic, with an average of about 20 million people voting through this program every day.

      Description:

    1. No need to write code, just pictures and text.
    2. For the key logic, please use pictures and code to express it. This is also a test of your writing ability.
    3. List all the boundary conditions you can think of. This is a test of your comprehensiveness and agility in logical thinking.
    4. Storage part, do your best. If you need a storage layer designed by yourself, then describe the implementation of this storage layer clearly in words and pictures. If the design is reasonable, you will get gorgeous bonus points.

    Programming tasks:

    We ran into trouble. A new missionary annoyed God. God was very angry and asked us to memorize the Bible (bbe.txt). When he said a word, we had to answer it quickly. At which word position in which line. I heard that you are an excellent programmer, so help us complete this impossible task.

    The requirements are as follows:

    1. /myworks/example/bbe.txt, a 98 version English Bible
    2. The input part requirements are as follows: php ./example.php [word]
    3. The output part is as follows: [Word] 1,2 2,4 5,6 means: this word is in 1 row and 2 columns (the second word), 2 rows and 4 columns...

      Description:

    1. This text is 4MB huge...
    2. The meaning of the word: a string composed of English letters (upper and lower case) and numbers (0-9)
    3. The machine OS provided to you is ubuntu 9.10, and the memory is only 1G, and, unfortunately, 700M of it is used for other purposes
    4. The computer-based exam does not allow access to the Internet, but I installed the man document and a reader for reading CHM and PDF. There is a corresponding PHP reference manual in the CHM folder on the desktop of my computer
    5. The algorithm complexity requirement cannot be greater than O(N^2) (which is the square of N)
    6. What? PHP is inefficient and uncomfortable to use. Well, you can do it in other languages. But note: the machine provided to you only has python 2.4/perl 5.8/gcc[g++] 4.1

    www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752428.htmlTechArticleSaid before: The following questions, except for programming tasks, all need to be written on the scratch paper provided to you. Paper is a precious earth resource, please use it sparingly. Programming tasks require corresponding environments...
    Statement
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

    ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

    Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

    You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

    PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

    Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

    PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

    ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

    PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

    APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

    Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

    Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

    PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

    PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

    PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

    PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Article

    Hot Tools

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    Powerful PHP integrated development environment

    mPDF

    mPDF

    mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),