I spent a month preparing for an interview with Huawei. After the salary and rating were negotiated but was rejected, HR actually said...

Speaking of the front, don't change jobs frequently.

Originally, Huawei wanted to go. It took a month to prepare before the interview. The interview process went smoothly. I also rejected all other interview invitations. My confidence in rejecting other interview invitations is due to my good performance in the previous interview process. , Salary and rating are all negotiated.

The reason given by HR for refusal was: within 3 years of work, 4 jobs were changed, of which 2 units worked for about half a year, and the work was not very stable.

I explained the situation when I had an interview on the entry form. I just said that I didn't need to go to the interview. It was a bit uncomfortable to engage in mentality.

I am interviewing for Android development, with 3 years of experience, the following is the interview process:

one side:

  1. Including self-introduction

  2. work experience

  3. What projects have you done, what roles have you played in the projects, what difficulties have been encountered, and how have you resolved them.

  4. Develop some commonly used libraries, etc.

  5. Finally, I asked some career plans

Two sides (written test)

Java has a lot of basics, two algorithmic questions, and then Android-related questions

Three sides are technical

  1. The interviewer started to introduce some projects, technical points and the like

  2. Then catch the technical points for in-depth digging

  3. Six principles of design patterns

  4. How to use handlers for child threads

  5. Ask how to start the local app when connecting to the webpage.

  6. The four basic components of Android are Activity, Service, Content Provider, and BroadcastReceiver.

  7. 2 ANR (ActivityNot Respone) (no response) First introduce the Main thread (also known as UI thread, main thread)

  8. Function: 1. Create UI control 2. Update UI control state 3. Event processing limitation: Main thread is not recommended to have an event exceeding 5 seconds. Condition: When the user input event does not receive a response within 5 seconds, an ANR dialog box will pop up to broadcast the receiver The onReceive() execution time exceeds 10s. Solution (principle): All possible time-consuming operations must be performed in the sub-thread () common time-consuming operations: I/O: network operation SDcard data operation

  9. FC(Force close)原因:1.Error OOM(out of memory error) StackOverFlowError

  10. RuntimeException solution: look at the log

  11. Asked specific questions about the project

  12. Ask about the basic technical issues of Java, multi-threading, jvm-related.

13. The Android part mainly asks general basic questions.

Four sides are comprehensive

  1. Why leave

  2. Is there a career plan

  3. Outlook for the company's future

4. The salary treatment of the previous company

  1. Expected salary

Technical knowledge combing catalog

1. Android basic + advanced

1. Activity startup mode
2. Activity startup process
3. Process communication
4. Android Binder application layer summary and analysis
5. Process keep-alive method
6. Understanding the handler looper and messageQueue ideas from the source code
7. How the handler implements delayed message sending postdelay()
8. Why doesn't the main thread in Android get stuck due to the infinite loop in Looper.loop()?
9. RxJava principle and how to package and use
10.okhttp source code analysis
11.retrofit source code analysis
...

12. LeakCanary core principle source code analysis
13. LruCache use and principle
14. ARouter principle
15. Annotation framework implementation principle
16. Android how to write a project based on compile-time annotations
17. RxJava2+Retrofit2+OkHttp3 foundation, package and project Use
18.Rxjava2.0+Retrofit+Okhttp (packaged use)+MVP framework to build
19. Android plug-in and hot fix knowledge combing
20. Common memory leak problems and solutions in
Android development 21. How to detect and locate Android memory Leakage
22. Memory algorithm occupied by pictures
23. Why pictures need to use soft references, and the view interface in MVP mode uses weak references
24. MVVM practice based on DataBinding and LiveData
25. App stability optimization
26. App startup speed optimization
27. App Memory optimization
28. App drawing optimization
29. App slimming
30. Network optimization
31. App battery optimization
32. Android security optimization
33. Why is WebView slow to load?
34. How to optimize custom View

Two, Java basic + advanced

1.HashMap
2.ArrayList
3.LinkedList
4.Hashset source code analysis
5. Memory model
6. Garbage collection algorithm (JVM)
7. The difference between garbage collection mechanism and calling System.gc()?
8. Class loading process
9. Reflection
10. Multithreading and thread pool
11. Creating multithreading, the working principle of thread pool
12. Design pattern (six basic principles, commonly used design patterns in projects, handwritten singleton, etc.)
13.
Resume from a breakpoint 14. Java four major references
15. Java generics
16. The difference between interfaces and abstract classes
17. Discuss the application of abstract classes and interfaces from the design of java container classes

Three, data structure and algorithm interview questions

1. What are the commonly used data structures?
2. Array
(1). How to find missing numbers in an integer array from 1 to 100
(2). How to find duplicate numbers in a given integer array? (Xiaomi)
(3). How to find the maximum and minimum values ​​in an unsorted integer array? (byte beating)
(4). How to delete multiple copies from a given array in Java?
(5). Add large numbers (today) Headline)

3. Linked list
(1). What about the first query and the second to last query? (This is different. The first one is directly given to the head node, and the second to last one needs to be queried from the first to last, and two steps are taken) (Tencent)
(2). ArrayList underlying principle (didi)
(3 ). How to find the median value of a single linked list in one traversal? (Ping An)
(4). How to prove whether a given linked list contains cycles? How to find the head node of the cycle? (Youku)
(5). Two crosses Singly linked list, find the intersection point (Huawei)
(6). How to get the length of the singly linked list? (360)
(7). How to reverse the singly linked list without using recursion? (Xiaomi/Meituan)
(8). How to judge that the linked list has a ring? (Didi)

4. Queue & Stack
(1). How to use the stack to realize the function of the queue (Guangzhou Lizhi FM)
(2). Two stacks to realize one queue (Mushroom Street)
(3). Two queues to realize one stack (Tencent)
(4 ) ). Compare queues and stacks, and their bottom implementation (Tencent)

5. Binary tree
(1). How to perform a pre-order traversal in a given binary tree? (Baidu)
(2). How to implement a post-order traversal algorithm? (Baidu)
(3). How to perform a binary search in a given array ? (Suning)
(4). It is known that the pre-order traversal is {1,2,4,7,3,5,6,8}, and the middle-order traversal is {4,7,2,1,5,3,8 ,6}, what is its binary tree like?
(5). Input two binary trees A and B, and judge whether B is a substructure of A. (Iqiyi)
(6). Please implement two functions, which are used to serialize and deserialize a binary tree (YY) respectively.
(7). What is the difference between a balanced binary tree and a red-black tree? (Byte beating)
(8). What is a balanced binary tree and what are its characteristics (Meituan)
(9). B tree, B+ tree

6. HashMap
(1). What is the underlying principle of HashMap? Is it thread safe? (Baidu)
(2) How is put implemented in HashMap? (Didi)
(3). Talk about when the hashMap needs to be expanded, and how is the expansion resize() achieved?
(4). What is hash collision? How to solve it? (Didi)
(5). The difference between HashMap and HashTable (Xiaomi)
(6). When does HashMap need to be expanded, and how is the expansion resize() implemented? (Didi)
(7). Principle of hashmap concurrenthashmap (Meituan)
(8). The difference between arraylist and hashmap, why is the number fetching fast? (Byte beating)

7. Figure
(1). Rotate the output matrix
(2). Given a matrix int matrixA [m] [n], each row and each column are in increasing order, and an algorithm is implemented to find an element in the matrix. Sogou

8. What are the sorting algorithms?
9. Search algorithm
10. String

Fourth, the computer network part

1. HTTP protocol
2. TCP/IP protocol 3. TCP
's three-way handshake and four waved hands understanding and interview questions
4. Enter the URL in the web page to render the entire interface, and what protocol is used in the middle?
5. What is the difference between TCP and UDP?
6. Several HTTP request methods are introduced in
detail 7. HTTP request and response message format, and common status codes
8. How many HTTP requests can be sent on a TCP connection

Due to space reasons, if you need the complete study notes pdf above, you can like + comment to support me as a worker, and then click here to pick it up for free !

Guess you like

Origin blog.csdn.net/weixin_52217015/article/details/114891397