Home  >  Article  >  Backend Development  >  How to interview a PHP programmer who has been working for one year

How to interview a PHP programmer who has been working for one year

步履不停
步履不停Original
2019-06-10 17:27:413826browse

How to interview a PHP programmer who has been working for one year

This article is just to share my feelings and experiences over the past few weeks. I hope it can bring some gains to many like me or newbies in the Internet industry

Preface

First of all, I need to explain that I am just an ordinary PHPer who graduated one year ago and has only one year of work experience. My abilities are limited. This article is just to share my feelings and experiences in the past few weeks. I hope it can bring some gains to many like me or newbies in the Internet industry. Of course, I hope that experts can comment and add anything that is wrong or insufficient.

Gold, three, and four silver. At this time of year, many people want to take this opportunity to change jobs or join a certain industry. The purpose is very clear: they need a better environment and realize their own value. Especially in the Internet industry, which has been very popular in the past ten years, whether they are fresh graduates, those who have been coding for several years, or those who enter the IT industry across industries, they all hope that they can "get a high salary, learn knowledge, and enjoy benefits." Now, The expansion of enrollment in colleges and universities and the lowering of IT thresholds have also resulted in too many young programmers with "low skills and high goals" in the market (I am one of them). In addition, this year's Internet winter, there are many monks and few people, and it is not easy to find an interview opportunity. Don't talk about taking an offer. I am not willing to waste time in my current company. I will not tell you the specific reasons, so I am determined to find a new job. On the one hand, I want to prove myself, and on the other hand, I want to step out of my comfort zone and give myself more challenges.

Embarrassing March

I was very arrogant at first and spent half a day sorting out my resume. My resume should still be pretty good at that time. (Subsequent articles will describe in detail how to optimize resumes). The next day, I began to submit resumes on Boss Direct Recruitment and Lagou. The first submissions were for 1-3 year development positions in PHP in Guangzhou. Although the response rate was not high, But I was lucky enough to receive several interview invitations. Then I set aside two days for myself to review. In fact, I just Googled the PHP interview questions online and opened more than a dozen tabs with various interview questions. This is what I call "multiple questions". The results can be imagined. , the things I read were so confusing that I almost forgot about everything on the day of the interview. Many of them just memorized some answers and didn’t understand them clearly at all. See the specific interviews below for the miserable situation.

Insufficient preparation - the first round was no more than

The first company is a company in Pazhou, Guangzhou with a super good environment and good benefits. It mainly sells beauty APPs. This is also the interview opportunity I regret most. There was a written test at the beginning, and the main content was a bit biased towards the C language. There was almost no PHP. I only relied on the vague knowledge of the university to write some answers. I forgot the specific time for a while, so I won’t go into details about the content of the written test here. Mainly the first round of interviews:

  • The first question: the 5 data types of Redis, I only answered one String.

  • Second question: Do you know how Redis implements data landing and synchronizes the database? I don’t even know the data type. I can only tell you that it’s unclear and I’ve never used it.

  • The third question: If the database is large, how do you optimize it? My answer: Do a good job in indexing and optimize mysql statements.

  • Fourth question: What mysql statement optimizations have you done at work? My answer: I use where in (id1, id2...) for optimization. . .

In one year of PHP development, I actually haven’t used Redis very much. I have simply used String (it also shows that I am really good at it). In fact, where in is Laravel? ORM preloading uses where in to solve the N 1 problem (see the Larave manual for details), where in is not more efficient than left join

After chatting for almost 20 minutes, I asked HR to ask me some questions For questions, such as my impression of the company, etc., I should just go through the process, and then ask me to go back and wait for notification, and of course there will be no notification.

Failed to pass the basics -- Failed to pass the second round

The second company, an insurance company next to Shenzhen University, gave me the biggest blow. There were no written test questions. In the first round, a young guy who was about the same age as me came for the interview. The questions asked were very simple. They were basically interview questions from the Internet, such as the difference between tcp and udp, three-way handshake, the difference between include/require, etc. I basically answered them all. Then a person with relatively thin hair and more experience came to interview me:

  • My resume mentioned a JWT-related knowledge, so he asked me to describe the specific thing. The difference with session, etc. The project took a long time, so I simply told him about JWT, but it was obviously not enough to satisfy him, so I kept asking until the bottom level. At that time, I was very panicked and couldn't even remember it.

  • How do these frameworks of PHP realize automatic loading of files? I answered the magic method __autoload and include, and the other party asked me to be more specific, is there anything else? I really can’t think of

  • #Write a linked list, right? Won't. . .

In fact, regarding the JWT question, the interviewer probably has never used it. The server actually has a private key Secret string for signature, so as to achieve the effect of front and back encryption, decryption and verification. The second problem should be that there is another spl_autoload_register that can be used to register multiple files

The third linked list, I regret that I didn’t learn the data structure well in college, I will have to make up for it later

Finally The interviewer directly gave the result: I'm sorry, yours is not suitable for our company. I hope you can catch up on the basic knowledge in the future. Don't just know how to use it, but also know why it can be used in this way. Although it was a huge blow, it was this interview that made me realize myself and realized that I lacked too much knowledge and my foundation was too poor.

I still like this kind of interview where the interview results are given directly.

Insufficient practice, too narrow knowledge - direct but no more than

The third interviewer is a big man. I used to be a friend of Han Tianfeng with the great master Han Tianfeng. Very nice and kind. There was no written test or self-introduction. They mainly asked me about my work experience. What impressed me most was: have I ever captured a packet, what tools did I use, my understanding of TCP, and whether I used any language to implement the TCP process. . . Unfortunately, I have never practiced it. My knowledge is too narrow. I only know a little bit of rote knowledge. After chatting for 20 minutes, I left, and there was no result.

Bai Gaoxing’s offer -- I got lucky

The fourth one is also in Shenzhen. The company I saw on the recruitment website is not small, with 100-500 people. But the offer was made by another company. After checking online, it seemed to be a subsidiary, which was somewhat outsourced. There was no written test. A young man interviewed me and mainly asked me about some information about Laravel, which is generally found in manuals. My answers were not very complete. Finally, there is a question: What design patterns do you know and what are the six principles? Regarding design patterns, I only stayed at singleton and factory patterns, and the six principles were not fully answered.

I was unexpectedly let through in the end. I thought the company was in urgent need of personnel. The salary I was offered was quite satisfactory. I thought that after interviewing with so many companies, one of them finally accepted me and agreed to go to work next week. The first thing I did when I returned to the company the next day was to ask our director to resign. He had to leave in a week, but was told that it would take a month for the handover process. In fact, at that time, I had basically handed over everything, and the project was not big, but The reason given by the company is that if you don't have a job handover, it means that you are not doing anything at ordinary times and your work is not saturated, which will affect subsequent recruitment. It completely confused me. On the one hand, I didn't dare to resign in advance. Many people were in the Internet crisis, so they waited until they got the offer before mentioning resignation. At this time, the old employer's administration said that it must go through a month-long process. The new one The company continued to arrive at work one week later, and there was no need to discuss anything. . . In the end, I gave up the offer. On the one hand, I thought that this company was somewhat outsourced. On the other hand, using the name of a subsidiary to make an offer always made me a little worried. After all, during my previous internship, there was a company recruiting under the name of Tencent. Later it was discovered that it was a Tencent Automobile agent. . .

End

The above are the companies that impressed me most when I interviewed in March. Basically, I was abused. Of course, it was just because I was not well prepared and had poor foundation. Good questions lead to wasted opportunities. So I would like to warn everyone here that if you make up your mind to leave, you must be fully prepared. This kind of preparation should not just be the so-called brushing up on interview questions. I will write another article later to describe in detail the many times I After failing the interview, how do you spend two weeks to do it - "have a plan, be efficient, and have an excellent resume", and finally successfully get your favorite offer.

  • Have a plan——If you plan your daily learning goals, it mainly includes nearly 10 aspects of knowledge such as operating system, computer network, mysql, etc.

  • High efficiency——I will introduce how I remember some core knowledge efficiently and cover the interview knowledge points as much as possible

  • Excellent resume——The interview is the first step, and the resume is the most critical. I will introduce how I optimize my resume

There should be hundreds of resumes submitted in March Of the dozen or so companies that gave feedback, I think only seven or eight were interviewed. Except for the few mentioned above, the others were all outsourcing or start-up companies. Some people even approached me and asked me to start a business with them, and a front-end Interns develop small programs together (laughing and crying). In short, the current market situation is not good, but there is still a chance to get an interview. If you have just graduated, it is best to go to the school recruitment. If you are like me and have one or two years of work experience, you should prepare well instead of complaining. The environment is not good and I just want to stop doing it. Of course, some of the experts in 985 and 211 should find big factories or take the postgraduate entrance exams, with more ambitious goals. I am a person who considers reality more. At present, it is very difficult for me to go to big factories due to my strength and educational background, so I can only work in Small and medium-sized companies whose conditions are not too bad seek to grow. Programmers should use practical actions to prove themselves, be down-to-earth, and don't be too ambitious and too low-handed. This is my personal opinion.

Related tutorial recommendations:

PHP practical interview questions video tutorial


The latest PHP interview video tutorial

The above is the detailed content of How to interview a PHP programmer who has been working for one year. For more information, please follow other related articles on the PHP Chinese website!

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