The author has two years of experience. The first one is a small company, and the second one is a second-tier Internet company. I’m so surprised to have the opportunity to interview with Ali! Let me share with you my interview experience…
Telephone interview
As I was still on the job, the telephone interview started at 8 PM and lasted about half an hour. At the beginning, I was very nervous and even my voice trembled a little.
- Introduce yourself briefly, what projects have you worked on and what technology stack have you used?This is nothing to say, vary from person to person, do not blow their unfamiliar technology, in order to be in-depth when asked not to answer
- How to view front-end framework selection?I’m familiar with Vue and React. I’m familiar with the advantages and disadvantages of these two frameworks, as well as the performance comparison, and the difficulty of getting started, community ecology, team member composition, and recruitment.
- How does VUE implement bidirectional binding?Object.defineproperty () is a method that tracks dependencies and completes UI updates
- React virsualDOM? How to do that? What about diff?React reduces the O(n3) algorithm to the O(n) level
- What did you do best in your job and what was your biggest headache?Fortunately, the preparation arrived in advance, the scene must be yellow… (her face)
- How do I learn? What new knowledge have I learned recently?What github various forum books… Just say what you think
At the end of the interview, the interviewer told me to wait for an announcement without telling me the result. Then he hung up and a minute later the call came… Ask me to interview at the office the next day! (It’s quite efficient)…
Technical side
The interviewer is very kind, polite, let me immediately relaxed a lot
- Briefly introduce yourself, introduce your project, technology stack?
- React vs. Vue?
- React Diff?The questions are basically the same as the first three questions in the phone interview. The interviewer will look for questions from your answers. Maybe MY answers are similar, the questions are all similar
- Observer mode implementation?Design patterns are not much to look at, just a general idea
- What are the fields in the HTTP packet header? What’s the point?Cookie cache-Control User-Agent Expires host refer and so on. The interviewer won’t ask you to say everything
- How to solve the mobile HD solution?Rem layout + multiples +1px, only mentioned flexibility.js, and explained the principle, now looking back, there is still a problem… It’s still a little long ago. I forgot
- Webpack principle, loader and plugin are what? Have you ever written it yourself?Webpack parser module, loader and plugin function, not written, read part of the code…
- Describe what happens when you enter a URL from a web page to a web page presentation.DNS parsing, three-way handshake, data requests, how browsers parse DOM trees, CSS trees, and the browser’s multi-process and multi-threaded architecture. Js threads and render threads are mutually exclusive, right
- Details: In my project, a set of code realizes PC H5 compatibility, and the component coupling is serious. Is there any good solution?Just want to abstract out the data layer, but don’t know how to solve the other… I don’t know yet
- What is the difference between SSR and client rendering, and how does Vue implement binding events?The HTML file is generated, and there are flags to let the framework know that it has been rendered by the server. The data in the store will hang under window.__inialstate__. Vue binding event implementation, I do not understand the meaning of the official: vue through the declaration of the way to write the event binding code, the implementation of the subscription publishing model, DOM native events to do a layer of encapsulation cloud cloud… I don’t know if I’m right
- How to implement DISASTER recovery in node architecture?Because I mentioned this, the answer is very vague, there are probably a lot of loopholes… Actually, it is layer 3 Dr For CDN SLB node
- What is the process of browser events? Why are listeners generally registered during the bubble phase, rather than during the capture phase? What are the addEventListener parameters?The first one is very simple, capture element, bubble. The second one was not answered at that time. It was later found that there is no capture phase below IE8, and bubble is more consistent with the general habit of controlling the influence of events
- How is object oriented implemented? What about variables that need to be reused?ES6 class reuse variables on the constructor prototype
- The reason for 300ms delay on mobile terminal? How to deal with it?The setting of double click on the mobile end leads to a 300ms delay in system judgment. Fastclick or touchEnd is used instead
- How do mainstream frameworks implement one-way/bidirectional data binding?Vue defineProperty(), React setState() DOMdiff, subscribe and publish
- Describe your career change experience and how you learned it.The author worked as an architect for two years before he went into the pit… So it’s kind of a sad story.
- What do you think is the best thing about working on the front end for example?This is actually a shame, I blew a wave, and when I was asked for details, I couldn’t remember the actual work examples… The interviewer felt embarrassed and changed the subject
Finally, we talked for a while, asked about the team, and continued the second interview with another person
Technology 2 face
- React Vue differs from virsualDOM implementations
- Why is the DIFF algorithm O(n) complexity and not O(n^3) complexity?
- HTTP code? 200, 302, 304, etc
- How to implement rem layout on mobile terminal? Explain the principle?In short, REM can unify the HTML font size as a benchmark, and other REM widths can be adjusted, just need to make correlation calculation between the HTML root font and mobile width
- JSbridge principle, how do JS and Native communicate?It’s a deeper question, and I don’t know much about it… Some schema and native methods inject webViews to execute code. Ios uses iframe to communicate
- What’s the difference between a Rollup and a Webpack? Why is this possible
- TCP three-way handshake, get and POST request.
- How is browser caching of static files implemented?So again, we’re looking at HTTP cache-control Expires Etag so how does the browser recognize the same file and so forth
- Front-end cross-domain solutionJSONP CORS document.domain nginx/ NodeJS proxy etc
- What are the fields contained in an HTTP request
- What data types do JS have? What is the difference between null and undefined?Basic types and complex types, typeof instanceof Object. The prototype. The toString answer out, the second work rarely notice at ordinary times
- Is new String(‘a’) the same as ‘a’?One is a string object and one is a primitive type
- How does the mobile end realize the animation of the drop to the bottom following the end of the move?If you know iScroll, it shouldn’t be hard
- How to Optimize the Long Blank Screen on the Home page on the Mobile Terminal?
Yahoo military rules, some other mobile optimizations, offline packages or Serviceworker, etc. I took the opportunity to ask the team which solution was adopted, also offline packages - ES6 Generator function description
- Array deduplication implementation?New Set([…array]) iterates through the fastest object key-value pairs in indexOf
- How to solve the problem of inaccurate OPERATION of JS floating point number?No, I didn’t know until I came back
- The most satisfied and outstanding point in the job, the headache point, how to solve the problem
- Why did you change your job? * Haha, answer – Dachang dream ~ *
- We talked about ali’s pressures, culture
Technology on three sides
This side is said to be p8 big guy, the face of the time do not know, chat very late, not before nervous, relaxed a lot of
- The company’s front-end engineering practice
- How did you learn the front end by yourself after changing careers? Is there any code in the learning path
- DOM basics, adding elements, deleting elements, etc…
- DOM node typeThis is digging a hole for yourself, referring to… It’s been too long. I forgot
- How does a regular expression match a URL? What kinds of functions do regular expressions have?Regular is usually written more, my colleagues often ask me to help write regular, this is no problem
- Mobile optimization? How is the offline package implemented?
- Finally, I talked about the project and the current company
Finally, he told me that he had passed the technical interview and that HR would come to see me later.
After that, I passed the HR interview very nervously. Now I am still in the final process of grading P6 and waiting for the offer. Wish me all the best! ^ – ^