Summary: HenCoder Android development advanced: custom View 1-4 Canvas to draw auxiliary clipXXX() and Matrix


2017-2018 latest Android interview questions
Original link: http://blog.csdn.net/huangqili1314/article/details/72792682

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 major components (life cycle, usage scenarios, how to start)
java foundation – data structure, thread, 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. , used)
extension – Android6.0/7.0/8.0 features, kotlin language, I/O
conference . It is better to rush to submit resumes and 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.

The interview questions (the fixed answer is not answered, you can find it yourself)
are arranged in order according to memory, there is no priority, they 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. Open source framework, why is it used, and what is the difference between it and others
This question must be asked basically. 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.

Conclusion What the
interviewer faces depends entirely on their personalities (character, 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.

Smile, be polite, and be humble
Dress decently, 80% of those who wear slippers
must bring a resume and a pen Say thank you when you
come , and say thank you when you're done
. Learn to read the interviewer's expression, if you don't answer well, don't continue
Go on, don't brag about how awesome the projects you have done before, and don't brag about how
cool you are when answering questions, don't talk a lot, the interviewer is very annoying.
Next , I will write a few articles about BAT and other big companies. The collection of interview questions will be released soon, and it is 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.

Guess you like

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