Preface :
The author was born in a remote mountain village in Jiangxi Province . It was not a matter of food and clothing when I was born , But it's not like having a happy childhood . The family is very poor . Kindergarten did not read , Because the family doesn't think it's necessary to spend that money , Primary school began to learn Pinyin . My childhood , Is to herd cattle with my sister and brother in the terraces in the mountains , Catch loach , Cut fish grass .
I went to Peking University Qingniao , An adult training institution , No education . Working hard in Shenzhen 6 Years. , I've been running around in some small companies . The epidemic broke out suddenly at the beginning of the year , The market economy has entered a cold winter , I was also laid off by the company .
It also made me realize , Their education is not high , If you don't work hard to take your technology to a higher level , There must be no future . Fortunately, a friend works in Ali , It gave me a chance to push in . therefore , When the epidemic is at home , I decided to force myself to , Start preparing for Ali's interview . Finally got it before May Day P5 Of offer. Here is my interview experience to share .
Text
1. Making stable applications is the key .
As a good Android Developer , First of all, clear Android Is the front , The key is UI, Master customization view.
2. Building a knowledge system
A lot of people Android It belongs to the state of half knowing , Encourage to go Stackoverflow Looking for a solution to the problem , but
Be sure to understand the internal mechanism , A system for understanding knowledge
, When you build a system , Many problems are not complicated , Software development is precise engineering, Not by luck .
for instance , During the interview , I like to challenge the interviewer with some crazy questions , such as , In a EditText Inside , You lost a letter “A”, This A How many Android specific processes have passed before they can be displayed on the screen . At first glance, this is a boring question , People tend to think , This is a matter of course , It's not , This question tests your understanding of view layout/measure The understanding of the , Yes rendering The understanding of the , Yes drawing The understanding of the , If the interviewer can answer this question , Then I'm not worried that you'll write Caton's Android code .
Just begin to do Android When developing , I can't answer this question , But a few years later , Gradually
Developed a system
, Fully penetrate these “ unnecessary ” The details of the , I personally think this is a necessary condition for a senior programmer , Any performance optimization is a natural thing
As for other technologies , such as video streaming, It depends on whether you want to be an expert in a field , Or a problem solver , If it's the latter , You need ** Good data structure + Algorithm + Read code + The ability to read documents ,** Learn about good solutions in a short time , Then use it , Do software work
《Android Summary of learning notes + Latest mobile architecture video + Big Android interview questions + Project actual combat source code handout 》 Free open source Hui Xin search official account 【 Advanced programming 】
Cheng not read PhD, Solve the needs first , See how to improve .
3. Data structure algorithm , Source code , Principle mechanism
Many people recommend all kinds of books , about Android Development , There is no better resource than Google The official video of , They point you in the right direction and let you know more about Android Of UI Construction and operation mechanism . I've seen a lot and written a lot app, But programmers who don't understand the point , I just feel disappointed and worried . Of course , Since you want to be the front end UI, Black magic is indispensable , Learn the ever-changing programming ideas ,Dagger/React wait
If you're in a team ,** Establish a good learning atmosphere , Encourage communication ,** While being tortured by product managers and designers , Understand them , Help them understand Android Development features
The new technology updates quickly , Many people worry that they can't keep up with being eliminated , It's not necessary ,**Android Just a problem solving tool ,** You need a knowledge system that is always ready to solve problems with this tool , It's the same with another tool . For example, cross platform development technologies have the same goal , Mobile phones have not been eliminated ,Android Development will not be eliminated .
On the other NDK Development , Audio and video , Wechat applet ,Flutter Cross platform technology and so on . In fact, strictly speaking, it can be regarded as independent Android The technical side of . But it is closely related . Because enterprises recruit one Android Development , I certainly hope he can master other skills at the same time , Reduce labor costs . So these technologies also need to be learned and mastered .
Exchange of learning
There are a lot of technical bulls from the front line in the group , There are also farmers who struggle in small factories or outsourcing companies , We are committed to building an equality , High quality Android Communication circle , It doesn't have to take everyone's technology by leaps and bounds in the short term , But in the long run , Vision , pattern , The direction of long-term development is the most important .
35 Middle aged crisis is mostly caused by short-term interests , The value is squeezed out too early , If you can set up a correct long-term career plan from the beginning .35 You will only be worth more than the people around you .
原网站版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207061101469941.html