Dachang interview must ask! Write to the Android Siege Lion who is about to look for a job, social recruitment interview experience

origin

With the continuous development of Internet companies, there are more and more modules in product projects, and user experience requirements are getting higher and higher. It is becoming more and more difficult to achieve the purpose of small steps and fast iterations. There is also 65535, between applications The application of plug-in technology was born for problems such as the mutual calling of each other. If there is no plug-in technology, the applications that integrate a large number of "app" such as Meituan and Taobao may be as big as a few g.

Therefore, today's Android mobile development will not be hot-fixed, plug-inized, or componentized, and more than 80% of the interviews will not pass.

Ali P8 bosses stayed up until one or two in the morning every day, spent nearly half a month on Android hot repair framework, plug-in framework, component framework, image loading framework, network access framework, RxJava reactive programming framework, IOC dependency injection The framework, the recent architecture component Jetpack and other Android third-party open source frameworks have been integrated into a set of system knowledge notes PDF, up to 1042 pages! I believe that after reading this document, you will have a deeper and more systematic understanding of these Android third-party frameworks.

Due to the excessive content of the document, in order to avoid affecting everyone's reading experience, only part of the content is shown in screenshots. The detailed and complete version of the 1042 [Android Design Idea Interpretation Open Source Framework] document collection method: like + follow, and then privately write keywords 【666】You can get a free way to claim it!

Interview experience

1. I accidentally saw Zhihu's internal tweet and posted a resume. In the afternoon, my sister hr called me and arranged for the interview to be selected in 3 days. However, I had to test Ali again, so I didn't review it much.

  1. I got up at 8 o'clock and went to the Pioneer Park after 9 o'clock nervously. I feel that the atmosphere is very good. After waiting for a short time there, the uncle at the front desk will pour water for you.

one side:

He should be a research monk who has recently joined the work. He came up with an algorithm question. The main test is to convert characters to int, and then analyzed the time complexity and space complexity. After that, I talked about the performance optimization of android listView. I also asked me about the characteristics and process of recycalView. Communication methods, I mainly talked about aidl and shared files, broadcasting, originally wanted to use java to install B, and I am still proficient in java, but the brother did not ask, he said wait a moment

Two sides:

On the other hand, the difficulty is obviously increased, and the interview tube should be the group leader. I prefer to listen to the structure. I just made a smart home project from the web backend, client, hardware, etc., and then I blow the logic on the hardware side. , Including bluetooth, wifi HTTP/IP protocol, transparent transmission, etc., infrared sensors, and then web background I said I use sevlet, because the client itself mainly needs an interface, the database uses mysql, and did not ask rollback (hehe), and then put The client showed it to him, it was too ugly without art (this is not the point), because a very important point in my project is to wake up the server when the hardware is triggered to push the background, first after the hardware is recognized, the serial port reads and writes data to The single-chip microcomputer writes the wifi buffer, the wifi transparently transmits data to my server through HTTP (TCP and IP can be used), the server obtains the mac logo, and pushes it to the TAG (family ID) or the user (Alias)
. Implementation principle.
1: pull mode, http long connection or socket, just set the polling interval, shortcomings are poor timeliness
2: push mode, good real-time performance, method 1, Google's own push platform (the network is too poor), method 2, xmpp Protocol (based on XML). In fact, the package is better. There is an open source package called asmark. Among them is the push library XmppConnection. Many companies use its own package library, but the open source demo only pushes, there is no delayed push, message temporary storage function, method 3. Using a three-way
algorithm: It is the problem of merging two ordered arrays. Using two pointers to solve the problem O(n) each time, the algorithm pass
LruCache: Install B first, and talk about what I wrote and the google V4 package. What is the difference, mainly because there is no trimToSize method and no sizeof() to calculate the memory consumption size. I mainly rewrite LinkedHashMap and talk about the source code of LinkHashMap. In fact, I also look at the source code analysis written by others. Learn)

Learning route + knowledge combing

It took a long time to sort out this detailed brain map of the knowledge route. Of course, due to limited time and limited capabilities, after all, the entire embedded system is too large. Including my embedded classmates, it is impossible to understand everything. Some things may not be covered, and the shortcomings are still small. Partners communicate and supplement together, improve and progress together.

img

This article is in an open source project: What about Android development? How to get a high salary in an interview has been included, including self-learning programming routes in different directions, interview question collection/face-to-face, and a series of technical articles, etc. The resources are continuously being updated...

The self-learning programming route, interview question collection/face-to-face, and a series of technical articles, etc., resources are being continuously updated...

Share it here this time, see you in the next article .

Guess you like

Origin blog.csdn.net/a120464/article/details/113931039
Recommended