2018 latest Android interview questions

Hello everyone, before I tell you about my interview experience and the interview questions I encountered, I would like to say a few digressions.

I have been in contact with Android for 3 years. When I encounter difficult problems at work, I always search for answers on the Internet (csdn Daniel blog, stackoverflow, etc.) Thank you so much for this! However, now that I have thought about it, it is also time for me to share the problems I encountered and the solutions, hoping to help those in need.

With the passage of time, many people say that the Internet has become more and more difficult to do, because the era of burning money has passed, and the rest are big companies with solid foundations, and unicorns no longer exist. This has directly led to the decline of Internet jobs. I personally tested it, and this is indeed the case.

In May 2017, I resigned (3 years of work experience at this time, working in Shenzhen), and began to test the Android market, looking for a suitable and stable medium and large company. I have invested in a lot of companies, and the interview opportunities are not as many as I thought. The instant interview process went smoothly, and I didn't get an offer (there are too many candidates). But taking this opportunity, I have interviewed 10 companies before and after, and now I will take the interview questions I encountered and provide some interview skills to the comrades who are about to interview.

OK, enter the topic, please see the Android Knowledge Graph.
write picture description here

Interviews are nothing more than asking the above questions (there are quite a few - -!), and hiring mid-to-senior Android developers will ask them in depth, and they will ask one and two. Here are some key points that I will first put forward, which are basic questions that the interviewer must ask. Please be sure to understand!

  • Basic knowledge – four components (life cycle, usage scenarios, how to start)
  • java basics - data structures, threads, mvc framework
  • Communication – network connection (HttpClient, HttpUrlConnection), Socket
  • Data Persistence – SQLite, SharedPreferences, ContentProvider
  • Performance optimization – layout optimization, memory optimization, battery optimization
  • Security – data encryption, code obfuscation, WebView/JS calls, https
  • UI – animation
  • Others – JNI, AIDL, Handler, Intent, etc.
  • Open source frameworks – Volley, Gilde, RxJava, etc
  • Expansion – Android6.0/7.0/8.0 features, kotlin language, I/O conference

In a hurry to submit resumes and rush for interviews, it is better to settle for a day or two and go through the above content again. If you want to get an offer safely, it is best to understand the implementation principle and know the usage scenarios. Don't go back! To understand! The interviewer is very tired of listening to this content for a day, it is best to give some opinions of his own.


Interview questions (fixed answers are not answered, you can find them yourself)

The order is based on memory, there is no priority, all are the key points.

1. The startup process of Activity (do not answer the life cycle)
http://blog.csdn.net/luoshengyang/article/details/6689748

2. Activity startup mode and usage scenarios
(1) manifest settings, (2) startActivity flag
http://blog.csdn.net/CodeEmperor/article/details/50481726
Extend here: Stack (First In Last Out) and Queue The difference between (First In First Out)

3. Two startup methods
of Service (1) startService(), (2) bindService()
http://www.jianshu.com/p/2fb6eb14fdec

4.Broadcast registration methods and differences
(1) static registration (minifest), (2) dynamic registration
http://www.jianshu.com/p/ea5e233d9f43
Extend here: under what circumstances use dynamic registration

5. The difference between HttpClient and HttpUrlConnectionhttp :
//blog.csdn.net/guolin_blog/article/details/12452307Extended
here: Which request method is used in Volley (HttpClient before 2.3, HttpUrlConnection after 2.3)

6. The difference between http and https
http://blog.csdn.net/whatday/article/details/38147103
is extended here: the implementation principle of https

7. Handwritten algorithm (you must know how to choose bubbling)
http://www.jianshu.com/p/ae97c3ceea8d

8. Process keep alive (undead process)
http://www.jianshu.com/p/63aafe3c12af
is extended here: what is the priority of the process (the following article says it all)
https://segmentfault.com/ a/1190000006251859

9. Methods of inter-process communication
(1) AIDL, (2) Broadcast, (3) Messenger
AIDL: https://www.jianshu.com/p/a8e43ad5d7d2
https://www.jianshu.com/p/0cca211df63c
Messenger : http://blog.csdn.net/lmj623565791/article/details/47017485Extended
here: A brief description of Binder, http://blog.csdn.net/luoshengyang/article/details/6618363/

10. Load the big picture
PS: There is a small company (the scale is fake, and it has been deceived), show me the project directly, and let me explain the realization principle. .
One of the interviews that left me speechless the most, I was almost wearing my underwear for just one question, and I was about to help them write code. .
http://blog.csdn.net/lmj623565791/article/details/49300989

11. Level 3 cache (all major picture frameworks can be involved in this)
(1) memory cache, (2) local cache, (3) network
memory : http://blog.csdn.net/guolin_blog/article/ details/9526203
Local: http://blog.csdn.net/guolin_blog/article/details/28863651

12. MVP framework (must ask)
http://blog.csdn.net/lmj623565791/article/details/46596109
extended here: handwritten mvp example, the difference between mvc and mvc, the advantages of mvp

13. Explain Context
http://blog.csdn.net/lmj623565791/article/details/40481055

14.JNI
http://www.jianshu.com/p/aba734d5b5cd
extends here: where JNI is used in the project, such as: core logic, keys, encryption logic

15. The difference between the java virtual machine and the Dalvik virtual machine
http://www.jianshu.com/p/923aebd31b65

16. What is the difference between thread sleep and wait
http://blog.csdn.net/liuzhenwen/article/details/4202967

17. View, ViewGroup event distribution
http://blog.csdn.net/guolin_blog/article/details/9097463
http://blog.csdn.net/guolin_blog/article/details/9153747

18. Save Activity state
onSaveInstanceState()
http://blog.csdn.net/yuzhiboyi/article/details/7677026

19. WebView interacts with js (which APIs are called)
http://blog.csdn.net/cappuccinolau/article/details/8262821/

20. Memory leak detection, memory performance optimization
http://blog.csdn.net/guolin_blog/article/details/42238627
There are four articles in this article, which are very detailed.
Extend here:
(1) The difference between memory overflow (OOM) and memory leak (objects cannot be recycled).
(2) Causes of memory leaks

21. Layout optimization
http://blog.csdn.net/guolin_blog/article/details/43376527

22. Custom view and animation
The following two explanations are very thorough. Most of the interviewers in this part will not ask very deep questions, or they will give you an effect to explain the principle.
(1) http://www.gcssloop.com/customview/CustomViewIndex
(2) http://blog.csdn.net/yanbober/article/details/50577855

23. Design patterns (singletons, factories, observers, functions, usage scenarios)
are generally ok if you know what you know, don't just remember the name and say it out loud, otherwise you will feel better.
http://blog.csdn.net/jason0539/article/details/23297037/Extended
here: The writing method of Double Check is required to be written.

24.String,Stringbuffer,Stringbuilder 区别
http://blog.csdn.net/kingzone_2008/article/details/9220691

25. The question of why open source frameworks are used and what is the difference between them and others
must be asked. What framework to write on his resume, he will ask what.
Such as: Volley, the interviewer will ask me the principle of Volley's implementation and the difference between okhttp and retrofit.
There are many open source frameworks, I will choose a few that most companies will use (the frameworks are all for business and performance, so not necessarily well-known frameworks are used by some)
Network requests: Volley, okhttp, retrofit
Asynchronous: RxJava, AsyncTask
Image processing: Picasso, Glide
messaging:
Please find the above frameworks on EventBus, too many will not be posted.

26.RecyclerView
is quite funny. Another colleague is also looking for a job. The interviewer thinks that he has not used RecyclerView and passed it directly.
http://blog.csdn.net/lmj623565791/article/details/45059587

OK, click to stop.

Epilogue

What the interviewer faces is entirely up to them (personality, mood, weather, your face). The above are just some of the points that I think are important. Of course, there are many deep things that can’t be made up in a day and a half. It still depends on your usual experience accumulation. The interview is not only technical, but also high-level and personnel, all of which depend on the individual's performance.

PS: If the interviewer says that there is anything else you want to ask, don’t dig a hole for yourself, say how you performed today, and whether you can be admitted. Ask about the company's team and atmosphere, and try to show interest in the company.
For example: I want to know whether the company holds technical meetings on a regular basis, and whether old employees will share some of their own experiences.

Life is not easy, if an interviewer (you will interview others one day) sees this article, please put down your air or prejudice and respect every interviewer.

Finally, I list a few points to note in the following interview.

  • smiling, polite, humble
  • Dress decently, 80% of those who wear slippers
  • Be sure to bring your resume and pen
  • Come say thank you, say thank you
  • Learn to read the face of the interviewer. If you don't answer well, don't continue to talk.
  • Don't brag about how awesome the projects you've done before, and don't brag about yourself
  • Answer the questions calmly, don't talk a lot, the interviewer is very annoying

Next, I will write a collection of interview questions for big companies such as BAT, which will be released soon and are already being sorted out. If you like it, please give it a thumbs up!
Finally, I wish you all a smooth interview and find your favorite company as soon as possible.

**Personal interview experience summary article:
Android2017-2018 latest interview questions (3-5 years experience personal interview experience)
**BAT interview series articles:
1. Android (2017-2018) BAT interview questions sorting (java articles, with answers)
2. Android (2017-2018) BAT interview questions sorting (Android articles, with answers)
3. Android (2017-2018) BAT interview questions sorting (in-depth technical articles, with answers) to be continued
4. Android (2017-2018) BAT interview questions sorting (high-level/HR articles, with answers) unfinished to be continued

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324801576&siteId=291194637