Aiti Tribe Stories (22): From fleeing from Beijing, Shanghai and Guangzhou to fleeing back to Beijing, Shanghai and Guangzhou

Aiti Tribe Stories (22): From fleeing from Beijing, Shanghai and Guangzhou to fleeing back to Beijing, Shanghai and Guangzhou

[51CTO.com original article] Sima Yu is Jiuge's senior. He has worked as a senior Android engineer in two top 10 domestic companies. He has an infatuated passion for Android technology and is willing to help his peers. The most rare thing is that he has a beautiful girlfriend. He is worthy of being a winner in life among Android programmers. Jiuge has slightly processed his experience and written it in the style of Ming and Qing novels. I hope that every Android engineer who reads this article can follow his path.

[[195647]]

Sima Yu·Android siege lion

***Reply: Small temples have no space for giant companies to welcome masters

The poem says:

The boss is stingy and clever, but he squeezes out Zhongyi.

With a solid foundation and high GPA, how can heaven miss such a talent?

Sima Yu was admitted to Hefei University of Technology in 2008, was admitted to the graduate school of the same university in 2012, and started an internship at a small company in Hefei in 2014.

Sima Yu chose JavaEE at the beginning. During his internship, he strictly required himself to meet the standards of an expert. He not only improved the stability of the server kernel by several levels, but also reduced the memory consumption by several orders of magnitude. After completing his job, he also helped the operation and maintenance to fix several hardware failures. Unexpectedly, the boss was jealous of talented people and only loved slaves, not talents. Not only did this boss not give Sima Yu a promotion or a raise, but he also insulted Sima Yu: "'雼' is the traditional Chinese character for '荡'. Aren't you afraid of causing the server to crash if you take over the operation and maintenance?" Sima Yu, who was doubted and felt that his talent was not appreciated, resigned in anger. Sima Yu's resignation happened to coincide with a large factory (top 10 in China) recruiting Android interns. He studied Android intensively for a few days and went for an interview.

The first interview mainly tested the basic knowledge of Android and Java, such as Java data types, operator precedence, and Android layout and life cycle. Sima Yu, who had a solid foundation, was able to answer all the questions accurately.

During the second interview, the interviewer asked many questions about data structure and algorithm, design pattern and architecture. Sima Yu was not only able to draw UML diagrams of several design patterns, but also expressed his views on the differences, advantages and disadvantages of MVC, MVP and MVVM.

***HR received a copy of Sima Yu’s transcript during the interview and was very satisfied with his 4.0 GPA and top 5% in his major.

Sima Yu passed the interview and successfully became an Android intern at the factory. Soon after, Sima Yu graduated with a master's degree with top 5% of his major and became an Android engineer. As for that small company, it went bankrupt at some point because of too many bugs, which led to a serious loss of users.

Yishishi said : It is a wise choice for students who are good at Java to choose Android as their development direction. The world is in and will be in the era of mobile Internet for a long time. In addition to testing the basic knowledge of Android and Java, the campus recruitment interview also tests your knowledge of the basic theoretical courses you have studied, and usually requires a copy of the transcript. Campus recruitment interviews of large companies generally have fixed questions and patterns. For example, Alibaba’s campus recruitment written test questions are from "The Eye of Technology", and Microsoft’s campus recruitment written test questions are from "The Beauty of Programming". Although there is a certain chance of success if you sharpen your gun before the battle, don’t forget that the gun of playing LOL for 3 years cannot be faster than the gun of brushing LeetCode for 6 years. (The time is right, college students who are addicted to LOL cannot pass the master's degree)

Chapter 2: Promoted to a senior position, the wanderer in the farmhouse thinks of water chestnuts and perch

The poem says:

When Xu Si first started speculating in real estate, he was ashamed to meet Liu Lang without any talent.

Now Sima has great ambitions, but he is worried that he has no house to welcome his bride.

The real estate speculation group has existed since ancient times, and its founder was Xu Si in the late Eastern Han Dynasty. At that time, Xu Si had the title of a patriot, but he had no intention of saving the world. He spent all his time asking for land and houses, so he was despised by Liu Bei, who had a broad mind, lofty ambitions, and was worried about the country but forgot his family. This was evidenced by Xin Qiji's "Water Dragon Song": "Asking for land and houses, I am afraid I should be ashamed to see Liu Lang's talent."

Sima Yu's ambitions were completely different from Xu Si's. His dream was to devote his limited life to the latest Android technology. He was not willing to just make minor adjustments to the UI every day. He found that there was a lot of room for improvement in the App and took action.

Sima Yu refactored the App code on a large scale, chose the MVP architecture between MVP and MVVM, and independently developed a network request framework (combining OKHttp and Gson, which can be understood as the domestic Retrofit) (this framework is not open source, the source code of similar frameworks: https://github.com/qiujuer/OkHttpPacker) to replace OKHttp. This not only reduces a lot of redundant code, but also makes the hierarchy clearer.

Data such as order status that needs to be synchronized with the server in real time was previously polled once per second. Sima Yu found that this was the root cause of the App's waste of both battery and data traffic, so he adopted a solution of using push instead of polling.

APK slimming is also an important part of Android performance optimization. Sima Yi removed many unnecessary dependencies and duplicate tool classes, making the size of the packaged APK half lighter.

Two years later, the app had completed 13 versions of iterations from 3.3 to 6.3, the startup speed of the app increased by 120%, and the crash rate was reduced from 8‰ to 1‰. Sima Yu, who made great contributions, was appointed as the project leader, technical instructor, and senior engineer.

Although Sima Yu worked diligently, contributed to my country's open source industry, and wrote technical blogs to help many people, the high housing prices in Beijing made him a little envious of Xu Si, whom he had despised for many years.

Yishi said : Android engineers (before the title "senior" or other prefixes) have to make changes to the UI every day. If you want to achieve extraordinary results in ordinary work, you have to work hard. Improving the performance of the App is one of the effective ways. You can also squeeze out time to contribute open source code and share technical articles. If you have outstanding results at work, it is only a matter of time before you get a promotion and a raise.

Chapter 3: Farewell to hometown, shallow fate, model, seniority upon joining

The poem says:

Buying a house in Beijing requires building a platform, and there are also traffic jams and smog.

I returned to the provincial capital and wanted to settle down, but when I asked about the salary, I came back.

Beijing's housing prices, traffic jams, and smog forced Sima to quit his job and flee Beijing, Shanghai, and Guangzhou. His destination was Hefei, where he had studied for seven years. He had just resigned when his former employer's largest competitor (a top 20 company in China) and another top 10 company in China invited him to interview. He has been interviewing these two companies and two local companies in Hefei for two months.

The interviewer always first asked about the advanced features of Java and Android. The advanced features of Java mainly include the JVM model, class loading mechanism and GC principle, etc. The advanced features of Android mainly include the differences and usage scenarios of several FLAGs and LaunchMode, Binder references and entities, and the interaction of the permission system, etc. Sima Yu has a deep understanding of technology and always answers fluently.

The second stage of the interview was to let Sima Yu talk about the projects he had worked on. Then the interviewer would suddenly ask him to explain a part of it, sometimes asking him to explain why he did it at the time, and sometimes asking him if he thought there was a better way now. Sima Yu's thinking and problem-solving ability left a deep impression on the interviewer.

The interviewer would sometimes ask about some Android technologies that the company's industry needs to pay attention to. For example, a company researching input methods would ask him about Android gestures and multi-touch, and a company researching the Internet of Things would ask him about Bluetooth-related knowledge, etc. Because Sima Yu had extensive knowledge of Android, his technical breadth also impressed the interviewer.

Every time the interviewer asked Sima Yu, "Do you have anything else to say to me?" Sima Yu would bombard the interviewer with his technical blogs and open source projects. There were several times when the interviewer was a fan of Sima Yu or was using Sima Yu's open source projects.

Sima Yu received two offers from senior Android engineers in Hefei. Although the housing price in Hefei was less than 1/3 of that in Beijing, the annual salary of 300,000 yuan at most made it impossible for Sima Yu to buy a house in Hefei. At this time, Sima Yu received a call. The top 10 company in China that he interviewed before fleeing Beijing offered him an annual salary of 600,000 yuan and the titles of project manager, technical manager, and senior engineer. He decided to flee back to Beijing, Shanghai, and Guangzhou. His plan to escape from Beijing, Shanghai, and Guangzhou ended just as it began.

Yishi said : Job seekers with many years of work experience hardly need to submit resumes on job search websites. Friends in the same industry who want you to be their colleague will recommend you. Social recruitment interviews are different from campus recruitment interviews. Social recruitment interviews do not have fixed questions and patterns. It is not feasible to cram at the last minute. Social recruitment interviews basically test these questions: the first stage is the advanced features of Android and Java, which tests the depth of technology; the second stage is to talk about your own projects, and interspersed with problems in the middle, to test the experience of solving problems; the third stage (not necessarily) is to ask about the Android knowledge that the company's industry needs to master, to test the breadth of technology and quick start. Technical blogs and open source projects are very important plus points. If you don't accumulate and share them in your daily life, job seekers will lose a lot of opportunities. The housing prices in second- and third-tier cities are more affordable, but the wages are very inhumane. You need to be cautious when escaping from Beijing, Shanghai and Guangzhou.

Chapter 4: The expert made a great contribution with a trick, and the lady came out of her boudoir with a great ceremony

The poem says:

With rich experience and excellent skills, he has made great contributions in eliminating hidden dangers.

He took the podium at the global conference and brought a lady into his harem.

Sima Yu's team is responsible for the security of the company's Android client, including keeping it alive, preventing interception, preventing tampering, and preventing decompilation. He found that his own app has many hidden dangers that could be maliciously exploited:

First, bad guys can intercept push notifications from their own apps through NotificationListenerService, giving users the illusion that their own apps are not pushing notifications.

Secondly, based on the previous point, the bad guys can run a stealing push app in the virtual machine, and after receiving the push from their own app, use AccessibilityService to open the Activity corresponding to the Notification, find the WebView inside, and then obtain the link and the content of the web page, and slightly modify it (change the logo, change the name) and push it to the bad guys' own app.

In addition, the company's WeChat official account needs to use a browser to open the link to open its own App, which also gives bad guys an opportunity to take advantage.

What's worse, the most cruel method used by bad guys is to uninstall their own app and then install a fake app in the zombie computer, which has the same package name as their own app, but a different signature and no launcher. In this way, the users of the zombie computer will never be able to install their own app, and they cannot delete the fake app by long pressing and dragging the desktop icon into the trash can.

Sima Yu spent two years eliminating the above hidden dangers for the company and was promoted to architect and technical expert (the time is correct, this is a novel, and it is normal to appear in the future). Letters of appointment and invitations to major IT forums and IT activities also came in like snowflakes, either inviting him to be a special author or inviting him to be a lecture guest.

An IT conference was held in Beijing. Sima Yu was a special guest on stage and spoke eloquently. During the conference, Sima Yu met Shiina, a technical editor of an IT community. This lady was responsible for the logistics and reporting of the conference. Shiina was not only well-educated and well-mannered, but also had a stunning appearance, as evidenced by a poem:

"Changhen" by Yue Tian's Xunyang Song and "Gan Zhen" by Chen Wang's Luoshui Fu.

Mo Jie Qingxi's "Ode to Xi Shi" and Xiaoxiang Honglou's "Song of the Ming Concubine".

That's right, this poem is a collection of Bai Juyi's "Song of Everlasting Sorrow", Cao Zhi's "Gan Zhen Fu", Wang Wei's "Xi Shi Song", Lin Daiyu's "Ming Fei Yin", Shiina's beauty cannot be described even if all the poems about beauties from ancient times to the present are put together. Lady Shiina admired Sima Yu's talent, and Sima Yu officially ended her single life from then on.

Soon, Sima Yu, who earned 1 million yuan a year, bought a house and settled in Beijing. A few months later, the couple, who had made great contributions to my country's IT industry, held a grand wedding in Beijing.

Yishi said : When a company grows to a certain size, competitors with ulterior motives will start to play tricks, so if you want to become a technical expert at a large company, it is very helpful to know some security knowledge. Programmers are often ridiculed as a group that is "destined to be lonely for life", but programmers who succeed are very likely to marry a beautiful woman, after all, a woman's appearance is usually proportional to her boyfriend's income.

If you are also willing to share your story, please join the 51CTO developer QQ exchange group 312724475 and contact the group owner Xiaoguan. We look forward to your wonderful story!

[51CTO original article, please indicate the original author and source as 51CTO.com when reprinting on partner sites]

<<:  How deep learning is bringing personalization to the internet

>>:  Android soft keyboard control method and some problems encountered in development.

Recommend

Do you have a hunch? How accurate are hunches, or do hunches really exist?

This is a very interesting question. There is no ...

Why is the new coronavirus always one step ahead of others?

As long as there are susceptible people, the viru...

APP promotion: 9 strategies to open a restaurant at the lowest cost

Rental strategy 1: Travel during off-peak hours a...

Such a marketing landing page is a bit of a waste of promotion costs!

Students who have listened to my speech must be i...

5 principles for creative writing for information flow advertising!

People often complain that they can’t come up wit...

Apple eclipses Japanese electronics giant in solar eclipse

Japanese electronics giants such as Sony, Panason...

Analyst: China's business has become a burden for Apple

A new year brings new prospects, and so does Appl...