Recommend learning! You will understand after reading this article in three minutes! Have taken an offer

Preface

To become an excellent Android developer, you need a complete knowledge system. Here, let us grow together to be what we think.

Jin Jiu Yin Shi is the tide of job changes for everyone. After going through the interview for almost a month, I decided to write down these problems.

While enhancing the impression, it can also help friends who are looking for a job. I hope that all of you can find your favorite job smoothly!

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)

At last

**A zero-based rookie, I think persistence is the most important thing. ** Many of my friends have come to learn from me, and I teach them very carefully, but I can’t hold on in less than a month. I think there are two main reasons for their inability to persist:

They plan to enter the industry not because of interest, but because of the so-called high wages in the IT industry, or that they have no plans for the future.

It was really boring when you first started learning. This is really a test for you, so it’s not easy to stick to it, but if you are interested, you don’t think it is tired, you don’t think it is boring. .

Technology upgrade encountered a bottleneck? Lack of advanced Android advanced video learning to improve yourself? There are also a lot of interview questions from big companies to prepare for your interview!

Click: Android learning, interview documents, video collection

Come to get learning materials to improve yourself to challenge the BAT interview difficulties

For many Android engineers, if they want to improve their skills, they often grow up on their own. The learning effect of fragmented systems is inefficient, long and helpless . The compilation of these knowledge graphs hopes to have a reference to Android development friends and avoid detours. The focus of this article is whether you have gained and grown, and the rest is not important. I hope readers can keep this in mind.

No matter what difficulties we encounter, it should not be a reason for us to give up!

If you have any questions, you can directly private me, I will try my best to help you!

Should not be a reason for us to give up! **

If you have any questions, you can directly private me, I will try my best to help you!

Finally, I wish every newcomer can persevere and achieve success in learning.

Guess you like

Origin blog.csdn.net/clhcowboy/article/details/112725887