Related recommendations: "2019 PHP interview questions summary (collection)"
1 MySQL database is used as the storage of the publishing system , the increment of more than 50,000 items per day is expected to be three years of operation and maintenance. How to optimize it?
a. Design a well-designed database structure, allow partial data redundancy, and try to avoid join queries to improve efficiency.
b. Select the appropriate table field data type and storage engine, and add indexes appropriately.
c. Mysql library master-slave reading and writing separation.
d. Find regular tables to reduce the amount of data in a single table and improve query speed.
e. Add caching mechanisms, such as memcached, apc, etc.
f. For pages that do not change frequently, generate static pages.
g. Write efficient SQL. For example, SELECT * FROM TABEL is changed to SELECT field_1, field_2, field_3 FROM TABLE.
2 For a website with high traffic, what method do you use to solve the problem of statistics of page visits
a. Confirm whether the server can support the current traffic.
b. Optimize database access.
c. Prohibit external access to links (hotlinking), such as hotlinking of pictures.
d. Control file download.
e. Use different hosts to distribute traffic.
f. Use browsing statistics software to understand the number of visits and perform targeted optimization.
3 Write a regular expression to filter all JS/VBS scripts on the web page (that is, remove the tags and their contents)
Answer:
PHP
/<[^>].*?>.*?<\/>/si
4 Use PHP to print out the time of the previous day in the format of 2006-5-10 22:21:21
Answer: echo date('Y-m-d H:i:s' , strtotime('-1 day'));
5 The difference between echo(), print(), and print_r()
Answer: echo is a language structure with no return value; print function Basically the same as echo, the difference is that print is a function with a return value; print_r is recursive printing, used to output array objects
6 How to implement string flipping?
Answer: Use the strrev function. If you are not allowed to use the built-in PHP function, just write it yourself:
strrev($str) { $len=strlen($str); $newstr = ''; for($i=$len;$i>=0;$i--) { $newstr .= $str{$i}; } return $newstr; }
7 A method to intercept Chinese text strings without garbled characters.
Answer: mb_substr()
8 How to use PHP environment variables to get the content of a web page address? How to get the ip address?
Answer: $_SERVSR['REQUEST_URI'], $_SERVER['REMOTE_ADDR']
9 Find the difference between two dates, such as 2007-2-5 ~ Date difference of 2007-3-6
Answer: (strtotime('2007-3-6')-strtotime('2007-2-5'))/3600*24
10 How to determine whether a window has been blocked through javascript
Answer: Get the return value of open(). If it is null, it means it is blocked