I am not a non-professional class, before baidu and byte internship, this time actually did not hold any great hope of delivery, I did not think byte can give me another chance, or quite happy.

 

After a few interviews, come out confident, sound confident, and give the interviewer the impression that you have everything under your belt. And then express is fluent, clear articulation, supercilious, talk to a logical, cannot speak hesitatingly said along while don’t understand, have summed up his face, form their own knowledge system, others face the write also others again good, wash the summary itself will not point out is the most useful, the end I share some of my learning methods and I collect resources, I have organized a set of resources to help you

The following is the interview experience, all written in technical interview, not written in hr

1. Bytedance

The whole interview process, mainly around the algorithm and internship experience inspection, basic knowledge is not very difficult. The interviewers of each side are very nice, especially the interviewers of the three sides. They feel that there is no pressure of interview when discussing, just a dialogue between friends.

 

Bytedance side (60 minutes)

  1. To introduce myself
  2. Talk about TreeMap and LinkedHashMap
  3. How does TreeMap sort in the order it wants
  4. ConcurrentHashMap how to get the size value
  5. How to prevent malicious requests from brushing the interface
  6. How does ES cut words? Is there a plugin for cutting words
  7. The scenario where you use Redis in your project
  8. Tell us what data types Redis has
  9. How is Redis sharded
  10. Redis delete policy

Bytedance 2 (60 minutes)

  1. What kind of work environment do you want to work in
  2. How do I get a random function 0 minus 8 from a random function 0 minus 5
  3. How to ensure data consistency between cache and DB
  4. How to design the zset of Redis
  5. Q: What is the problem with zset
  6. The advantages and disadvantages of an index corresponding to a B+ tree hash, ordered array, binary tree query why not skip tables?
  7. Train ticket interval query how to design data structure such as Shanghai to Wuhan, passing through Nanjing, Hefei now want to quickly query the inventory between two tickets
  8. Hand rip code, leetcode54 spiral matrix

Three Sides of Bytedance (60 minutes)

  1. Hand tear code, simulated wechat group random red envelope, input amount, number, return amount array; Note the minimum unit minute;
  2. We talked about the project, the difficulties in the project, the modules and then asked about the underlying implementation of the dependency modules
  3. The amount of data in the project and how much QPS can be achieved
  4. Let’s talk about the difference between RPC and HTTP
  5. What do you want most in your life? I said I wanted technology to advance by leaps and bounds.
  6. Is there anything you want to ask me

2. Paypal

 

Paypal Side (60 mins)

  1. Talk about the project, modules, technical difficulties in the project
  2. Talk about the internal mechanics of ES
  3. Advantages of ForkPoolJoin over thread pools, and the underlying implementation
  4. More on CMS and G1 collectors
  5. How does CMS deal with garbage fragments
  6. What is the GC Root
  7. What does the intern method of String do
  8. Talk about fair locks and unfair locks. Why are unfair locks better
  9. Three problems and solutions of CAS

Paypal Second Interview (60 minutes)

  1. Talk about the difficulties in the project
  2. Let’s talk about locks in multiple threads
  3. Principle of the volatile keyword
  4. Talk about the underlying implementation of ES
  5. Big data Spark, Hadoop, MapReduce
  6. How can I find the smallest 100 digits and the largest 100 digits in an array of 1 million
  7. Hand rip code, the KTH smallest element in leetcode378 ordered matrix

Three Sides of Paypal (60 minutes)

  1. Leetcode121 The best time to buy or sell stocks
  2. The JVM tuning
  3. Detail about bias lock, lightweight lock, heavyweight lock ask
  4. What collector does the New Generation use with the CMS collector
  5. There are several stacks in the JVM
  6. Why does synchronized degrade when it becomes a heavyweight lock
  7. Kafka is not used
  8. How does Redis guarantee high availability master-slave, sentry

Paypal four Ways (60 minutes)

  1. Ask me if I am familiar with machine learning and big data. No, the interviewer says, let me ask you some questions about Java
  2. How does Spring Boot implement a war package that is thrown into a directory like Tomcat and run the entire project
  3. The Spring Boot jar package contains a lib directory. If you want to load the lib directory, how do you load it
  4. How did you learn about the JVM in depth
  5. How do you look at virtual machine memory
  6. Jconsole and VisualVM will get a trend in memory usage, so what trends do you think are reasonable
  7. In Full GC and OOM, how do I know which code is causing the memory leak
  8. G1 collector is Full GC online service GC log

3. Wechat Pay

 

Wechat Pay (75 minutes)

  1. To introduce myself
  2. Features and application scenarios of hashing and red-black trees
  3. What causes excessive time wait? How to solve this problem
  4. Differences between TCP and UDP
  5. What microservices framework have you used
  6. How to implement load balancing NginxF5 project
  7. Why come out less than a year to see an opportunity
  8. Why not use ES instead of MySQL
  9. What fields are stored in the ES index
  10. Scheduling platform module is how to schedule, when to schedule, let you design how to achieve

Second interview with wechat Pay (60 minutes)

  1. The inverted index of ES
  2. Know anything about distributed transactions
  3. MySQL transaction isolation level
  4. The primary/secondary backup mechanism of MySQL
  5. Database table structure design experience
  6. The sub – database sub – table
  7. The principle of key frame extraction
  8. How is current limiting implemented
  9. How do DB and cache ensure data consistency

Three sides of wechat Pay (40 minutes)

  1. How to ensure data consistency between cache and DB
  2. Cache penetration, cache breakdown, cache avalanche differences and solutions
  3. How do I estimate hotspot keys and solve the hotspot key problem
  4. Cache obsolescence strategy
  5. CPP will?

Wechat Pay four ways (170 minutes)

  1. Problems with hashing
  2. Redis ordered collection underlying implementation
  3. Why not use red black trees with jumpers
  4. MySQL > select * from B+ tree
  5. What are the application scenarios of Zset
  6. Why use ES instead of MySQL
  7. The data size of the project
  8. Why are ES and MySQL disk based, ES query performance is higher
  9. The interviewer asked me to share the screen to talk about the project and ask questions as I spoke

Take a second look at the end of the interview

Interview is essentially a process of self superiority display, don’t make the interview the interviewer ask your reply, take the initiative to throw out some possible points such as the interviewer to ask, for example, I basically had been asked to DB and how to ensure the consistency of the data between the cache, are deliberately upwards of myself, such as the interviewer said, have you worked on Redis, you could say, Yes, generally used as a cache with MySQL to improve performance, need to pay attention to the consistency of data between them (do not be too deliberately, their own control discretion), the interviewer will most likely ask you how to ensure that

MySQL, Redis, Java concurrent programming and other interested friends, xiaofian can share free to you together to learn, forward a next and then pay attention to the end of the article public number can obtain

Brush the interview questions

  • 2020 big factory interview questions 65

 

 

  • Java Interview Guide (227 pages)

 

Leetcode algorithm brush problem

Leetcode, Leetcode, Leetcode! Important thing three times, as a programmer, a bad written code is original sin, a job interview in front of a reduction algorithms write worry again trashy also, will only make produces the feeling that you are on the back of the interviewer, so write algorithm faster or quasi malicious, fast write bug-free optimal solution in the interviewer there is a very bright eye, there is no short cut to this, I have brushed the questions of leetcode 300 for several times in this interview, and the interview algorithm is very smooth. Of course, the most important thing is to brush the questions of medium difficulty.

  • Leetcode algorithm (666 pages)

 

  • Java Data Structures and Algorithms (2nd Ed.) (584 pages)

 

  • LeetCode (264 pages)

 

  • Algorithm brush problem for 100 days

 

MySQL tuning

 

 

Micro service

  • Spring Cloud Alibaba full solution

 

 

Redis Core Notes

 

2020 autumn recruitment full set of resources

 

Don’t. Nowadays, a lot of friend see surface by the feel what will, but they will be with the interview process can be clear and level of it are two different things, and they will be to what extent, have a saying is very good, determine whether you really master a knowledge of a point is whether you can pass a church in simple words without knowledge background, If you can do this, you’ll have a solid grasp of knowledge that you can easily pick up during the interview process. For example, the principle of volatile keyword, it is not easy to say something that pops out of the interviewer’s eyes and makes you feel different from other students

If you need a complete set of Java resource library, please help to forward it (you can help more people in need to see), and then pay attention to the public account below you can get these notes document oh