Android Systemization Advanced Learning Graph: Code that Android developers have to collect, must-see for more than 2 years of experience

Current situation: Undergraduates from a private university in the 10th class have actually been in contact with Android for more than 6 years, and have worked for five and a half years (note that I am talking about working years, not work experience). They took a rest after barely resigning in January this year. , I often don’t receive a few offers in a week. I finally get to the HR side. I was also given up because of the high salary requirements. I finally got an offer that was not particularly satisfactory.

First of all, I want to make it clear that in the current environment, the mobile Internet is indeed in the cold winter. Especially Android/IOS development, although it is not a sunset industry, it is also far from the popular IT profession. Since a large number of small innovation companies went bankrupt due to the epidemic, the news of layoffs by large companies such as 360, Didi, and Ctrip can actually be seen. As for the small companies that are still alive, the requirements for mobile developers. . . It seems to be off topic~ Let’s talk about job interviews.

Looking at the needs of online Android job recruitment:

Android job requirements
Requires mastery of system architecture and related technologies, familiar with advanced UI and framework source code, proficient in plug-in, performance optimization, and Java development experience. . .
The first impression that the video interview gives me is that the questions are too difficult, even if the salary is low, and the interview requirements are still high.

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 felt that the atmosphere was very good. I waited there for a while, and the uncle at the front desk poured water for you.

one side:

He should be a research monk who has not been working for a long time. 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. The communication method, 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:

The difficulty has increased obviously on the second side, and the interview tube should be the group leader. I prefer to listen to the structure. Just before I did a smart home project from the web backend, client, hardware, etc., I blew the logic on the hardware side. , Including bluetooth, wifi HTTP/IP protocol, transparent transmission, infrared and other 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 really ugly without art (this is not the point). Because there is a very important point in my project that wakes up the server to push in the background when the hardware is triggered. 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, which includes the push library XmppConnection. It is said that 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. (Hey, after all, young, more to others Learn)

Digression

No matter what kind of interview, no matter what kind of interview, if you want to avoid being abused by the interviewer, you have to max out the interview questions and make a comprehensive preparation. Of course, in addition to this, you also need to lay a solid foundation in peacetime. In this way, no matter how the interviewer digs into his own knowledge, you can still cope with it~

Here I have prepared for you a set of advanced learning videos and interview topic information packages that I have collected and summarized since I have worked and participated in interviews of various sizes . Click here to share with you for free. If the environment is not good, the interview can go smoother, I hope it can help everyone~

Finally, if Ma Huateng gave you Tencent for one day, what would you do? Welcome to discuss in the comment section.

Finally, if Ma Huateng gave you Tencent for one day, what would you do? Welcome to discuss in the comment section.

Guess you like

Origin blog.csdn.net/dajie1213/article/details/112782047