Baidu, Xiaomi, Didi travel and other PHP face-to-face classic, have taken the offer!


In the twinkling of an eye, I have been working for one year, and I still have a lot of harvest. Thank you for this year, thank you for all the people I met, and let me become a better myself.

Just as the so-called spring can not be closed, a red apricot came out of the wall, with a full harvest, I started a large-scale interview and got most of the offers.

Before sending out the interview experience, I’d like to talk about my gains and reflections as a new employee in this year.


Career gains

Adapt to company technology

After entering the workplace, I will first adapt to the company’s technology stack and tools, which are not difficult. I can also gain insight in the process of understanding and learning.

Adapt to interpersonal relationship

In addition, we should adapt to the interpersonal relationship between colleagues, and actively accept every job assigned to us, because everyone will label others in their heart. If someone does something unreliable, everyone will avoid it. So we should leave a good impression at the beginning to facilitate future cooperation.

Keep more logs

When I was just on the job, I was given a very small function iteration. After listening to my elder martial brother’s introduction of the background, I started the development, and completed the self-test, code Cr and release process. At the same time, in the process of doing it, I recorded a log, so as not to forget when I do it next time. Doing things carefully will also leave a good impression on others.

Take responsibility bravely

In fact, in terms of responsibility, I did not do enough. I had the opportunity to lead the demand, but I failed to grasp it. There was still a part of the work assigned to me, which I let go and did not actively promote. Here we need to remind you that no matter what kind of work is given to you, you should be more attentive, proactive and brave to undertake.

Do a good job in upward management

On the other hand, there is a big difference between entering the workplace and being a student, which I think needs to be kept in mind.

In school, we should be responsible for ourselves and in the workplace, we should be responsible for the leaders directly under us, which is the so-called upward management.

In school, whether it’s studying in class, taking part in the work of the student union, or taking part in extracurricular interest classes, it’s all for self-improvement in essence. I have gained something during college, and I didn’t waste my time when I graduated.

In the workplace, everyone needs to have output for the collective and create value for the company in their own work position. In this case, your direct leader determines your work content and output value, and the individual output value will be directly reported to the direct leader, and the leader will merge everyone’s work to produce greater value, so it is of great significance to the direct leader Responsible, upward management is very important.

Technology drives business

As the output of technical personnel, it usually depends on how to use technology to enhance value. We can’t completely test business to promote technology development, we should have the thinking of technology promoting business. for instance:

  • Business push technology: for example, the product manager said to add a page, and then the developers went to develop the page. This is the business driving technology.
  • Technology push business: because of the technical transformation, the efficiency of the development page has been increased by 10 times. Then the developers and product managers say that your dream has come true, and you can develop 10 requirements in one demand time, which is the technology driving the business.

As a development engineer, it is to find the pain points in technology, solve them and improve self-worth.

Facial meridians


Hanging on one side

  • Do you understand the new features of php7? Talk to talk
  • Transaction characteristics, index, concurrency and isolation level of MySQL
  • Redis: data structure, used, persistence
  • Rabbitmq: how to use, what scenarios to solve, how to ensure the sequence, and how to ensure that the same message is not consumed repeatedly (idempotent)
  • Webserver: the difference between Apache and nginx, what does nginx return when a request is interrupted by the client
  • Intelligence question: 8 beads with the same appearance, 7 beads with the same quality, one with more quality than the other 7 beads, how to find the one with the highest quality with the least number of times
  • What do you want to ask me?

Generally speaking, it’s very basic, but I haven’t prepared enough, or I haven’t started to prepare, because I didn’t expect that my spicy chicken degree could be fished out?!!

The only interview without a written test, so I was lost..

But also to wake up, aware of the official arrival of autumn recruit


one side:

  • 10 PHP array functions, string functions
  • SQL problem, you just finished and immediately after the deformation of the topic, has been writing 4, 5 times
  • MySQL index, leftmost matching principle
  • Persistence and LRU of redis
  • cgi,fastcgi,fpm
  • The realization of zval and array
  • Apache and nginx
  • error_ The role of replicating

Two sides:

  • project
  • Start with what you do in the project, and when you ask about a certain technology, you will ask together
  • resume
  • Ask from your resume skills stack
  • chat
  • Career planning, pride in College

HR side:

  • Are there any requirements in the working city?
  • Is Beijing acceptable?
  • Can southerners adapt?
  • Career planning, life
  • Things at school
  • What do you want to ask me?

It’s also relatively basic. During the period, HR was about half an hour late = =, rushing back from work in the company.


one side:

  • project
  • apache、nginx
  • select、poll、epoll
  • Two trigger methods of epoll DF
  • What are the communication and synchronization between threads
  • computer network
  • Algorithm problem

Two sides:

  • PHP framework to write their own introduction, which functions, how to achieve, design ideas
  • What other frameworks do you know about PHP?
  • Unit testing, automated testing (black box testing recommended me a framework for automated testing)
  • How can TCP ensure reliable transmission
  • There are 100 billion numbers, four bytes per station, all stored on disk. The disk is large enough, but the memory is only 512M. How to find out the median?

Three sides (comprehensive)

  • Introduction of Apache source code and PHP kernel source code
  • Algorithm problem: binary search tree to bidirectional linked list (recursive implementation, required in non recursive)
  • The difference between Apache and nginx
  • select、poll、epoll
  • How many trigger modes does epoll have and which one does nginx use?
  • Five I / O models
  • In the process of network transmission, how to deliver the packet from one network card to another network card to the application layer?
  • Start chatting
  • Career planning
  • Why is the school so bad? …..
  • The most regretful thing of University
  • The most difficult course to learn
  • What do you think of overtime

Didi travel

one side:

  • Introduce the project and ask questions from it;
  • A request to the server process;
  • Introduction to CGI and fast_ cgi、php_ The difference of FPM;
  • MySQL index;
  • The difference between redis and Memcache is data structure;
  • The implementation of sorting algorithm;
  • PHP syntax.

Two sides:

  • Interprocess communication;
  • Big data problem;
  • Understanding of hive;
  • TCP three handshakes;
  • PHP basic problem.

Three sides:

  • The feeling of didi app;
  • The process of request;
  • Why job hopping? Personal planning.

Pay attention, don’t get lost

OK, everyone, the above is the whole content of this article, you can see the people here, they are allpersonnel。 As I said before, there are many technical points in PHP, but also because there are too many. We can’t write them down, and we won’t see too much when we write them down. So I’ve organized them into PDF and documents here, if necessary

Click to enter the code: blog Garden

More learning content can be accessedAs long as you can read it, your salary will go up a step

The above contents hope to help youA lot of PHPer always encounter some problems and bottlenecks when they are upgrading. They write too much business code and have no sense of direction. They don’t know where to start to improve. For this, I have sorted out some materials, including but not limited to:Distributed architecture, high scalability, high performance, high concurrency, server performance tuning, tp6, laravel, yii2, redis, spool, swoft, Kafka, MySQL optimization, shell script, docker, microservice, nginxAnd so on many knowledge points, advanced dry goods need can be free to share with you, need can join mePHP Technology Exchange Group953224940