Today’s sharing started, please give us more advice ~

This is before see listen to the complete interview experience, today to share with you, learn from each other, so that you can find a dream job, realize their dreams.

The interview process

Day 1: Session 1 + Session 2

Two days of waiting: the third + HR side

A week later: Wait for the letter of intent

The first side

The first part is the basic part, which focuses on the breadth of my skills and my mastery of some skills. I will not delve into a specific point, and the interview will last about one hour.

To introduce myself

  • Have you learned about OAuth2.0? Tell me your understanding of OAuth2.0
  • Did you learn about other open source frameworks during development
  • Why RabbitMQ was introduced?
  • Do you know any other Linux commands?
  • What are the differences between cat, tail, vi and vim commands?
  • What do you do if you need to open or view large files on Linux?
  • Let’s talk about Http Code. Do you know what a 3XX status Code is?
  • What other status codes do you know, 4XX and 5XX?

So let’s do a problem, shall we? Language is arbitrary, choose what you like.

Given an array, such as [1,1,2,2,2,3,3,3,3], which doesn’t have to be contiguous and ordered, suppose I type 2, which represents the two occurrences most frequently.

So you have to give me back 2,3.

Let’s do a different problem. Let’s look at the following problem, and find the TOP N with the most array occurrences.

Given an array, such as [1,1,2,2,2,3,3,3,3], which doesn’t have to be contiguous and ordered, suppose I type 2, which represents the two occurrences most frequently.

So you have to give me back 2,3.

The initial idea is that you hash the number of occurrences, and then the key is the value that appears in the array. Finally, the number of times in the hash is sorted and top N is finally obtained. Because the time complexity is O(N^2), I ask if there are any optimization ideas and can I optimize to O(N). I have been thinking about it for a long time, but I failed to come up with it and did not fully use and construct the hash table.

The back of the interviewer to tell the idea. Find by traversing down the length of the array.

In the question session, I asked about my performance in the interview. I was told that the algorithm was weak, but I was told that I could enter the next session, which took about 5 to 10 minutes.

The second plane

The second interview is a technical in-depth interview, which lasts about 50 minutes

To introduce myself

  • Are you familiar with some Chinese participles used in Solr or ES?
  • Talk about the stacks, which ones are you familiar with, mysql and Redis?
  • InnoDB B+Tree
  • Difference between B Tree and B+ Tree
  • What is the development of MySQL index? B+Tree? Never index, hash, binary sort tree, AVL tree, B tree, B+ tree chat.
  • What are transactions in MySQL?
  • What transaction levels are available in MySQL, and what problems can occur at different transaction levels?
  • What’s the difference between repeatable and illusory?
  • In MySQL, if fuzzy matching is performed with like, is an index used? Surely not? (I know too little about the index. After the second interview, I went back to make up for it.)
  • Can you tell me about Redis and how it was used in your project?
  • If I need to check the port number or process number, what command do you use?

Go ahead, write a topic

List two flip # given list: 1 – > 2 – > 3 – > 4 – > 5 – > 6 – > 7 # return results: 4 – > 2 – > 1 – > 3 – > 6 – > 5 – > 7

Rhetorical questions: Follow-up interview performance? Tell Redis that you can handle this well, but MySQL is not. Ask about follow-up arrangements.

The third side

It should be the Leader interview, and the interview will last about 50 minutes

To introduce myself

  • Just out of curiosity, why not Github?
  • How about your English?
  • Why don’t we find something to talk about? Let’s start with ES and Solr. Do you use both of them?
  • SQL way to achieve search, how do you do it?
  • Is the query very slow when using like matching?
  • It’s O(N) time in linked lists, is there any way to make it O(1) time?

OK, the idea is OK, how about writing an LRU algorithm? (Two-way list + Hash?)

Rhetorical questions: Asked about the organizational structure and the use of Python and Go in the project. Then I asked about my performance in the interview and answered: The code is not well written. I think it is not appropriate to write LRU like this. (Sound of heartbreak, feeling cool breath…) “And thought the interview was over. Later, when preparing to close the page, the interviewer said wait a minute.

HR side

Take 10 minutes to make a simple communication

To introduce myself

  • Why do you choose this school?
  • What’s the most frustrating thing you’ve felt since you started college?
  • Are there areas that need to be improved?
  • What are the main aspects you will value in the future job?
  • Student: Does everyone have a position on the byte delivery side?

Question: As for the interview result, I just want to make a brief understanding now. The interview result will come out in about a week, and there will be email or phone notification then. As for the results of the interview, it is necessary to make a comprehensive evaluation of the previous several interviewers before deciding whether to admit them.

One tip: If the interviewer is willing to talk to you about the business of the group, take the opportunity to do so. The best thing to do is to ask a question that catches the interviewer’s eye and gets to the core of the business. Anyone can write code, and the basics are available online, but not everyone has a product understanding and new ideas

(1) The first step is to organize a complete knowledge framework outline before the interview

I divided the architecture system into five modules: concurrent programming, JVM performance tuning, Source interpretation of Spring open source framework, cache database, distributed architecture, and microservice architecture

(2) The second step is to conquer the high-frequency techniques in the interview one by one through the outline

1, concurrent programming (handwritten notes: concurrent programming + concurrent programming _ Principle + Concurrent programming _ Application + Concurrent programming _ Mode)

  • Concurrent programming shared model section
  • Concurrent programming _ patterns
  • Concurrent programming _ Applications
  • Concurrent programming _ Principles

Concurrent programming shared model section

Concurrent programming _ patterns

Concurrent programming _ Applications

Concurrent programming _ Principles

2, Performance tuning (Java performance tuning: Java programming performance tuning +JVM performance tuning +Mysql tuning Notes)

  • JVM Performance Optimization

  • JVM performance monitoring and tuning

  • Mysql tuning Notes

3. Source code interpretation of Spring open source framework

4. Cache the database

  • Redis Core Notes
  • MongoDB clustering and security

5. Distributed architecture

Kafka source code analysis and combat

6. Microservices Architecture

Spring Cloud Alibaba technology stack full solution

Spring Cloud Microservices Notes

K8s + Jenkins notes

(3) The third step, brush interview questions, interview bytedance algorithm is required

Algorithm brush problem booklet

25 Big Java Interview topics

Generally speaking, the interview experience was quite good, especially when you tore code questions in hand. The interviewer would ask you to provide ideas first. If you had any problems with your ideas, they would help you correct them, and then enter the coding stage.

Based on the interview situation, you can see some key questions that the interviewer will ask, and see if you have your own answers to these questions. The basic knowledge is very necessary, it is the only way to success.

Today’s share has ended, please forgive and give advice!