It coincided with the golden nine and the silver ten, Zha Shuo tested the water and the byte beating. I thought my resume would not pass, so I got the letter of intent directly from 123+HR.

Preface

Shuangsuo, I thought I couldn't pass the resume... but fortunately, Byte can give me a chance. A while ago, the pre-approval of Byte Beat started. The publicity is that there are a large number of HCs and there are many opportunities. In the spirit of rising and rising, then I delivered it to the Data department in Hangzhou. First of all, I would like to thank you very much. I pushed my little brother in, and was very enthusiastic to help me track the progress, because there were some episodes in the middle (I voted in the wrong department...), and the enthusiastic little brother helped me contact HR, and finally turned me to think I’m going to post to the department, I’m investing in java back-end development~ Most of the questions of the interview project are around my open source project mushroom blog, and some notes I prepared for the interview (big guys, please squirt...)

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Note: I voted for java back-end development~ Most of the questions of the interview project were developed around my open source project mushroom blog, and there are some brushing notes that I prepared for the interview before (big guys please lightly spray...) there is a need Click to get

interview time

After the HR interview, I waited for more than a week. I thought it was cold, but I didn’t expect to receive a surprise and made a wish.

  • Day 1: First side + Second side
  • Waited for two days: the third side + HR side
  • A week later: waiting for the letter of intent

First side

The first aspect I think should be the basic aspect. The focus is on the breadth of my technology and the mastery of some technologies. On the other hand, the little brother did not delve into a specific point. The interview time is about 1 hour.

  • Self introduction
  • How do you plan to deliver back-end positions without considering work that fits your research direction
  • Have you ever understood OAuth2.0? Tell me about your understanding of OAuth2.0
  • During the development of Mushroom Blog, do you know or learn about other open source frameworks?
  • What is the process of publishing mushroom blog posts? Is it a multi-person blog system?
  • Do you know some other blog frameworks, such as hexo
  • What is the difference between hexo and mushroom blog? What are the functions and advantages of Mushroom Blog
  • Seeing that your mushroom blog uses RabbitMQ, then talk about why RabbitMQ was introduced?
  • What is the difference between RabbitMQ and other message queues, such as ActiveMQ, RocketMQ, and Kafka
  • Why is Redis used in your blog project?
  • What is stored in Redis are popular articles. How do you get them? Is there any problem with this?
  • Have you ever heard of the long tail effect? The recommendation level you set through the recommendation field will keep these articles at a high click volume, and the popularity and click volume will not decrease over time. Is there any solution?
  • I see you use JustAuth this login authorization? Talk about the problem of account leakage?
  • Let's talk about Redis. Will it have the problem of thread switching?
  • Talk about Redis single thread model and IO multiplexing
  • Redis's big key problem, if there is a Value whose size is 2M, will there be any problems? What is the maximum value size supported?
  • Talk about Redis Cluster and the principle of master-slave replication?
  • Talk about the sentinel in Redis, that is, Redis Sentinel
  • Let’s talk about Linux. Do you know how Linux can check the current load situation?
  • Do you know any other Linux commands?
  • What are the differences between cat, tail, vi, and vim commands?
  • If you need to open or view large files under Linux, what would you do?
  • Let’s talk about Http Code. Do you know what the 3XX status code corresponds to?
  • Talk about some other status codes you know, 4XX and 5XX?
  • Let's make a question next? Any language, choose the one you like (ps: Actually it is the original question of leetCode. I haven't done anything similar before. I thought about it for a few minutes. I didn't have any ideas. I cried.. I want to ask my ideas. Then I want to change the question. Then, think about it afterwards. It’s pretty simple, just sort by the first one)
# 给定一个数组,例如 [1,1,2,2,2,3,3,3,3]这样的,里面的数组不一定连续并且有序,假设我输入 2,这个2表示出现次数最高的两个
# 那么你需要给我返回 2,3
  • Let's change the topic, look at the following topic, find the TOP N with the most occurrences in the array, and listen to my roommates back. It seems to be the original leetcode question, teary eyes, and the algorithm is too weak.
# 给定一个数组,例如 [1,1,2,2,2,3,3,3,3]这样的,里面的数组不一定连续并且有序,假设我输入 2,这个2表示出现次数最高的两个
# 那么你需要给我返回 2,3

Then my first thought was to store the number of occurrences through hash, and then the key is the value that appears in the array. Finally, sort the number of times in the hash, and finally get top N, because the time complexity is O(N^2), I asked if there are any optimization ideas, can I optimize to O(N), I haven't figured it out for a long time, no Make full use of and build a good hash table

Later, the interviewer gave some ideas. Traverse down from the length of the array to find

  • In the rhetorical session, I asked about the performance of the interview, and was told that the algorithm ability was relatively weak, and thought it would be cool. . . Then, on the one hand, you can go to the next link here, and you need to wait about 5 to 10 minutes.

Second side

The second side is the technical in-depth interview, the interview time is about 50 minutes

  • Self introduction
  • Is the blog open source, what open source protocol is used, and how many blog users are there?
  • Seeing that Solr and ElasticSearch are used in your blog, talk about their principles and inverted indexes?
  • Have you learned about some Chinese word segmenters used in Solr or ES?
  • Talking about those technology stacks, which ones are you more familiar with, mysql and redis?
  • Talk about the underlying index structure of MySQL, B+Tree in InnoDB?
  • The difference between B Tree and B+ Tree
  • Talk about the development process of MySQL index? Is it B+Tree? There is never an index, hash, binary sort tree, AVL tree, B tree, B+ tree chat.
  • Talk about transactions in MySQL, what are transactions?
  • What are the transaction levels in MySQL, and what are the problems with different transaction levels?
  • Talk about the difference between repeatable reading and phantom reading?
  • When using like for fuzzy matching in MySQL, will an index be used? Surely it won't work? (I don’t know much about the index. After the two sides are over, I went back to make up for it)
  • Talk about Redis, how is it used in your project?
  • Talk about how Redis implements distributed locks?
  • Is there a cache inconsistency in Mushroom Blog, how did you solve it?
  • Talk about the problem of cache penetration in Redis and how to solve it?
  • Are there other ways to solve cache penetration? Have you learned about Bloom filters?
  • In Redis, a large area of ​​cache is invalidated, and then all the requests are sent to the database. What is the solution?
  • If there is some hot data, such as news between celebrities, causing a large number of melon users to flood into the background, but the server has not cached the corresponding data, this may cause database downtime. How to avoid this situation?
  • Talk about the structure of JVM?
  • Talk about the principle of garbage collection? And garbage collection algorithm
  • Copy algorithm and mark sorting algorithm?
  • Why don't you use the tag sorting algorithm in the new generation? Or use replication algorithms in the old age?
  • Have you learned about Volatile? Talk about your understanding of Volatile
  • How does Volatile guarantee visibility? And how to achieve the mechanism of visibility.
  • What is the problem if Volatile is used extensively?
  • Talk about the threads of the operating system and its status
  • The difference between thread and process?
  • Why propose a multi-threaded application instead of a multi-process application?
  • What commands do you usually use for Linux?
  • If I need to view the port number or process number, what command would you use?
  • Tell me about another project you did? A little introduction
  • Come on, try writing a title
# 链表的两两翻转 # 给定链表:  1->2->3->4->5->6->7 # 返回结果:  2->1->4->3->6->5->7
  • When is the graduation time? Are you interviewing for an internship position?
  • Rhetorical link: ask about interview performance? Tell Redis that the mastery is good, but MySQL is insufficient. Ask about the follow-up arrangements.

Third side

It should be the leader face, the interview time is about 50 minutes

  • Self introduction
  • Curious, not many people use Code Cloud, why not use Github?
  • How is your English level?
  • Talk about open source projects? I think this project has more than 800 likes. What are your main tasks in this open source project?
  • Shall we find some points to chat? Let’s start with ES and Solr. Are you both using them?
  • How do you implement search in SQL?
  • When using like matching, will the query be very slow?
  • Both ES and Solr use lunce at the bottom. Tell me about your understanding of lunce?
  • There are also word segmenters in lunce, such as some new words "new crown pneumonia", can it be well divided?
  • In addition to artificially maintaining the lexicon to solve the segmentation of the latest words, do you know any other better methods?
  • Do you know any other open source word segmentation libraries?
  • Talk about the dictionary tree?
  • Both Solr and ES use Lunce at the bottom layer. What is the difference between them?
  • What is the difference between Solr's so-called cluster environment and ES's so-called distributed environment?
  • You mentioned microservices above. Have you ever understood what the concept of microservices is?
  • Your current microservices are also packaged into multiple jar packages and deployed on a server. If the server has a problem, the service will be unavailable. Is there a good solution?
  • Chat service registration and discovery?
  • Service registration and discovery actually depend on the concept of a registry. Will the registry hang up and cause the entire service to be unavailable? Is there any good solution?
  • Have you understood the entire election process of Zookeeper?
  • Talk about Zookeeper's distributed consensus protocol?
  • Let me talk about indexes. I will write you a table. Take a look at the following query. Which indexes are there?
create table 'tb' (
   id int,
   name varchar(64),
   status int,
   createtime timestamp,
   PRIMARY KEY (`id`)
)
-- 创建了三个普通索引
create index  index_name on table('name')
create index  index_status on table('status')
create index  index_createtime on table('createtime')
-- 给定SQL语句,判断下面查询会用到几个索引
select * from  tb where status = 1 and name = "zhangsan"
  • How many indexes are used in the above SQL? Which ones are they?
  • Have you understood the underlying index structure of InnoDB?
  • What kind of operation will be performed on the results of the two index queries? Intersection, union?
  • If you encounter some slow queries in MySQL, is there any solution?
  • Talk about explain? After the execution of the explain, those fields that appear can help us?
  • I see in your blog, there are still several articles about Redis. Can we talk about your understanding of Redis?
  • Why can Redis maintain such a high concurrent response?
  • Have understood the principle of IO multiplexing technology
  • Through one thread, will there be multiple thread switching when connecting multiple threads at the same time? (I feel like I'm in a pit...)
  • When you connect to redis through jedis, you have already connected to a process, can redis still communicate with other processes?
  • Redis can handle 100,000 requests per second. If you follow what you said above, it means that each interaction is only completed in 1/100,000 seconds?
  • Do you know the source code of Redis?
  • MySQL uses B+Tree, and SortSet in Redis uses skip tables. What is the difference between them? Why does MySQL use skip tables, or Redis not use B+Tree?
  • How do you feel about your coding skills? Then let's talk about the knowledge of the operating system and give you a question. In the operating system, there are cache, main memory, virtual memory, and external memory. Do you know what kind of relationship there is between them, and what are their functions?
  • For them, there will definitely be a problem, that is, when our main memory is full, or our virtual memory is full, then there needs to be a paging operation. Do you know those paging algorithms?
  • Let's talk about LRU? Ask you to write an LRU algorithm to talk about your ideas?
  • The time complexity is O(N). Is there any way to make it O(1) time complexity?
  • OK, the idea is okay, can you write an LRU algorithm by hand? (Doubly linked list + Hash?)
  • Rhetorical link: I asked about the organizational structure and the use of python and go in the project. Then I asked about the performance of the interview. Answer: The code is not written well, I think it is not appropriate to write LRU like this. (Heartbroken voice, I feel the cool breath...), I thought that the interview was over after the end, and when I was preparing to close the page later, the interviewer said wait a minute, and the classmates chat with me?

HR face

Take 10 minutes to make a simple communication

  • Self introduction
  • Why did you choose this school for the postgraduate entrance examination?
  • Looking back, what has been the most frustrating thing in the period from college to now?
  • Are there any areas that need to be improved?
  • For future work, which aspects will you focus on?
  • As for the classmates, do you all have positions on the byte delivery side?
  • Re-question link: Regarding the results of the interview, let me know that this is just a simple understanding. The results of the interview will be released in about a week, and will be notified by email or phone. Regarding the results of the interview, it is necessary to comprehensively evaluate the previous interviewers before deciding whether to admit.

Summary + preparation before the interview (for your reference and study)

Due to space reasons, friends in need click to get it directly

I would like to give you a suggestion. If the interviewer is willing to talk to you about the business in the group, he must seize the opportunity to have a good chat. It is best to ask questions that will make the interviewer's eyes shine directly at the core of the business. Anyone can write the code, and the basic knowledge can be found online, but not everyone has the understanding of the product and new ideas

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

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

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

(2) The second step is to overcome 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 sharing model articles
  • Concurrent Programming_Mode
  • Concurrent Programming_Application
  • Concurrent Programming_Principles

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Concurrent programming sharing model articles

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Concurrent Programming_Mode

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Concurrent Programming_Application

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Concurrent Programming_Principles

2. Performance tuning (Java performance tuning combat: Java programming performance tuning + JVM performance tuning + Mysql tuning notes)

  • JVM performance optimization

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

JVM performance optimization

  • JVM performance monitoring and tuning

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

JVM performance monitoring and tuning

  • Mysql tuning notes

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

3. Interpretation of Spring open source framework source code

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

4. Cache the database

  • Redis core notes

image.png

Redis core notes

  • MongDB basic to advanced

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Get started quickly with MongoDB

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

MongoDB cluster and security

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

5. Distributed architecture

  • Kafka source code analysis and actual combat

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

6. Microservice architecture

  • Spring Cloud Alibaba technology stack full solution

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

  • Spring Cloud microservice notes

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

  • k8s+Jenkins notes

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

(3) The third step is to brush the interview questions, the byte beating algorithm of the interview is a must

Top 25 Java Interview Topics

Zha Shuo tried the byte beating. He thought his resume would not pass, so he got the letter of intent directly from 123+HR.

ByteDance Generally speaking, the interview experience is pretty good, especially when you tear up the code questions, the interviewer will ask you to provide ideas first. If there is a problem with the idea, he will help you correct it. I entered the coding stage, but I didn't practice the algorithm very much. I didn't do much on LeetCode, and I had two tears in the interview. . This can be regarded as the first shot in advance, looking forward to the wonderful performance later~

The above are the interview resources I collected before the interview and a study route plan. I hope it can be helpful to everyone. Friends in need, please click to get it directly

Guess you like

Origin blog.csdn.net/qwe123147369/article/details/109230531