At the beginning

Every “yue” four season, people always many people go to search for something called “face”, is actually a specific subject, then need to go “back” the answer, if so, I believe you won’t have any ability to improve, even if the job three years five years also could not reach the level of senior engineer, It turns out that these “programmers” are in the majority. What’s more, I think the really valuable content of an interview is how you learned before the interview, how you answered the questions you couldn’t answer in the interview, and your feelings and summary after the interview, rather than a cold list of questions.

Interview techniques are as follows:

I. Senior UI engineers

UI drawing process and its principle 2. Event transfer mechanism in-depth source layer analysis 3. Attribute animation principle in detail 4. Actual combat custom view hardware acceleration principle and application 5. High performance, page rendering, component business

Ii.Android low-level development engineer

1. Basic knowledge: function Linux memory layout principle 2.C++ foundation promotion: class inheritance, polymorphism, abstract class, template inheritance 3.MakeFile syntax: Android. Variable definition to use, method parameter transfer mechanism, shell script preparation and execution compilation FFMPEG library 5.AS compilation So principle 6. Principle and implementation of audio and video, audio and video collection and coding 7.Opencv principle details 8.QQ video call core technology — WebRTC point-to-point communication principle

Iii.Android Senior Architect [First-line Internet core architecture design direction, Framework Direction]

1. Overall framework design of Android events 2. No dead Angle analysis of Android system coding 3. Skin core technology 4. Componentized framework design 5. Plug-in framework design (Hook) 6. Database framework design 7.OkHttp network access framework design 8.Glide picture loading framework 9.RXJava2 framework analysis and source code details 10.IOC framework design and design mode four. Why Flutter is a cross-platform technology revolution 3. Advancements and optimization – How to further improve Flutter memory performance

HR interview:

1. Why did you leave your last job? How do you see your career in the future? (including the distribution of work and family, how to balance the relationship between family and work, overtime, consideration when choosing a company, etc.)

Some questions candidates have been asked:

1. What was the biggest challenge during the project? How did it work out? 2. What is the most fulfilling thing? 3. What do you think are the weaknesses/strengths of your job? What kind of person do you like in the eyes of your friends and relatives? What do you think of overtime (can you accept 996, 997, 007)? I think we have to work hard to realize our dreams, so I am prepared and willing to fight with my friends. I can work overtime, and my overtime intensity is quite high now. Because I love it and I want to do it well. 7. Can YOU accept a salary cut? If the candidate’s tonality matches (officially enough), you can say something like: I also understand the ant gold currently salary structure, I believe that the company will give a reasonable salary according to my abilities, I believe that as long as you get things done, it will be some for ants, such departments, “we are creating history, we’re doing a no one has ever done, so it must be difficult, affirmation is to pay a lot of effort”. Interviewers will especially appreciate this.

Interview Tips:

1. The status of the interview is very important: For two examples, a candidate who was offered a job last month with non-Internet background and non-front-line company showed strong interest in Ali during the interview, and HR mentioned it to us afterwards and was very impressed by this candidate. Another candidate who just died today won both rounds of technology at one stroke, and finally the HR failed. HR gave us feedback that the candidate just quit his startup company and seemed to be depressed and have no idea about himself. To sum up, the interview should not be too submissive, passive, nor exaggerated, but to show your respect and fight for a good opportunity, let the interviewer feel that you are interested in them and the position.

2, answer the question: feel the answer out of the other party will not like, you can do so: relevant answer questions, pay attention to emphasize their own ideas, to let the interviewer can empathy, such as shenzhen housing price can attract empathy, e-commerce related platform, stable, there is room for rise, etc.

Matters needing attention:

1, Ali inside HR is to understand the business, will combine the judgment of candidates and business control screening, do not fool them, is how should…….

Ali is more important than most companies feelings and dreams

Ali’s mantra: Optimistic, smart, honest, introspective

Remember the question that was often asked before, how do programmers learn correctly

I answered a question on Zhihu before: is it efficient to learn programming by typing in others’ code? Then, I put my learning way to answer, did not expect a good response. In fact, through this question, we can talk about learning methods and efficiency. I hope this article will give you some inspiration

We will talk about how to improve the efficiency of programming for beginners, how to master the problem of entry programming methods.

In fact, for beginners, it is certainly impossible to see once can readily knock out, unless there is a photographic memory of genius. Every beginner has such a slow learning process. For beginners, learning efficiency should not be considered too much. More attention should be paid to the quality of study.

According to others or book code line by line, the biggest harvest is to practice the speed and ability of typing.

I’ll give you an example, but if you type line by line, if you don’t understand it, you’ll make a mistake. Even if it feels like you’re typing code in a book or a video. Examples are:

When I was learning Java and Android, I often had the same class name but under different package paths. At this point, if you look at the code typing, you might mislead the path of the package, resulting in incorrect usage. When you guide the package, you use shortcuts, and when you follow the video, you probably don’t know where the path is, right? Then you route the package in the wrong way, so it doesn’t work, and you get an error when you run it. I started looking for all kinds of errors. Why did the code on the video work properly? I typed exactly the same as him.

For example, Date, in SQL path, util package path, there are a lot of cases like this in Java, if you don’t understand the usage and principles, this can happen.

What does this example tell us? That’s easy. What do you read? Not reading a book to follow him bit by bit to knock on the code, but reading is reading knowledge points and principles, to understand the knowledge points and principles and methods of these chapters in the book. This is book learning. Reading and learning, pay attention to look.

The next step is to knock. What did you do before you typed the code? I understand the principles, methods and knowledge points, so, since I understand, is it possible to try blind knocking? Don’t read, don’t look at the video, ** in accordance with their own understanding pondering knock! ** Sure. Otherwise, it’s all for nothing.

When they can’t move, when the train of thought is stuck, then go to the book or watch the video, see how they write? So that you remember, you also have to think, why am I stuck here? Am I missing the point here? Don’t understand? Or not yet familiar with it? Then familiarize yourself and continue to knock. Until you knock it out. Over and over again, little by little, your ability will be hammered out.

In fact, I feel when reading, there is a very big problem, especially for beginners or new contact with things and knowledge points. I don’t know if you’ve ever seen one. That is, sometimes, when learning the previous knowledge, it involves the knowledge behind, because you just learned, do not know the behind, resulting in you can not understand, or feel very difficult, so very irritable.

At the end of the article

Anyway, no matter what the size of the interview, so I wouldn’t be the interviewer don’t don’t of, only make full preparations maxed interview questions questions, in addition to this, of course, also need to beat the basis of their solid at ordinary times, so that no matter how the interviewer a chisel in the knowledge to the dead, you will be able to cope with such as flow ah ~

My 6 years of interview experience and study notes have been compiled into a **937 page PDF, along with some excellent video tutorials I have watched during my learning progress. ** Upload to my GitHub: Android architecture video +BATJ interview topic PDF+ study notes ** Please help yourself, free to share!

In fact, I have seen many friends complain about their low salary, including the author. The reason is that I did not give the interviewer a good answer in the interview process. Therefore, I will continue to update the problems encountered in the interview process, and I hope that you can progress and learn together with me.