preface

  • As the title says, this is my last stand into the factory, this battle, success or death! At the same time, this is my counterattack! Why do you say that? Because my personal working experience has really reached the limit (rotten to the limit), if I can’t enter the big factory this time, I will not be able to do so in the future! In order to achieve this goal, I kept studying for two years. The harder I work, the luckier I get. Recently, I successfully got the offer from Ali, rated P6, and succeeded in the reverse!

  • Next, I’m going to share with you my bumpy career path. At the end of the article will be attached to the above test questions, remember to collect oh.

A bumpy career

  • My degree is very ordinary, which belongs to the lowest level of the dafang degree threshold (undergraduate). When I just graduated, my career planning was also very bad! Yes, you heard that right, it’s really bad! From the beginning of the internship work to now, work for four years, changed two companies (if add this time, that is to change three companies 😢, (here to their frequent job-hopping reasons: mainly before the career planning is not clear, in the first job-hopping, jump off direction! In order to correct previous mistakes, there are frequent job-hopping) and one is a factory in a traditional industry. Yes, it is the above said jump off direction.

  • At this time, some people may say: You have an ordinary bachelor’s degree, traditional factory experience, job-hopping and frequent, who gave you the courage to challenge the authority of DMC? How did it come back?

    Yes, I doubted myself once. But, remember: if you doubt yourself, there is really no hope! After being brainwashed by chicken soup in my heart, I regrouped and started my counterattack towards the goal of the big factory.

Second, technology preparation stage: the technology stack is dazzling, do not know where to start?

  • This is really a headache for many workers, every day to set up a variety of flags, buy a variety of technical books, but in the end, the flag is gradually forgotten, the book lying at home to eat ash. So where exactly do you start? Here is my personal experience.

  • My first post on CSDN was spring 5.0.x Source Code Learning Series 1: Building Spring Source code. Yes, that’s right, start with the Spring source code. Here’s the question: Why start with the source code? This is like everyone’s life habits, your life habits may not be applicable to me, so this part of the knowledge you have to decide which technology to learn first. But there needs to be a juche idea. For a new technology, there must be at least three transition periods: Hello World period, deep proficiency period, and research principle period

    The transition period purpose Ability to have
    Hello World stage Learn the basics. Eg: Spring AOP, IOC Basically able to use
    Deep skilled use period Under the premise of familiar with the basic use of the premise, learn the relevant extension knowledge points. Eg: Spring back-end processor 3. Be skilled in using related technologies (basic functions, extended functions, secondary development capabilities)
    Research period Grasp the main process and become familiar with its underlying design and implementation principles (need to draw flow charts and mind maps to help you build the knowledge system of the whole main process). Eg: Spring’s AOP and IOC principles are used in conjunction with Spring’s post-processor extension points Know how to read source code, can learn the design patterns used in the source code, naming conventions, etc.
  • So, my entire back-end technology stack learning route goes like this: Spring -> Java concurrent programming -> Dubbo -> MySQL -> Redis -> MQ -> network-related. At the same time, in this stage, we must insist on drawing flow charts and brain maps to consolidate our technical points. This link: Learning brain map is the learning brain map I have been studying for two years (this link is mainly for the purpose of introducing useful ideas).

3. Get the interview opportunity stage: there are so many candidates (excellent candidates) in Daco, how to stand out and get the interview opportunity?

  • For those of us at the bottom of the food chain, there are other ways to look for bright spots.
  • Write a technology blog 👍 : write a technology blog is a process of acceptance of their learning effect. If you can explain the technology in plain English and make it easy to understand, then you are thoroughly familiar with the technology!
  • Open source contributions 🙏 : If you’re not good at finding issues and fixing them in various open source frameworks, this bonus is fate. I started out studying Spring source code, but ended up being an open source contributor to Dubbo. Is that fate? (If you’re interested in my open source content, check out my article Funny Things: I became a Dubbo contributor after learning Spring source code for six months)
  • Find the small partner of the big factory to push 🤝 : this is also a lucky component of the said, this needs to have connections. If you don’t have a big factory relationship, you can find relevant posts in the veins or find a variety of public number bosses to help push. But here’s the catch: Find someone you can trust, preferably someone who can give you feedback on every stage of the interview.
  • Insist on learning 😄 : it is really difficult to insist on this point, I also interrupted for one or two months, but very fortunate to find themselves again.
  • And I, a worker with such a poor career, got the interview by virtue of technical blog, open source contribution, internalization, and persistence in learning.

4. Interview stage: Eight-part essay + project experience + communication skills

  • If you get an interview, then it’s time for the interview. In this month, I interviewed meituan, JINGdong, Ali, Ding Dong Grocery and other Internet companies, and made the following conclusions for the interview style of the interviewers:

    The interview style Interviewer’s behavior Mainly to examine your point How to face
    Listen to the type Throw a question, by your own play, will not interrupt your answer, if your answer is relatively simple, he will ask: what else to add? Examine your knowledge context, can examine whether your knowledge system is complete. This is basically a way to determine your work attitude. Learn technology and business seriously. Use brain maps, flow charts and other techniques to reinforce your knowledge of technology and business. Take the technology point for example: what problem was the technology created to solve? What are the pros and cons? How does it work?
    The probe type Throw out a question, and keep asking it until you don’t know any more Examine the depth of your technique. This kind of survey can pretty much determine whether you have an investigative spirit. Need to have the spirit of research, curiosity. When learning about technology, think about why. Will own thinking, learning, thinking in the way of the article output.
    Project details Pick up on one point in your resume and dig deeper, asking for details about how it worked Check to see if everything on your resume is real, reasonable, and your own work. Seek truth from facts, study more business modules in charge of their own. Think about why? Is there a better plan?
    Practical problem solving type They usually give you a scenario and ask you what are the chances of this happening? Test your ability to actually solve problems. When learning technology, it needs to be combined with actual cases. If you don’t need it in your project, you can do more demos.
    Focus on efficient communication You are usually asked to introduce the business you have done. What difficulties have you encountered? How was it solved? What is the result of the settlement? The interviewer expects you to use the STAR model to answer this question, because then the interviewer will know the background of the business you are doing (SituationWhat tasks need to be doneTask), did those things (Action), what was the result (Result). Often, they also expect you to use numbers to describe the results, such as how much, if any, performance is improved. Improve your communication skills at ordinary times. You can read the Pyramid Principles for effective communication skills.
  • I’ve also experienced practical problem-solving interviewers, and I’ve posted the details in an article for you to read if you’re interested: I’m Stunned! Ali P7 interviewer asked me: there is a transaction method, the parameter is a list, internal traversal list loop update product information. Will there be deadlocks with this API?

5. Ali Interview Questions to share (summary)

  • Do you intend to come to Hangzhou? Married yet? Is the school a full-time undergraduate?
  • What are the most challenging aspects of the project (business, technology) (focus)
  • Suppose a user clicks to pay twice in a row, how do you handle that
  • Suppose you have two nodes deployed, how do you guarantee this
  • You said you were a contributor to the Dubbo open source framework. What was the main part of the Commit?
  • Is HashMap thread safe? What are the manifestations of thread insecurity?
  • In what ways is JDK1.8 optimized compared to JDK1.7?
  • Are there any other reasons why hashMap queries are slow in addition to linked list queries?
  • Talk about the JMM structure
  • Both synchronized and threadLocal are thread safe. Why?
  • If thread A has A ThreadLocal, can thread B use the values in that ThreadLocal?
  • Pros and cons of Dubbo and SpringCloud
  • How do you design a gateway?
  • What was the most challenging part of your project? What is the most valuable?
  • Where was Redis used in the project? What is the redis threading model?
  • Ultimately consistent distributed transactions, okay? What are the scenarios in your project that use distributed transactions that are ultimately consistent?
  • How is distributed locking implemented? How do I avoid deadlocks?
  • How are strong references, weak references, virtual references, and soft references handled in Java during GC?
  • What is Netty’s threading model?
  • What is the underlying implementation of Dubbo?
  • How are Spring transactions implemented?
  • What does TCP do to establish and disconnect a connection?
  • Is there anything you want to ask me?

Six, summarized

  • Graduation three years, adhere to study for two years, successfully landed in Ali, grade P6. I want to thank myself for sticking to my study, my classmates for pushing me, and all my friends for giving me support and advice!
  • Feel free to like, bookmark and follow my posts if you find them useful. :laughing:
  • I’m a slow walker, but I never walk backwards