Two years of experience interviewing the front-end development post of Ali, I have already got an offer, these knowledge points should be released

Generally, Ali agency recruits P6+ engineers with 3-5 years, but an Ali technical expert chatted privately on a certain boss. I asked for my resume. I said I only have two years of experience, but the boss said, it’s okay, he Like the basics, let me give it a try, so I sent a resume with the mentality of a try.

After the resume was sent, the boss called me and asked me to briefly introduce myself. I just crackled and said some digressions. Then the boss started asking me questions.

Due to the four rounds, the memory of the initial interview is a bit blurred.

telephone interview

1. Tell me about your understanding of the CSS box model.
2. Talk about the application scenarios of box-sizing.
3. Tell me about the flexible FLEX layout you know.
4. Tell me how to vertically center an element of unknown width and height.
5. Talk about some connections among prototype chains, objects, and constructors.
6. Several ways to bind DOM events.
7. Tell me about the technology stack used in your project, the points you feel proud and outstanding, and the points that give you headaches, and how to solve them.
8. Have you understood http2.0, websocket, https, talk about your understanding and the features you know.

The first round of interviews took about 50 minutes, and I remembered so much. There are still some details that may be forgotten. Generally speaking, the interviews are based on the basics. Then the boss said that he recommended my resume to the internal. The formal social recruitment process.

A round of technical

This time I just omitted my self-introduction.

1. How to configure webpack's entry file, how to split multiple entries, I didn't hear too clearly.
2. I see that your project uses a plug-in of Babel: transform-runtime and stage-2. Tell us about their role.
3. I see that your webpack configuration uses webpack.optimize.UglifyJsPlugin, do you think the compression speed is very slow? Is there any way to improve the speed?
4. I saw that you understand the http protocol on your resume. Talk about the understanding and difference between 200 and 304 5. The difference between
target and currentTarget in DOM events
6. Talk about how you usually solve cross-domain. And the principle and implementation of subsequent JSONP and how to set up cors.
7. Talk about the realization principle of deep copy.
8. Tell me about the areas that you think can be improved and what you have done well in the project?

Finally, I asked what I needed to ask, and the interview was basically over here. It was quite tiring after about an hour. Generally speaking, the breadth and depth of the answers and the details are still OK, and I feel that there is basically no suspense in this round of interviews.

Second round of technical

A few days later, I received a call from another interviewer from Ali. I passed the last round of interviews. This time it was the second round of technical interviews. It was estimated that it would take an hour. This time I still skipped self-introduction and went straight to the topic.

1. Have you ever written webpack's loader, its principle and what, I don't remember very clearly.
2. Have you studied some of the principles and mechanisms of webpack and how to achieve it.
3. What is the principle of babel converting ES6 to ES5 or ES3? Have you studied it?
4. Teamwork for git large-scale projects, and continuous integration.
5. What is function currying? And what are the applications of JS API to the realization of function currying?
6. ES6 arrow function this problem, and expansion operator.
7. Understanding of JS modularization Commonjs, UMD, CMD specification, and the difference between ES6 modularization and other types, and the meaning of appearance.
8. Talk about the principle of two-way data binding in Vue, and the similarities and differences between vue.js and react.js. If you are asked to choose a framework, how do you weigh the two frameworks and analyze it.
9. I think you also write a blog to talk about the interaction details and implementation principles of the draft.

Finally, the interviewer asked me if I had anything to ask, the interview was basically over here, and it lasted almost an hour.

Three-wheel technical

The last round of performance did not feel as good as the first two rounds, so I was still a bit unconfident. I didn't expect that after the third day, I called and told me to go to the Ali Park for an interview.

First interviewer

1. First introduce yourself, talk about the technology stack of the project, and some of the problems encountered in the project.
2. A business scenario, how to deal with the continuous iteration of products and changes in requirements, and the realization of specific technical solutions.
I will not describe specific business scenarios one by one. Boss drew a rough module diagram on the whiteboard, and then made some demand descriptions.
Then you need to change layer by layer, and then dig down, mainly to examine the ability to deal with products, as well as the maintainability and scalability of the code. Open issues, I think I also examine some communication skills. Because in some places, the interviewer is deliberately vague. Anyway, it is a comprehensive ability and an understanding of the product. When it comes to how to achieve it, it also asks some specific points. Remember to ask a few.

① How to get the distance from an element to the top of the view.
②The difference between top obtained by getBoundingClientRect and top obtained by offsetTop ③Event
delegation

Second interviewer

1. Business scenario: For example, if a Baidu service does not want Ali to use, if it recognizes that it is Ali’s request, then it jumps to 404 or denial of service?
2. How to find the time complexity of binary search, how much
is it 3. What is XSS, attack principle, and how to prevent it.
4. What is the difference between linear sequential storage structure and chain storage structure? And the advantages and disadvantages.
5. Analyze some differences and points of attention between the mobile calendar, the PC calendar and the desktop calendar.
6. Write code on the whiteboard, and use the most concise code to achieve array deduplication.
7. How to implement draft, multi-terminal synchronization, and conflict issues?

summary

On the one hand, I actually didn’t feel that the answer was particularly good. At that time, I felt cold. When I was lucky, I passed it.

Before I was preparing for the interview, I asked myself that I would try my best not to be asked as quickly as possible, so I focused on reviewing what I was good at, and I brushed up a lot of Alibaba interview questions on the Internet and made a compilation. Now Sharing it with everyone is a gratitude feedback.

React
  • REACT Family Bucket
  • Introducing Redux, what are the main problems to solve? What is the data flow? How to manage multiple components using the same state?
  • React-Redux is connected to the react component
  • What is Redux middleware? It accepts several parameters
  • How redux request middleware handles concurrency
  • How to handle asynchronous requests in Redux
  • How to configure React-Router
  • How does react-router implement routing switching? BrowserRouter as Router

HTML sum CSS
  • Which browsers have you tested on the page you made? What are the cores of these browsers?
  • There is a very important thing at the beginning of every HTML file, Doctype. Do you know what this is for?
  • What is Quirks mode? What is the difference between it and Standards mode
  • What are the advantages of div+css layout over table layout?
  • What are the similarities and differences between img's alt and title? The similarities and differences between strong and em?
  • Can you describe the difference between progressive enhancement and graceful degradation?
  • Why is it more effective to use multiple domain names to store website resources?
  • Please talk about your understanding of the importance of web standards and standard setting agencies.
  • Please describe the difference between cookies, sessionStorage and localStorage?

JavaScript
  • JQuery one object can bind multiple events at the same time, how is this achieved?
  • Do you know what webkit is? Do you know how to use the various tools of the browser to debug and debug code?
  • How to test the front-end code? Do you know BDD, TDD, Unit Test? Do you know how to test your front-end project (mocha, sinon, jasmin, qUnit...)?
  • What does front-end templating (Mustache, underscore, handlebars) do and how to use it?
  • Briefly describe the basic usage of Handlebars?
  • Briefly describe the basic processing flow of Handlerbars on templates, how to compile it? How is it cached?
  • Implement thousands separator with js?
  • What are the ways to check the browser version?
  • We bind two click events to a dom at the same time, one for capturing and the other for bubbling. You will execute several events, and then do bubbling or capture first
  • Implement a function clone, which can copy values ​​of 5 main data types in JavaScript (including Number, String, Object, Array, Boolean)
  • How to eliminate duplicate elements in an array?

HTML5 and CSS3
  • What are the new features of CSS3?
  • What are the new features of html5 and which elements have been removed? How to deal with browser compatibility issues of HTML5 new tags?
  • How to distinguish between HTML and HTML5?
  • What is the difference between local storage and cookies (data stored on the user's local terminal)?
  • How to realize the communication between multiple tabs in the browser?
  • How do you optimize the files and resources of your website?
  • What is responsive design?
  • What is the new HTML5 document type and character set?
  • What is the use of the HTML5 Canvas element?
  • What is the difference between HTML5 storage types?

Those in need can directly click the blue font here to get the complete document.

Guess you like

Origin blog.csdn.net/hugo233/article/details/112288651