Home >Backend Development >PHP Tutorial >PHP interview question set, with my answers and analysis (1)_PHP Tutorial
Interview question 1
1. Use PHP to print out the time of the previous day in the format of 2006-5-10 22:21:21
2. The difference between echo(), print() and print_r()
3. A template that enables HTML and PHP to be used separately
4. How to realize PHP and JSP interaction?
5. What tools are used for version control?
6. How to implement string flipping?
7. Methods to optimize MYSQL database.
8. Talk about transaction processing
9. The method of apache+mysql+php to achieve maximum load
10. The method of intercepting Chinese text strings without garbled characters.
Answer:
1.echo date('Y-m-d H:i:s', strtotime('-1 day'));
2.echo is a language structure , no return value; the print function is 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
3.so much, in fact, PHP itself is a Template engine, I have used smarty, common ones include PHPLib, FastTemplate, Savant. Here is a list of template engines: http://www.sitepoint.com/forums/showthread.php?t=123769
4. The question is a bit vague. SOAP, XML_RPC, Socket function, and CURL can all achieve these. If you are testing the integration of PHP and Java, PHP has this built-in mechanism (if you are testing the integration of PHP and .NET, you can also do this) Answer), for example $foo = new Java('java.lang.System');
5. CVS and SVN, SVN is known as the next generation of CVS and has powerful functions, but CVS is an old brand and has a high market share .I have been using SVN. The question is about what tool to use. Well, this may need to be answered like this: CVS Server on Apache as the server, WinCVS as the client; Subversion on Apache/DAV as the server, TortoiseSVN as the client, or Subclipse Make a client.
6. Use the strrev function. If you are not allowed to use PHP’s built-in one, just write it yourself:
function strrev($str)
{
$len=strlen($str );
$newstr = '';
for($i=$len;$i>=0;$i--)
{
$newstr .= $str{$i} ;
}
return $newstr;
}
7. For college entrance examination political questions, write down all the knowledge points you know. My answer:
(1). In terms of database design, this is the responsibility of the DBA and Architect. Design a well-structured database. When necessary, denormalize (this is in English: denormalize, I don’t know the Chinese translation), allow partial data redundancy, and avoid JOIN operations. , to improve query efficiency
(2). In terms of system architecture design, table hashing is used to hash massive data into several different tables. Fast and slow tables, fast tables only retain the latest data, and slow tables are historical archives. Cluster, master server Read & write, slave server read only, or N servers, each machine is Master for each other
(3). (1) and (2) exceed the requirements of PHP Programmer, it will be better, not It doesn’t matter. Check whether there are fewer indexes
(4). Write efficient SQL statements and see if there are any inefficient SQL statements, such as full joins that generate Cartesian products, a large number of Group By and order by, There is no limit, etc. When necessary, encapsulate the database logic into the stored procedure on the DBMS side. Cache the query results and explain each SQL statement
(5). All the results are required, and only the necessary data is obtained from the database, such as query The number of comments on an article, select count(*) ... where article_id = ? Just do not select * ... where article_id = ? and then msql_num_rows.
Only transmit necessary SQL statements, such as modifying articles , if the user only modified the title, then update... set title = ? where article_id = ? Do not set content = ? (large text)
(6). Use a different storage engine when necessary. For example InnoDB can reduce deadlocks. HEAP can increase the query speed by an order of magnitude.
8. Just like every programming language will have examples that allow Hello World, the textbooks on this database will all talk about the account transfer from A to B 50 For the dollar example, just answer this. But as far as I know, companies that use MySQL rarely use MySQL to implement transaction processing. What’s more, Oracle has acquired the InnoDB company.
9. See seventh The answer to the question will be solved if that place is solved.
10. Hahaha, I guess the person who asked the question has been troubled by the Chinese processing problem of substr for a long time, and has also used the Internet There is a popular function that uses regular expressions to match Chinese characters and then intercept them. In fact, there is a very simple solution: mb_substr()
Interview Question 2
var $empty = '';
var $null = NULL;
var $bool = FALSE;
var $notSet;
var $array = array();
1.
$a = "hello";
$b = &$a;
unset($b);
$b = "world";
what is $a?
2.
$a = 1;
$x = &$a;
$b = $a++;
what is $b?
3.
$x = empty($array);
what is $x? true or false
4. Have you ever used version control software? If so, what is the name of the version control software you use?
5. Have you used Through a template engine? If so, what is the name of the template engine you use?
6. Please briefly describe your most proud development work.
7. For websites with large traffic, what do you use? What method to solve the traffic problem?
8. Use PHP to write the code to display the client IP and server IP:
The answer will be written once the blog is updated.