First say the result: coordinate hangzhou, in the middle of March naked resignation, rest for a few days began to look for, met 4, passed 2, tired, behind the interview do not want to go (because there is no educational background, can only face small companies)
March 30, 2021 :(hung up)
- ES6, ES7-ES11
- Use of Promise, and async, await
- Virtual dom
- Depth-first traversal (recursive, non-recursive)
- Bubble, select, Merge, Insert, quicksort
- Algorithm (to achieve a full permutation, the idea is to use backtracking algorithm, did not write out)
- How to ensure data security when interacting with the server? Not modified by third parties (not answered)
- Video encryption, image encryption (failed to answer)
- Can IT be decrypted after MD5 encryption? (Blind answer yes, actually can not decrypt, can only explode)
- Pupil’s logical reasoning question (very silly X question, look at the picture to find the rule of that kind, can be ignored)
March 31, 2021 :(offer received)
- Difficulties and gains of the last company’s project
- What are the advantages of Function Component over Class Component?
- What are the hooks that are commonly used? What have you used?
- Life cycles (just to name a few, there are actually 13, including 3 abandoned ones)
- The concept of one-way data flow (top-down, layer by layer)
- React.PureComponent and React. Mome
- How to control the render function to reduce repeated rendering? (shouldComponentUpdata or useEffect)
- Taro: React has four different compilers and uses different compilers for different platforms.
- React diff algorithm vue2.0 diFF algorithm Vue3.0 DiFF algorithm Vue2.0 diFF algorithm vue3.0 diFF algorithm vue2.0 diFF algorithm vue3.0 diFF algorithm vue2.0 diFF algorithm vue3.0 diFF algorithm vue2.0 diFF algorithm vue3.0 diFF algorithm
- Have you heard about Vue3.0? What’s the change from 2.0? (diff algorithm optimization, proxy, hooks)
- How does Webpack optimize for performance
- Webpack workflow, packaging principles
- TreeShaking related (not quite correct)
- How to reencapsulate antD’s Table component
- When reusing packaged components in VUE, how can you extend functionality without modifying the original components? (Not sure what the interviewer is looking for in the answer, here is the slot)
- What state management tools does React use? (Redux, React-redux, Dva)
- Do you know anything else besides those two? (Know Mobx, but haven’t used it)
- What other packaging tools do you know about besides Webpack? Have you heard of Vite?
- In which phase is the Diff algorithm executed (coordination phase in render)
- How do you study at ordinary times? What are you studying recently?
- Other project issues…
- There are still some questions I can’t remember
April 1, 2021 :(too hard, died on the spot)
A:
- Macro tasks, micro tasks (poorly answered)
- ES6, ES7-ES11 new features (answer a lot, directly interrupted by the interviewer)
- There are several ways to implement inheritance (just one type of stereotype chain inheritance, along with parasitic inheritance, composite inheritance, parasitic composite inheritance, and Class extends inheritance)
- How does Babel convert Class to new Function?
- Several values of the position property
- How does the BFC trigger? (Need to answer concept, rule, trigger condition, here only answer float trigger)
- Network related (I have a poor network foundation, so I will give up this piece directly)
2:
- How many stages does an ECMA standard go through from proposal to publication? What are the milestones? (Five stages, failed to answer)
- Have any common components been encapsulated? How to publish your components to NPM? (No answer)
- What are the disadvantages of REM? (Mobile phone modification of default characters will have an impact, did not answer up, normal people ask advantages, who asked disadvantages)
- Engineering (not very good)
- What are the standards for modularity? (only CJS and ESM, AMD, CMD, UMD)
- The difference between CJS and ESM (only answer the difference in writing method, the difference in principle is not answer up, this part of the content after home to make up for it, behind write an article, specifically to do the analysis of modular specification – do you really know CommonJS?)
- What is the syntax for importing asynchronously loaded components? Same as CommonJS and ES Module? (No answer)
- Do you understand the form? Can a form element be nested within another form element? (I said yes, wrong)
- Have you read any articles or materials about W3C specifications? (no)
- Babel plugin and Presets Which presets are commonly used? (No answer)
- See on your resume that you are familiar with react, describe the rendering process (then give me a pen and start drawing).
- The difference between the current Fiber tree and the workInProgress Firbre tree is the difference between the CURRENT Fiber tree and the workInProgress Firbre tree. Generate workInProgress Firbre tree)
- The differences between the single-node and multi-node DIff algorithms (reconcileSingleElement and reconcileChildrenArray functions are described here)
- Render function from recursion to return (beginWork to completWork)
- Single linked list in Fiber node, ring linked list
- At what stage does the diff algorithm take place? (Coordination stage)
- What are the three limitations of the Diff algorithm? (Same level, same type, key)
- How to implement screen reading and blind mode? Any ideas? (Accessibility A11y)
- Eslint checks code when it is submitted. How does this work? How does it block submissions? (Principle is AST, failed to answer)
- Do you understand Git? Git Merge merge git merge merge git merge merge (No answer)
- Are you familiar with international code specifications? (He named three American companies, none of which he had ever heard of except Google.)
- How do you study? Do you blog? (Silently took out the cell phone, opened the nuggets home page, showed him my article)
- Have you learned the knowledge related to PM position? (no)
- How do you study at ordinary times? How to solve difficulties?
- There are still some questions I can’t remember
Three sides:
Just gave up and ran away after the second interview
April 2, 2021 :(received offer)
A:
- Questions about http1.0 and http2.0
- How to check the size of an image if it is too large for the browser to load?
- V8 engine (NodeJS) memory limits? (Failed to answer, after returning home after baidu, the answer is 32 bit 0.7GB, 64 bit 1.4GB, this part of the content after home to catch up, behind write an article, specifically for V8 engine memory management to do analysis – V8 engine garbage collection principle analysis)
- Fibonacci sequence (roughly speaking, the idea of recursive implementation)
- The time complexity of the above algorithm is O(2*N), how can it be reduced to O(N)? To reduce the time complexity, we need to improve the space complexity, how to achieve it? The answer is to change the recursion to a for loop.)
- How do I write asynchronous operations in a map? (promise. All)
- When is setState synchronized? When is asynchrony? Why asynchronous? (React15 vs. React16, browser frames, react time slices)
- How to use WebPack to upload local image resources to CDN and replace local resources when dev environment uses them and packages them to Pro environment? (No answer, ali Cloud OSS can be implemented)
- How to solve the problem of slow Webpack packing? (Nonsense, sourceMap and treeShaking)
- First screen optimization (there are a lot of options here, but none of them are what he wants, and they don’t get the interviewer’s point)
- UseEffect: the timer is invalid.
- Pure CSS implements width-height adaptive squares (vH and padding).
- What is the difference between loader and plugin? Have you ever written a plugin yourself? (written)
- TS generic correlation (poorly answered)
- Other webpack related issues, I can’t recall the specifics
- Do you usually write a blog? (Silently took out the cell phone, opened the nuggets home page, showed him my article)
- How do you study at ordinary times? Are there things you are proud of in your previous jobs?
- Project problems
2:
- Leaving reason
- Do you prefer to write vue or react? Why is that?
- Requirements for a new job? Expectations for the new company?
- Small talk
Three sides:
- Data structure related: stack, heap, pointer (poor answer)
- What is the underlying structure of Map? (No answer)
- Speed and performance comparison of several loops (for reverse loop is the fastest, followed by positive loop, followed by forEach)
- Performance optimization in extreme cases
- How do I swap the positions of two variables without creating a new one? (Deconstruction, wrong answer, he wants xor.)
- The difference between vue and React frameworks and how it feels to use them
- What is scope? What is a closure?
- Sorting related: what is the fastest way to merge, insert, and sort? What are the time complexities?
- How cross-side compilation works
- What do you think is the difference between you and the other big guys? (Here is an answer to the programming philosophy, as well as the underlying computer fundamentals, which seems to have been answered to their satisfaction.)