Because the introduction of PHP is relatively simple, there are only two levels of familiarity and proficiency for the time being. ?
1, familiar with PHP: proficient in PHP grammar, Beijing IT training suggests mastering common functions and being familiar with OOP applications under PHP5, which is the foundation, and there is nothing to say. ?
2. Proficient in PHP: understand the operating mechanism of PHP; Interactive understanding of system resource call; Ability to optimize key performance. ?
2.MySQL ability?
The application under development is based on several capabilities:
1, understand: know how to connect the database with PHP; Know how to write some simple SQL;; Establish some simple indexes; Know how to simply use tools to operate the database (add, delete, change the database table structure data, etc.). ).?
2. Familiarity: Understand how to design a database in development and application, establish some effective indexes, analyze SQL performance and interpretation, stress testing, etc. ?
3. Very familiar: A deep understanding of database index, storage engine principle and operation mechanism can effectively build a high-performance and extensible database structure/architecture, effectively optimize database performance configuration and debugging, and analyze database operation status. ?
4. Proficiency: In short, I have all the above abilities and many years of experience in optimizing management in a high-load distributed environment. ?
According to my observation and communication experience, 70% of PHPER is in the understanding stage and 25% is in the familiarity stage. > 4% familiar, proficient people are basically not phper. ?
70% people in this group are the easiest to ignore MySQL, thinking that MySQL is just a simple storage medium, without optimization consciousness, and adding a memory and CPU can solve the problem. ?
Typical events: the performance of statements such as join, orderby and groupby is in a mess, and the database is not designed at all (only divided into a main table, n schedules, etc.). ), the field type and function are unclear, and there is no way to deal with complex queries of large tables. ?
There are 20% people in this group who just don't understand the operating mechanism of MySQL thoroughly and don't know the key factors that affect MySQL performance. ?
Typical event: familiar with the manual, but unclear about the indexing principle. I don't know the function of binary tree, HASH and other algorithms in database.
& gt4% of the population is basically qualified for the function of DBA. ?
3.OOP ability?
1. Understanding: Understand the scope, type and meaning of variables, understand the inheritance mechanism, and understand the concepts of reuse and encapsulation. ?
2. Familiarity: Familiar with application interface, abstraction and other technical development programs, and understand the meaning, generally learned. ?
3. Very familiar: I have experience in OOP architecture design, and I am familiar with design patterns, UML, PHP object operation mechanism, content management, etc. ?
4. Proficiency: It should be at the architect level, not limited to PHP. ?
We often meet people who claim to be familiar with OOP, but can't even explain publicly, privately, protected and statically. They certainly haven't experienced a formal OOP project. ?
4. Experience in large websites?
1, understanding: familiar with caching applications (memcache, APC, etc. ) developed by PHP; Contact LVS and SQUID applications; Have a certain session processing scheme; Familiar with load balancing; Familiar with PHP data connection pool application; Understand PHP programming performance optimization. ?
2. Familiarity: master distributed cache and cache performance optimization, be familiar with storage systems, file systems and databases, and develop extensible platforms. You can arrange traffic reasonably in combination with load balancing, and monitor and analyze the running performance of PHP. ?
3, very familiar with: with the ability of system analysts, beyond the phper link ...?
4. Mastery: Too profound ...?
5. Operating system application ability?
Familiarity and mastery of the operating system requires extensive and solid basic theories, while developers need to be familiar with basic command operations and have the ability to install, configure and optimize WEB-related services.