Recently I had a job interview with a Java development engineer of Bytedance. I hope it will be helpful for you to do the interview analysis. The following is my interview experience:

A:

1. Some Java basics.

2, inverted index.

3, Tell me about the hash table in Redis.

4, the rule of happen-before?

5, Volatile modifier, synchronize lock.

6, Java singleton pattern implementation?

7, process and thread difference, multi-process and multi-thread difference?

8, HashMap principle, why use red black tree, red black tree characteristics?

Fast schedule time and space complexity, best and worst case, optimization plan?

10. What is the specific process of TCP congestion control? Does UDP have congestion control? How to solve it?

11. Tell us about garbage collection algorithms and collectors. When to execute STOP THE WORLD?

12. Do you know Go?

13. Ask about the project: Which module will I be responsible for? Did you run into any problems? How did it work out?

2:

1. Kylin’s project architecture.

2. Paxos and ZAB agreement.

3, CAP theory, the significance of zoning fault tolerance.

4, Large table Join small table optimization, how to handle data skew?

5. Talk about maximum heap and minimum heap.

6, HDFS read, write, fault tolerant processing. (source)

7. MapReduce process. (first and second editions)

8. MR Shuffle, Spark Shuffle.

9, Namenode HA, split brain, Yarn scheduling mechanism.

Hive internal table and external table difference, warehouse modeling model, warehouse hierarchy, snowflake model and star model.

11. Do you know ClickHouse? How is it different from Kylin?

Three sides:

1. Implementation of LRU algorithm. (pseudocode)

2. The KTH number from the bottom of the list. (Talk about ideas)

3, a pile of screws and nuts with the shortest time to match. (Code implementation)

4. Seek new users who browse the page every day. (Hive QL implementation)

5. Seek the top 10 hits of Douyin video every day. (Hash + minimum heap)

Above detailed interview details I organized a document, you can pay attention to my public account [JAVA architecture advanced road], reply “Ali” to get