Headlines (Java+ project)

1. Inverted index

2. Tell me about the hash table in Redis.

3. Happen -before rules?

4. Volatile modifier, synchronize lock

5. Implementation of Java singleton pattern, lazy, hungry?

6. The difference between process and thread, the difference between multi-process and multi-thread?

7.HashMap principle, why use red-black tree, red-black tree characteristics?

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

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

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

11. Do you know Go?

Headline 2 (Big data + project)

1.Kylin’s project architecture

2.Paxos and ZAB agreement

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

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

  1. Let’s talk about maximum heap and minimum heap

6. Read, write, and fault tolerance of HDFS. (source)

7.MapReduce process (version 1 and 2)

8.MR Shuffle, Spark Shuffle.

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

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

11. Know ClickHouse? How is it different from Kylin?

Three aspects of the headline (Algorithm + Scene)

1.LRU algorithm implementation (pseudocode)

2. The KTH number from the bottom of the linked list

3. A bunch of screws and nuts with minimal time matching (code implementation)

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

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

summary

There are 5 questions in the written test, I AC 2.5 questions, the first question 90%, the second question 90%, the third question 70%, not good, but barely passed. This time last year, I could not even understand the topic. What I could understand only knew how to say in my mouth, not in code. Through the algorithm training during this period, the following points of algorithm written test experience are summarized:

1. Usually brush questions must be summed up, the best classification. For example, on the tree question type, linked list, array, etc., observe their solution ideas, summarize the solution routine.

2. Accumulation of tool algorithms. What is a tool-like algorithm? When you solve an algorithm problem using another algorithm, the algorithm being called is the tool for solving the algorithm problem. For example, common “depth-first traversal”, “breadth-first traversal”, “01 knapsack”, “KMP algorithm” and common selection and sorting algorithms are often used tool algorithms.

3. Learn to abstract questions. The written test algorithm is different from the interview algorithm, will not tell you directly to use which algorithm to answer, more to learn their own abstract, put aside the topic itself, to understand what is said internally, don’t be confused by the sugar-coated shell of the topic. It’s only by abstracting the problem into the original algorithm that you’re going to be able to do it better with the tool-like algorithm.

How to prepare for a headline interview?

The headline interview may be similar to other big companies, but it is this small difference that is the key, what makes it different from others. Preparations can be made from the following aspects:

1. Specially prepare several interview questions source code. As I answer some of the regular interview questions, will start from the source point of view. For example, common HashMap and other collection classes, a variety of multi-threaded locks and big data framework part of the source code.

2. Prepare for project difficulties. When facing some big factories, it is unavoidable to be asked about the difficulties of the project. It is impossible to use common bugs to obscure the past. Here, we can start from the technology stack used in the project to find the difficulties existing in the technology stack in the project, and then put them into our own project to find one that I can understand, and it is better to understand all of them.

3. Learn about the use of the company’s technology stack. For example, the headlines use Go, which is well known, so why don’t I learn? For example, when people in the industry know that Toutiao first used the Kylin framework and then gradually moved to ClickHouse, I need to understand the difference between the two and be able to integrate the business scenario of Toutiao.

Programmer code interview guide – IT enterprise algorithm and data structure problem optimal solution

  1. The stack and queue
  2. List problem
  3. Binary tree problem
  4. Recursion and dynamic programming
  5. String problem
  6. Big data and spatial limitations
  7. An operation
  8. Arrays and matrices
  9. Other topics

Sorting and data structures and algorithms

Bubble sort

Second, selection sort

Insert sort

Quicksort

Merge sort

Hill sort

Heap sort

8, radix sort (bucket sort)

Nine, recursion

10 and linked list

Eleven, stack

Xii. Queues

Binary tree

“Programmer code interview guide – IT enterprise algorithm and data structure problem optimal solution” and “sorting and data structure and algorithm” interested friends scan