From a food delivery worker to an Android programmer, I have studied myself for 3 years and finally switched careers successfully, "winning" Pinduoduo offer on three sides

Preface

First introduce from me:

In my hometown in the countryside, my family finally sent me to study in a big city. Universities are not 985 or 211, but it is not easy to get an undergraduate in our hometown. Because of the relative obscuration of rural information, I don’t know anything about university majors. I added that my score is not the top one. I was finally transferred to a major that I don’t like. I won’t disclose what school I am here. I can only say that after graduation, To make more money, I chose to deliver food. This delivery took nearly 3 years.

Why learn programming?

It was a very accidental opportunity to come into contact with programming. Once, the other party was his own senior who was a senior in computer science. After graduation, he joined a first-line Internet company. After that, I occasionally talked to him about life and the future, an opportunity. , Why don't he advise me to learn programming by myself and become a programmer? After thinking about it for a long time, I also comprehensively compared the development of various industries, and finally decided to learn programming and chose the Android direction.

Below, I will share my self-study methods, self-study materials and my interview experience. If there are friends who need self-study materials, Code Cloud can obtain them for free.


Pinduoduo server development three-sided restoration (one and two sides + HR side)

Pinduoduo one side (about 1h):

1. Introduction

2. Project

3. The original code and the inverse code, why does the computer use the complement code to store data?

4. The difference between TCP and UDP, why does TCP guarantee reliable transmission and sliding window?

5. Why is HashMap fast and the expansion mechanism?

6. What is the difference between Synchronized and Lock?

7. What is the difference between soft references and weak references? (I'm talking about recycling here, so I have the following questions)

8. What are the recycling algorithms for the young and old generations? (It's about copying, so there are below)

9. The copy algorithm copies to another space, how big is the other space?

10. Algorithm question: A={4,7,3,2,1},B={3,2,1,5,6}, find the longest sub-array (continuous)

11. What's the perception of brushing lc? (The resume has written lc300+ questions)

12. The biggest disadvantage?

13, rhetorical question

Pinduoduo two sides (about 50 minutes):

1. Self-introduction;
2. static keyword;
3. How to judge the large and small ends;
4. How to execute the code before and after the main function;
5. The memory layout of the
program ; 6. The whole process of the program from generation to operation;
7. Smart pointer;
8. Enter the URL in the browser to get the whole process of the result;
9. DNS protocol;
10. Implementation of https;
11. Reversal of the domain name by hand;
12. Delivery before you write? Why didn't you engage in work in your major after graduation? (I want to make more money in my answer)
13. Is your Android self-taught? How did you persevere? Did you encounter any difficulties during the period?
14. What offers are on hand?

Pinduoduo three sides (HR noodles about 30 minutes):

  • What do you know about Pinduoduo? Make a portrait for Pinduoduo?
  • Where is the home from? What are your thoughts on the future employment city?
  • Do you have a girlfriend?
  • Which companies are currently present? Do you have any preferences for the companies you are currently investing in?
  • Have you ever imagined a day working at Pinduoduo? What are the salary requirements?
  • From what channels to learn about Internet-related information?
  • If Pinduoduo killed you, what do you think would be the reason? I talked with you for twenty minutes. What non-technical comprehensive qualities do you think may be inferior to other candidates?
  • Salary
  • Do you have any questions?

In the past three years, how did I teach myself?

(1) Watch the zero-based learning video

Watching videos is the fastest and most effective way to learn. Following the teacher’s ideas in the video, first learn the basics of Android grammar, then to the framework, from basic to in-depth, it is still easy to get started. As for the videos, there are actually a lot of them on the Internet. I have a collector's edition given to me by my senior. It should not be searchable. If you need it, of course I can share it with you for free.

(2) Read some books and notes of seniors

When I have learned a certain foundation and have my own understanding ability, I will read some books or handwritten notes compiled by the seniors. These notes record their understanding of some technical points in detail. These understandings are more unique and can be learned. To a different idea.

(3) Do some small projects

Optical theory is useless. You have to learn to follow along and do hands-on practice to apply what I have learned to practice. So when I finished learning the framework, I went to make a small shopping mall. project. I can share the tutorial about this mall project if you need it.

(4) Add some communities and find a good master

Make more like-minded friends, or even find a good master to lead you. This is the most true advice I can give you. Joining some communities and participating in some technical discussions can greatly improve my own learning enthusiasm. In addition, I can find a master to take me. Many problems encountered in the process of learning and practical operation are better solved, and the overall efficiency is also It improves faster.


to sum up

What can I rely on for my success as a programmer? Two keywords, determination and perseverance!

If you make up your mind and make a choice, you must persist to the end.

Now I have successfully changed careers, and now I am only a newcomer in this industry, but as the years grow, I will gradually become an "old ape", but I will still keep my heart of learning until old. In the same way, I also hope that you will not give up when you are lost in your youth, because everyone has a moment when the will of a flower is bright.

Finally, some learning videos, learning materials or projects involved in the article can be shared for free, if you need these:

Click Code Cloud to get it for free

Guess you like

Origin blog.csdn.net/ajsliu1233/article/details/109232440