Some feel, with a face questions after the interview to talk about Android

This article originally did not want to, because the entry of new companies a month, but think about or write about themselves to be a summary of the past two or three years, may be able to help some people, or from which can get some advice. The interview was mainly out of two weeks, the first week was mainly resume, second week mainly interview day arranged for 2-3 interviews.

Let us talk about the interview mainly deep impression of knowledge:

  • The difference between stack and heap
  • The essential difference between abstract classes and interfaces
  • The difference between String, StringBuffer and StringBuilder of
  • Annotations, reflection, generics
  • Handler message mechanism, producer and consumer model
  • View, ViewGroup the event delivery mechanism, how to resolve conflicts slide? The question of how best to give the actual slide conflict scenarios and how to solve
  • Draw process View, ViewGroup of
  • okHttp, Retrofit source, principle
  • Explain what is the MVP architecture
  • Https principle, the encryption algorithm
  • RecyclerView cache mechanism
  • Common design patterns mainly asked about these (single cases, agents, adapters, builder), saying the concept, then the interviewer will ask specific usage scenarios
  • The latest Google AAC architecture (ViewModel, LiveData, Room etc.) there is no use, as well as realization of the principle behind
  • There is no use in Kotlin, ask this question of the company, basically his own company to develop new App using Kotlin, either use Kotlin migration, reconstruction, mixed together with java
  • Common causes of memory leaks Android, as well as checking tool, mainly to ask how to use the Android Profile to check memory leaks, performance analysis of how to do? And third-party tools to check for memory leaks LeakCanary principle?
  • App developed which highlights the difficulties, how to troubleshoot line bug, experienced no code refactoring

More than face questions, mainly Android application layer knowledge, made made rockets needed before the interview, but also the usual work, accumulation and summarization.

Let me say the interview deeply impressed Company

Shanghai Pudong Development Credit card
Shanghai Pudong Development Credit cards are the most miserable of hate are beginning to ask a few basic questions, then I ask you to do the app is how to prevent the transmission parameters channeling someone else take. Because I was in the company is doing financial planning type of loan app, plus the nature of the research and development team in Shanghai Pudong Development credit card, think to ask this question is normal. I answered the parameters verification so the library, some special parameters md5 encryption, for comparison with the background. So the interviewer library on security Well, not decompile thing. Then went on to ask https principle, encryption algorithms know what? Is he not answer, confidence suddenly gone. The interviewer then asked RecyclerView caching mechanism, more could not answer, because usually have seen, too many inside the code, usually do not experience data of thousands, hundreds of thousands, there are many different types of list layout. So I will not go in-depth look, but also do not understand.

Take the car every day (D wheel professional personal selling cars platform, similar to the seeds used car)
interviewer asked two and a half hours of technical issues, covering most of the face questions summarized above (except credit card summary of SPD), overall found chat is also good, because most of them answer them, and two days later received a second interview.

Engineer Dad (B round professional to do the education of children)
interviewer asked mainly the latest Android Jetpack latest components principle, Kotlin there is no use, communication between the android process, multi-threaded download how did you do? Breakpoints how to do? The overall answer can also be asked to back the interviewer said, I read your github. Because open source multi-threaded download a file instance and Kotlin write an open source App my github above. Two days later I received a second interview.

It summarizes several companies, as well as other companies re-examination, offer. He did not list them. I did not go re-examination, re-examination because the call came, I now almost entry company. The company recruits remember the first week of Saturday interview, the impression of two deep problems: 1, Handler message mechanism, model of how producers and consumers understand how to apply practical development. 2, frame animation there are multiple pictures on how to ensure that the memory is not OOM? Asked technical point basically know the result came, and then the personnel side, asked me what time entry as soon as possible, pushed back a week into the job. Currently the company is the main entry to make intelligent interactive, intelligent robots piece, some 10 out of android. We found that previous knock code, there are both good and bad. This is normal, and he is knocking the difference code is also left to the others.

Overall found the whole interview down vote resume this year, 996 companies found quite a number of two years ago, not so much. Some personnel, boss will have a direct say 996 or ask your own interview process is not 996,996 of the company is rejected, are they not want to go. During the interview I found his confidence is not enough, not enough technical ability, and he is anxious. Interview Think of these points should pay special attention.

  1. Like a little big plant, cast your resume in the past, plus time reply in an interview, two weeks.
  2. If the interviewer process, found that the interviewer did not ask any technical questions, or ask questions is not deep enough, basically it can be concluded that the company does not depend on technology as a driver for the company.
  3. Improve their confidence, you have to be more understanding of knowledge points to depth.

The main purpose of writing this article is to be summed up. I remember just left school, I hope to be able to meet a large cattle band themselves, to learn, probably into the company's aim is to learn. I think a lot just out of school I have this attitude, ha ha, this original mind ..... Now that I think the whole attitude is different, and joined the company in order to reflect the value of benefits to the company. As a large part of technology is the need to rely on their own, are also part of the company's business, product demand is to do the piece, it will be the main point of attack piece of technology. Usually you need to accumulate more learning, more than experience, the code needs more hands to knock. Just out of school to write code mess, no programming style, not ideas. This is normal, most people have this ability is slowly lifted, experienced a year or two it will be much better. Now I look at the code yourself knock two years ago, is food, it is time.

Because of their own development for three years, mainly doing app android terminal, which also studied the Spring, SpringMVC, ios development and so on. The reason for contact with others, the company's first, to be a need, some companies do not have enough or do not want to post some hiring, pull do you do, to see, for the first year he started working heart it is rejected, I do not want to do the rest. Second, with long working hours, ability to learn slowly increased, found the need to learn other things, are they light enough Android application layer, coupled with increasingly fierce competition in the market. Time came into contact with Kotlin, Rect, ios last year, found that the process of learning a lot of things are interlinked, even different platforms, different development languages. More like Jin Yong novel which is described as "the world of martial arts the same thing," martial arts.

Write code that concluded the following:

  1. Need to confirm need to understand biased. And product managers must communicate before you write code. Would rather spend the time to test and designers to communicate, do not go hard at writing code. Similarly, seriously think about how to achieve such a function, thinking sort out the knock code.
  2. Develop good coding practice, style. See more Google open source example, or other well-known companies on the github.
  3. Six design principles, some common design patterns to understand thoroughly keep in mind, more use in the encoding process.
  4. Code must be thinking, written comments, write your own code to not just look, but also for others to see.
  5. Usually need more study summary, and more experience, the code needs more hands to knock.

Reproduced in: https: //www.jianshu.com/p/0990bef2b7fd

Guess you like

Origin blog.csdn.net/weixin_34389926/article/details/91254303