I believe you see such a confused title, there will be a lot of question marks. What is front-end development? Why will be looked down upon by the teacher? And how did he get into Ali?

Don’t worry. We’ll answer them one at a time.

Before answering these questions, I would like to introduce myself. I am an ordinary junior student majoring in computer Science and technology in Central South University of Forestry and Technology. I am an ordinary front-end player. With great luck, I finally got internship offers from many Internet giants such as Alibaba and Tencent in the spring campus recruitment in 2020, and finally chose to work in Alibaba.

What is front-end development?

In software architecture and programming, the front end is the part of the software system that interacts directly with the user, while the back end controls the output of the software. The division of software into front end and back end is an abstraction that separates the different functional parts of the software from each other.

— Quoted from Wikipedia

Wikipedia explains it pretty well: the front end is the part of the software system that interacts directly with the user.

So think about the software we use in daily life, which is in direct contact with you?

Yeah, that’s what you see working. Every web page you see on the Web, every widget you use, every APP you install on your phone, and even every client program you install on your computer can be called a front-end.

Front-end is a large and broad concept, involving a lot of knowledge and system, light web development language, need to learn at least 3 (HTML, CSS, JavaScript), not to mention small program, APP and client. In addition, data structure and algorithm, computer network, front-end engineering, performance optimization knowledge is also essential.

With the continuous improvement of network bandwidth and the continuous development of browsers and WebView, the front-end services become increasingly complicated and diversified, and the front-end development has changed from WebPage mode to WebApp mode, with beautiful interface, rich interaction and better performance.

Why will be looked down upon by the teacher?

Once upon a time, in a classroom operating system, the teacher said: front desk (front) a junior high school students can learn to spend a week, you also specialized to engage in this is very shameful.

You can imagine how miserable I was. What a junior high school student could learn in a week, IT took me more than a year to learn and settle. It also illustrates a problem: the teachers of the class have a general bias towards front-end development.

Bias is understandable:

  • Most of the teachers are absorbed in teaching and academic research, and pay little attention to the development of technology, and still have the stereotype of cutting the front end.

  • In recent years, front-end development is very rapid, many earth-shaking changes have taken place.

As we all know, front-end developers are often referred to as cuttos, which is what many front-end developers call themselves. It’s true that many front-end developers are still stuck in the cut-and-dice phase. Get the design from the designer and use the code to restore the design. This is exactly what a lot of front-end developers do at work. This also leads to front-end development, which is so unpalatable in the eyes of teachers.

But what other skills do front-end developers need to master besides charting?

Data structures and algorithms are a must-have skill for all developers, but they’re also a big, broad subject that I don’t have space to cover.

I am also uneducated, temporarily can only sort out so many knowledge points. Some of the knowledge points or skills that front-end developers need to master, in addition to cutting graphics, are applied and some need to go deeper into principles.

Now dare to say that a junior high school student can learn it in a week?

What’s more, in Alibaba, most of Chetu’s work can be completed automatically by AI, and AI can even realize part of the interactive logic. Then, as a front-end developer, what skills cannot be replaced by AI?

Imgcook generates code intelligently from the design draft with one click

How is the 79.34% code of the Double Eleven module intelligently generated

How to enter Ali?

As we all know, Alibaba is the top Internet company in China, with the top technology in China and even the world, driven by the world’s largest e-commerce demand. The Tao Technology team I joined is known as the largest and strongest front-end team in the Eastern hemisphere.

So how did I make my way to Ali? The back is full of dry goods, suggested intensive reading!

Enter Ali = 50% basic + 20% project + 10% thinking summary + 10% interview skills + 10% luck

That’s the formula for getting into Ali.

50% of base

The basics are very important.

Great oaks from little acorns grow.

If there are problems with basic language use, then the first round will be screened and the story will be impossible.

For basic learning, the knowledge points are all in the mind map above. Each secondary branch listed in the mind map belongs to the must-know and must-know, so I won’t go into details. Here are some good basic knowledge books I have read:

  • HTML & CSS: HTML5 and CSS3 Basics tutorial (I call it the Bunny Book because it has a rabbit on the cover)
  • JavaScript: “JavaScript Advanced Programming” (also known as the JS Red Book), “ES6 standard introduction”, “JavaScript you don’t know” (not recommended for beginners, and recommended to see the Original English)
  • Data Structures & Algorithms: Aha! Algorithms (lively and interesting), Learning JavaScript Data Structures and Algorithms (very basic algorithms tutorial)
  • Computer Network: “Computer Network” (xie Xiren), “Graphic TCP/IP” (repeatedly look, best two or even three brush), “graphic HTTP” (repeatedly look, best two or even three brush)
  • React: React and Redux
  • Vue: Vue official document, Vue. Js
  • Node.js: Simple Node.js (not recommended)

I guess some of you might say that there are so many books to find, so I’ll save you the time to find and buy the book:

Password: 70 zc

20% of the project

Projects are important evidence of your hands-on skills. After learning the basic knowledge and learning solid, it is time to start to do projects. Write the basic knowledge learned from the book line by line into the code to deepen your impression. At the same time, you will find a sentence:

Paper never makes sense.

Many students don’t know where to find projects or what to do. Here are some suggestions:

  1. It is not recommended to copy Ele. me copy Meituan copy Ctrip, and do not do any background management system. The interviewer will know at a glance that this type of project has no technical content, and will not have their own thinking. Because of this type of project, requirements analysis and documentation are mostly omitted and the implementation is simply coded. This type of program is for learning, not for hiring, unless you add a lot of technical content to it. For example, the project was refactored with some new features and produced quite a few technical reviews and reflections.
  2. Projects that don’t fit the job description well can be done, but it’s not recommended to include them on your resume. For example, if you are looking for a front-end job and have a Java course design on your resume, it is not appropriate.
  3. Suggest keeping up with current events and doing projects related to current events. For example, the COVID-19 visualization map, the mini program that can’t go out to worship ancestors during the epidemic (laughter) and so on.
  4. It is recommended to try some corporate or teacher projects. Often, these projects are challenging and time demanding, but can be quite rewarding (for students). In the process of doing the project, you will understand the specific process of the whole development: requirements docking – prototype design – coding implementation – document making – test release, which is very helpful for personal growth.
  5. It is recommended to join some small and medium-sized companies and do some easy projects to learn the company’s requirements for code style and quality, engineering and performance optimization, and try to introduce them into your own projects.

Take a very simple example: at present, there are not many apps on the market that support automatic import of our school curriculum, but the curriculum is just needed. What should WE do?

At this time, I can do one by myself. I am sure there will be some problems in the process of doing the project. While serving the students, I have enriched my resume and improved my practical ability. Reference school @ Ni Xiaobai’s example, his schedule of Lin University is very good.

10% Thinking summary

When the project is done, you have to think about summaries. For every project we do, whether or not we can put on a resume, we have to think about it regularly. It is better to summarize once a week, if not once a week, then twice a week. The time span should not be too long. There is no time to summarize once a month, but it has to be done.

The project summary is usually divided into the following parts:

  1. What problems did you encounter during development last week?
  2. How was the problem solved?
  3. What knowledge is involved?
  4. Is there a better way?

These are the weekly thinking summaries that should be done when the project is complete:

  • Technology stack: Briefly list the technologies used in the project.
  • Experience & Interaction: How is the overall experience of the project? Is the animation effect smooth? Is the interaction mode humanized?
  • Performance: how long it takes for a page to load for the first time, how long it takes for a network request to be interacted with, whether there is excessive backflow redrawing, whether there are areas that can be optimized.
  • Development efficiency: how the project progresses, how quality is controlled if it is a team project, and how efficiency is controlled if it is a solo project.
  • Engineering: automated deployment, package build optimization, code specification, COMMIT specification, etc.

10% Interview Tips

Interview skills are only 10% of the total, but in fact, they directly affect your foundation and project performance.

First of all, what is an interview? And why are there interviews?

An interview is a way for interviewers to get to know job candidates by communicating with each other. The reason for the interview is that employers need to quickly determine the ability and potential of candidates in a short period of time.

So now that we know what an interview is and why it happens, we should be able to understand one thing:

The interview is a two-way process.

Although most students are desperate to join a big company, they think the interview is just a one-way selection process. But in fact, without realizing it, you are also making choices about the company.

Most Internet companies have at least three interviews for interns: two technical interviews and one HR interview.

This is a fairly basic interview process, but the reality is that large companies usually have 4-5 rounds: 3-4 rounds of technical interviews + 1 round of HR interviews.

Let’s break down the interview process, which usually goes like this:

  • Interview 1 or 2 is usually a basic interview, looking at how solid your basic knowledge is in various aspects. It’s not going to be about your project, it’s going to be about the skill tree on your resume.
  • Part 3 or 4 is usually a hands-on test, which combines your project with your understanding of the project, the problems you encountered in the project, how to solve them, and some reflections on the project. Some basics related to the project will also be interspersed.
  • HR interviews usually ask personal questions about your personality, your study and life, or your family. Of course, it doesn’t rule out the odd Angle.

The process looks like this, so let’s talk about some technical tricks:

  • Self-introduction must be prepared in advance, must have highlights, reflect you and other students different places, what is your advantage, to leave a certain impression on the interviewer at the same time, also can let the interviewer along with your advantage to prepare follow-up questions. For example, if you feel that you have interned with other companies prior to the interview with Ali, and the company is quite large, this experience will give you an advantage. Then you can tell the interviewer when you introduce yourself. The interviewer will most likely ask you about your internship as part of a follow-up question-and-answer session, so you can start the interview in your own hands.

  • Almost all of the interviewer’s questions revolve around or extend from your resume. So don’t put anything on your resume that you’re not familiar with! More familiar knowledge points to write understanding, very familiar knowledge points to write familiar, skilled use but do not understand the principle of writing skilled use. This way the interviewer can read your resume description and not embarrass you in a direction you’re not good at.

  • What if the interviewer asks you if you can’t? The answer is to be honest and say no. This allows the interviewer to quickly determine the scope of your knowledge and capabilities. If you don’t know something and insist on saying something that isn’t necessarily correct, you are making a mistake. As an intern/fresh graduate, you don’t have enough work experience to cover all the bases. It’s not unusual for an interviewer to fail you just because you don’t know one or two points occasionally. Of course, there are exceptions to this, that is to know the knowledge points you will not know.

  • When you fail to answer two questions in a row, or both fail to satisfy the interviewer, it’s time to watch out. This is a sign that your pace has been set by the interviewer and that the interview usually fizzled out early. But! We have the skills to re-pace the interview into our own hands. We can directly say to the interviewer: I do not know XXX deeply enough, and I will try to make it up in the future. You can ask me other knowledge points, such as XXX, I know more deeply. More often than not, when the interviewer hears you say this, he or she will be interested in how “in-depth” you are and will follow up with something like, well, tell me about XXX. Once the conversation is back on track, you can bring out your killer cards that even the interviewer doesn’t know. Of course, some interviewers may be inexperienced, or they may just want to be tough.

  • There is usually a time after the interview when the interviewer will allow you to ask questions. What questions should you ask? The answer is, you can ask questions about points that you did not answer well in this interview, and communicate with the interviewer, or ask questions about your recent problems or your own thinking, and discuss with the interviewer. All in all, it’s important that you show the attitude of a learner! Even if your interview performance isn’t impressive, it’s a plus if you come across as genuine. As interns/recent graduates recruit, especially interns, interviewers place more emphasis on the ability to learn.

  • Last but not least, no matter how nervous you are during an interview, always laugh! Do laugh! Do laugh! Laughter relieves a lot of tension and makes a positive impression on the interviewer.

That’s all I’ve got so far. If you have any other tips, please click on GitHub to edit this page!

10% luck

To be honest, luck can’t be forced.

Sometimes when the interviewer asks you about something you know very well, the interview usually goes well, but it can be very frustrating.

State of mind

Mindset is probably the most important aspect of the interview process.

Remember what I said earlier?

The interview is a two-way process.

If you are in a certain interview, the interviewer gives a lot of pressure, and finally failed, you will be very very depressed, and even doubt life, this time the mentality is very easy to change, confidence collapse.

All we need to know is this:

It’s not necessarily because you’re incompetent, it’s more because you don’t have the skills they’re looking for — and remember, just the skills.

For example, if the company wants to hire a student who has a better understanding of the React technology stack and your Vue technology stack is used, your probability of passing the test may be lower than that of other students who know the React technology stack. However, this does not mean that your ability is worse than that of students who know the React technology stack.

Keep a confident attitude, constantly summarize the interview, check the gaps, there will be good results, because:

If you doubt your own abilities, no one will trust you!

Luo Jixin, my classmate from Class 1, Grade 17, who interviewed Ali with me, is a good example:

At first, he was not very confident because he was not a graduate student and had a poor school background. He had been preparing for the postgraduate entrance exam for several months.

Later, I sent him the link of tao department’s internal promotion and asked him if he wanted to have a try. Anyway, it would delay one month at most to take the postgraduate entrance examination. Then he plucked up the courage to have a try.

As you can guess, we all made it to the final interview and finally went through all the procedures and got the offer from Ali.

The last

Why did I take such a controversial title?

I don’t want to displease people who are biased against front-end development, but I want you to know:

The front end is actually a very comprehensive direction, and it is not as simple as imagined. The front end has also been very popular in recent years, and with the development of 5G technology, the front end will be even more popular.

Every profession has its reason to exist, and please don’t look at it with colored glasses!

The nuggets seem to have a sensitive word limit.

We are all running hard, we are all dreamers.

Here’s a wallpaper that’s always been the wallpaper of my computer and mY iPad:

To my younger brother and sister

I interrupt an advertisement. At present, I am running a technology studio in ACM programming enthusiasts in the school, and I am gathering a group of younger students who are interested in front end to contribute a little to the development of front end.

Luo Jixin, a student from Class 1, Grade @17, and I are the front end interns of ali in our school this year, but we hope that this is just the beginning of the front end in our school, not the end.

We will bring a group of students like the front of the younger sister, and provide you with learning guidance, when you need to find an internship, we can also provide you with a variety of Internet companies push qualifications.

If you also want to join the most powerful front-end team in the Eastern Hemisphere, you can add my brother Ali’s wechat account: Wuxiaorui86, I and Luo Jixin from Class 1, grade 17, have made it to the end with the help of my brother! If you are already lucky enough to join the most powerful front end team in the Eastern hemisphere, you will also be guided by your senior brother in your defense of becoming a full member, and the rate of becoming a full member is almost 100%.

If the file link fails or you want to join the Software Association, or if you are a dreamer like me, you can follow our public account: Hello FE, where we will regularly post your learning experience ~

In addition to my article, my classmates also made a summary, for students who are not majoring in science:

  • How did I, who was not a regular college student, learn by myself and get many offers from big factories and finally enter Ali? @Ericfirst

There are also for students who have concerns about the choice of technology:

  • “Every meeting must hang, the back end to the front end of the half-dozen suddenly reap the offer, into Ali, the truth is…”

@ yi