Native android! To the Android Siege Lion who is about to look for a job, with an annual salary of 50W

Salted fish turned over and kept on stage

In May 2018, in Beijing, in the so-called Internet winter, an ordinary second-book student, after working in a small company for a year, quit and got an offer from Baidu. His monthly salary changed from 9k to 17k, and the salary increase was close to 100%.

At the end of 2018, in Shanghai, a student with only a high school degree joined the IT industry through training. At the beginning, his monthly salary was only 6k. A year later, his monthly salary became 16k, an increase of nearly 167%.

In March 2019, in Beijing, an ordinary second book graduated from xx Science and Technology College. After a small company stumbled for half a year, it suddenly opened at the beginning of this year and successfully got offers from Baidu, Xiaomi, Netease and Toutiao. In the end, he chose Dojin In the headlines, I got a monthly salary of nearly 30k.

At the beginning of 2020, in Shenzhen, a graduate student who majored in physics received an offer with an annual salary of 500,000 after just two years of work. He is now a senior engineer.

There are many more examples like this, and it is impossible to list them all. It can be seen that without a prestigious school education and dazzling aura, one can still enter a big factory and get a high salary, but many people do not understand the essentials.

Blacksmith need its own hardware

In fact, for people with ordinary academic qualifications and no dazzling aura, entering a large factory depends on one thing: technical strength. But many people are used to staying in small factories, and always use the standards of small factories to measure the requirements of large factories. They have been frustrated by interviews many times, so they come to a conclusion: interviews to build airplanes, and to screw the screws.

But in fact, big companies have larger platforms, more users, and naturally higher technical requirements, which cannot be completely described by screwing a screw. Even if the big factories do ordinary things, but in many cases, the big factories' pursuit of stability, execution efficiency, and crash rate is something that small factories can't understand.

We know that for a seemingly simple thing, if it can achieve 80 points, it is easy; if it achieves 95 points or more, it is very difficult; and if it can achieve 99 points or more, it is as difficult as the sky. Up. In large factories, it is often necessary to achieve a score of 95 or higher. This process of pursuing the ultimate is very technical. Do you understand it well?

How to enter the big factory, I summarized it as:

  • Get out of the thinking of a small factory and demand yourself in accordance with the technical standards of a large factory
  • Organize the core skill tree
  • Practice for a year

Readers who know me know that I have been to many big factories, I have been to Tencent Baidu Didi, and my technical level is not low. I was a technical expert several years ago. I know well the employment standards and standards of big factories. skills requirement.

Java related

1. The difference between HashMap and HashTable and CurrentHashMap.

2. The difference between synchronized and volatile, ReentrantLock, and CAS.

3. JVM class loading mechanism, garbage collection algorithm comparison, Java virtual machine structure, etc.

4. Four references to Java

5. Java's generics, the difference between <? super T> and <? extends T>.

6. What are the statuses of Java threads, what locks are there, and the difference between various locks.

7. The difference between final, finally, and finalize.

8. The difference between an interface and an abstract class.

9. The difference between sleep, wait and yield, how does the thread of wait wake it up?

10. The difference between == and equals and hashCode in java

11.String、StringBuffer、StringBuilder 区别

12. The meaning of the interface

13. The difference between process and thread

14. Tell me about common encoding methods?

15The difference between Serializable and Parcelable

16. The method and principle of converting string to integer

17 The difference between a static proxy and a dynamic proxy, what scenarios are used?

18. Tell me about your understanding of Java reflection

19. Tell me about your understanding of Java annotations

20. Talk about the principle of generics and give examples

Computer network part

1. The difference between TCP and UDP.

2. Shake hands three times and wave four times. Why is it three times, not twice?

3. The difference between HTTPS and HTTP. HTTP 2.0, 3.0?

4. Enter a URL in the browser and press Enter. What is the process of network transmission?

5. What is the frequency of sending packets after TCP establishes a connection?

5. OKHttp

6. How to verify the legitimacy of the certificate?

7. Where is symmetric encryption and asymmetric encryption used in https? Do you have any understanding of encryption methods (such as RSA)?

8.How does the client determine that the message it sent was received by the server?

9. Talk about your understanding of WebSocket

10. The difference between WebSocket and Socket

11. Talk about your understanding of Android signatures

12. Please explain why Android needs to add a signature mechanism?

to sum up

In fact, it is very simple to master easily, and there are two main points:

  1. Find a good set of video materials and follow the knowledge framework that Daniel has sorted out to learn.
  2. Practice more. (Video advantage is strong sense of interaction, easy to concentrate)

You don't need to be a genius, and you don't need to have a strong talent. As long as you do these two points, the probability of success in the short term is very high.

For many junior and mid-level 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 screenshots of the following information are compiled by me over several months, and I am full of sincerity: it is especially suitable for Android programmers with 3-5 years of development experience to learn.

4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)】。**

[External link image is being transferred...(img-wd03cvIu-1614050074272)]

Guess you like

Origin blog.csdn.net/Sunbuyi/article/details/113977894