[Internship Road] A Toutiao (ByteDance) back-end internship interview experience of a sophomore

Article directory


foreword

On July 9th, I delivered a back-end internship position on the official website. On July 10th, I called to inform me to participate in the on-site interview in Beijing on July 18th.

I was very excited to receive the interview invitation from Toutiao.

On the 16th, I flew from Guangzhou to Beijing. The first flight was cancelled due to the weather. Later, I changed the flight to another flight. The flight was delayed due to the weather. Then I boarded the plane. Due to the weather, I waited for the flight for almost an hour. just took off.

It was after one o'clock in the morning when we arrived in Beijing. We stayed at the airport for the night, and went to the hotel to rest at noon.

Today is July 19th, and the interview has ended. With a high probability, I am writing this blog, hoping to help everyone.


text

Since the appointed time was 14:15, I arrived at the scene almost two hours in advance, stayed outside for a while and then went in. At that time, I first checked in with the staff at the front desk, received a copy of the interview questions and a draft paper, and a little brother took me to the interview room.

Do two algorithm problems within 40 minutes. The topics are as follows:
insert image description here

I chose the last two questions. For the second question, I used a relatively stupid method. I wrote a linked list inversion method by hand, directly calling the method and traversing the two linked lists, adding them in turn, and inverting the final linked list. Turn to get the result (later found that I forgot to consider a situation).

Question 3 I have some problems with my thinking, so I won't go into details here. Interested friends can use Baidu.

After the topic is written, I will give feedback to the front desk and let me wait in the original interview room.

At 14:18, the interviewer came in.

The interviewer opened my resume on his computer, looked at the code I wrote, and asked my thoughts.

Interviewer: The code you wrote is quite neat. You have a lot of handwritten code. The handwritten code is so neat.

Being praised by the interviewer, I don't know how to answer for a while haha.

The next process and Q&A are as follows:

I introduced
myself and asked about a file name batch management tool I wrote myself, as well as the implementation of an Alipay ticket grabbing tool and the details of the
TCP connection establishment and disconnection process
(I used real life examples to describe the process of connection establishment and disconnection, but The interviewer does not seem to be very satisfied)
The C/S ends ping a back and forth 200ms, using a short connection request, from the C/S ends to initiate a request (including establishing a connection) until receiving the response, after getting the response, the middle How long will it take, assuming the network is stable
(I don't know much about this, and the answer is embarrassing)
If the TCP disconnection is changed to 3 times (similar to establishing a connection), what is the problem? Why not change it to this?
(I said that because one of the parties may send data packets again, the server needs to send two waves to the client to ensure that no subsequent data needs to be sent.)
What are the common HTTP request methods? Let's talk about their characteristics.
(The common ones are get and post, and the less common ones are delete, head, and trace; I talked about the difference between get and post, and I only know the concept of other uncommon methods, so I won’t continue to talk about the characteristics)
What are the common HTTP headers ?
(I didn't say it very confidently, I forgot the header a little bit, so I said it casually) What does 502 and
503 stand for?
(I mentioned 503 and the scene, but I have never encountered 502, so I said the scene of 500)
What does 304 stand for?
(Although 3XX errors are all redirected, 304 has nothing to do with redirection. When 304 is requested, the resource that the server responds to has not changed.)
For students who do not understand the http status code, you can check my previous blog, which contains Various scenarios and diagrams → Click here to view the HTTP status code to explain
the common indexes of the database.
(I'm not familiar with the database, it's only simple, the interviewer didn't ask any more questions)
Run a program in the Linux terminal, enter CTRL+C, what's going on behind the scenes?
(I often see this question, but I haven’t studied it much. I said that I would kill a process and call the XX method of the thread. Suddenly I felt something was wrong, and I dug a hole for myself. The interviewer really asked me the difference between a process and a thread)
Can you tell me the difference between a process and a thread?
(I didn't review it. I almost forgot, I made an analogy again, a person is a process, and a person performs an action is the behavior of a thread. The interviewer asked me not to use the analogy, too broad)
In concurrent programming, What are the ways to do data synchronization?
(I really have no experience with this, so I
talked about synchronized) What about synchronized?
(I'm not familiar with it directly)
Do you understand dynamic proxy?
(I won’t finish it) Let’s
talk about the principle of HTTPS security mechanism
(this is based on my resume, and answered those more troublesome encryption and processes, but it seems that I have gotten myself into it)
The underlying principle of HashMap
(the bottom layer consists of a linked list Array implementation, the linked list includes hash values, index subscripts, element values, etc. The initial value is 8. When the hash value exceeds 8 during collision, the linked list becomes a red-black tree)
Let’s try an algorithm, how to judge a binary tree Is it symmetrical?
(Although the interviewer guided me, in the end I misunderstood what he meant and thought the topic was too complicated. After thinking about it for about 20 minutes, the interviewer said it was almost time, so I went back.)

The whole interview process took about 80 minutes. At the end of the interview, they asked me where I came from. I said Guangdong, and the interviewer was a little surprised. I still want to come to the scene), and also asked me how many interviews I had in Beijing, I said there was only one, he asked me to submit more resumes, and then I had more experience in interviews.
In fact, the interviewer is very good. I can't help it. I am too bad. Finally, I asked the interviewer if there is another interview? He said that he looked at the performance of his competitors, as well as comprehensive evaluation, and asked him how long it took him to have information. He said that looking at the efficiency of HR, it was usually very fast, one or two days.
But I think I'm cold. It's a pity and disappointment that the interview is over. Looking across the road, I feel a little overwhelmed.


Summarize

These questions are very common, but I didn't prepare them well. Many questions I thought I would know, but actually answering them is another matter.
Toutiao has high requirements for both basics and algorithms. Before the interview, I spent the most time on the JVM, but it is a pity that the interviewer did not ask.

If you want to get into Toutiao, you still need to lay a solid foundation and algorithm. Even if you do two algorithm questions in the written test, you may be asked another algorithm question during the interview process. In short, come on!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326076228&siteId=291194637