Preface
First of all, I will introduce myself, the computer is not the same, and I have no chance with me for the postgraduate entrance examination. I had an internship in the algorithm department of a company in the Imperial Capital before. The company is considered a big company. However, my personal hobby is more development. When I was sophomore, I wrote an app, mainly using various frameworks.
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.
- 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.
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...
Lines, interview questions collection/face-to-face, and a series of technical articles, etc. The resources are being continuously updated...
Share it here this time, see you in the next article .