Einstein said, “Patience and perseverance always pay off.” I have always taken that as my motto, that motto

And this year it’s definitely worked out for me.

Every programmer has a big factory dream, I am no exception. Advantage for many no qualifications, interview companies is very difficult, this for me, too, was born of a second-tier cities of ordinary undergraduate, thought is three point one line of life through life, until life changes, just let me have the new ideas and goals, so I this 2 Tony also struggle to get up, unexpectedly won the tencent offers.

Today, I share this experience mainly in the hope that it can inspire technical people who are also troubled by academic qualifications and have a reference value for their career and technical planning. Thank you!

I sent out my resume in the afternoon of June 28, and it took 39 days from sending my resume to the end of the interview to three technical interviews and one HR interview.

Tencent three times by +HR face

Tencent one aspect of the test questions

  1. To introduce myself

  2. Do you know android database?

  3. Several ways to store data: SharePreference, database, file

  4. What lifecycle methods are available when using an Android database

  5. What do I need to do if I want to add fields to the database?

  6. Are database reads and writes thread-safe?

  7. SharePreference is thread-safe. What is the difference between Apply and COMMIT

  8. This section describes the Handler mechanism

  9. Five layer model of computer network

  10. The HTTP status code

  11. Algorithmic question: With 10 million people and 10,000 COVID-19 testing kits, how can we detect as many people as possible who have COVID-19

Tencent 2 face area test questions

  1. Introduction of the project (asked me to live a life without love, fortunately, or passed)

  2. Bubble sort and heap sort

  3. What is the structure of a heap

  4. Why can a computer calculate that 1+1=2?

  5. Consumer producer model

  6. What happens if you use a normal list that’s not thread safe

  7. What’s the difference between what the sychronized keyword modifies

  8. Can other threads get other real methods of that instance

  9. What is the difference between volatile and locking

  10. Is i++ safe?

  11. Hand rip code: map top left to bottom right, obstacles, up, down, left and right directions can be walked (BFS or DFS)

  12. For another question, the common parent of the two child nodes (find root and target paths recursively, explain the logic to the interviewer)

Tencent three aspects of the test questions

  1. Deadlock, deadlock detection algorithm

  2. King of Glory ensures that users can share images in real time and understand each other’s operations

  3. Maximum number of flights departing

  4. Rotate the array

  5. Ask about the project, the biggest problem

  6. How do YOU know if it’s a balanced binary search tree

  7. What are the problems of multithreading accessing resources in the same memory? How do you solve it?

  8. What is the difference between Clone and zip?

  9. Find all A in the array such that the first number is less than that number and the next number is greater than that number

  10. What is your biggest advantage in this position?

Tencent HR side

Meet my HR. She’s a very pretty little sister. She did not ask too many questions, almost half an hour to finish the question, she felt quite shy.

  1. Which city do you want to work in?

  2. What are your salary expectations?

  3. What advice would you give to the department and the interviewer?

After that, I talked a little about home affairs and career planning, and asked me what I wanted to do in the future. If you don’t have any serious problems with HR, you will get the offer.

Tencent three aspects of the answer:

Due to the length problem, the answers to the interview questions are arranged in the PDF document, hoping to give you a reference ~

Review summary and suggestions

In fact, after many interviews, you should know that with the following points, the interview is more than half successful.

01 — Adjust your attitude and face your gains and losses correctly

The common problem in the interview, mainly is the mentality, the interview adjustment mentality is the first, how to adjust into the best mentality? Many job-seeking friends in the interview process their own thinking is not clear, language is not fluent, speak illogically, will constantly deny themselves, in the final analysis is the interview mentality problem, so adjust their own mentality, the correct face of the gain and loss is very important, my method is to give myself enough psychological hint.

02 — Improve technology and broaden knowledge

For programmers, the only way to grow into a great man in the industry is to constantly improve their skills, broaden their knowledge, and reach a certain height and depth through learning. So how to improve their own technology, broaden their knowledge reserve?

The following are some of my personal practices, I hope to provide you with some help:

Java basics: JVM, String, inner classes, polymorphism, abstractions and interfaces, collection frameworks (Hashmap, Arraylist), singletons, threads, Synchronized, Look locks, dynamic proxies, references

Basic aspects of Android: four components, View, process, Bitmap, screen adaptation, message mechanism, thread asynchronous, WebView.

Android extension: ART, Apk optimization, Hook, Proguard, architecture (MVC/MVP/MVVM), Jetpack, NDK development.

Android source code: Leakcanary, Eventbus

Design pattern: six principles of object oriented, factory pattern, singleton pattern, builder pattern, observer pattern, adapter pattern, policy pattern, agent pattern

Algorithms: sorting, binary tree, linked list, stack and queue, binary, hash table, heap, array/double pointer, string processing, dynamic programming

** Network knowledge: **Http (cache, Https, Http2.0), TCP (three-way handshake, four-way wave, socket), classloader

Attached is my collection of Android knowledge points (including Java foundation +Android Foundation +Android Advanced +Android source code + algorithm questions and answer analysis + design mode + network) + advanced Android development mind map. The technical points are differentiated and summarized layer by layer (actually more energy than expected), including the context of knowledge + many details, due to the limited space, here in the form of pictures to show you some. Click “here” to get all the content for free

Some screenshots of Java basics

Screenshots of basic Aspects of Android

Some screenshots of Android advanced aspects

Android source code part screenshots

 

Summary of algorithm questions (some screenshots)

Network Knowledge (partial screenshots)

Advanced Android development advanced mind mapping

conclusion

The last point I want to emphasize for the interview is that your attitude is really important, which is the key to determine your performance in the interview process. If you can’t play well, you may lose the offer due to a small mistake, so you must pay attention to it. Another point to remind, full review, is the key to eliminate your nervous state of mind, but you review enough, the natural interview process will be much more confident.

The above content I sorted out the Android knowledge summary and Tencent interview review PDF, all content click “here” ** can be received for free, ** HOPE you have a smooth interview, win your favorite offer!