A:
- Event Loop
- Encapsulate FetchAPI, requiring a timeout error while canceling the execution of the promise rather than continuing
- ArcGis application
- Website reconstruction how reconstruction?
- Prototype chain and 6 kinds of inheritance advantages and disadvantages, JS polymorphic implementation
- Front-end optimization, differences between strong cache and negotiated cache, HTTP0.9,1.0,1.1,2.0,3.0 features and resolution of queue header blocking, is QUIC based on TCP?
- The characteristics of the webRTC
- What is the difference between EventSouce and long polling? How does WebSocket maintain long connections?
- Sass, Twin wing layout other Flex, Grid, Grail, traditional floating layout
- BFC/IFC, context-content, whether the transform will call the GPU
- Webgl asked about the pipeline process. And EL SL, slice shader and vertex shader basic application.
- Is the requestAnimationFrame blocked, and is the rAF phase before or after DOM rendering? Have you used requestIdleCallback? What are the advantages of iterators combined with this function in React Fiber architecture?
- Have you ever used the combination of postMessage and worker on Canvas common API?
- React vs. Vue What’s different about the Diff algorithm? Why is VUE called progressive?
2 face webpack:
- Resource optimization
CommonJS
andES6 Module
There are three usage scenarios for Tree Shaking.- What is a dependency tree?
- What is the
AST
Have you ever used Recast? - What is hot update? How to implement hot module replacement?
HMR
The principle of? How do you design hot module replacements? How does it differ from the front-end router? Tip: Location hash and history. - Remember how browser rendering works, the difference between redraw and rearrange/reflux, and what are the two types of GC?
- What are the benefits of the DLLplugin?
- How should I do each minimum update?
[name]@[chunkhash].js
What is contenthash? Which should be enabled first, loader or Plugin? What are the Runtime and manifest? Do you remember the service worker, does every update update all or only update the manifest? webpack
In theplugin
andloader
The difference, have not written their ownplugin
What is the effect?- MVVAnd MVNWhat does it mean? Ever used SSR?
- How to develop mobile projects?
- How do decorators work in TypeScript? Can we talk a little bit about metaprogramming, which is Proxy and Reflect? Have you ever written a testing framework and implemented Hook management by yourself?
Algorithm:
/ * * purpose: let a = {} * the console log (a.x) - > 1. * the console log (a.x) - > 2 * the console in the log (a.x) - > 3 * /
let a = {}
// 1.Object.defineProperties
Object.defineProperties(a, {
"x": {get: function() {return this.b++; },set: function(val){this.b = val; } } }) a.x =0
console.log("Object.defineProperties");
console.log(a.x);
console.log(a.x);
console.log(a.x);
// 2. Proxy
a = new Proxy(a, {
get: function(target, key){
if(key === 'x')
return (target.key = (target.key || 0) + 1); }})console.log("Proxy");
console.log(a.x);
console.log(a.x);
console.log(a.x);
/ / 3.
a.x = 0
a.valueOf = function() {
return this.x++;
};
console.log(a == 0 && a == 1);
console.log(a.x);
console.log(a == 2);
console.log(a.x);
// 4. iterator
// 4. iterator
let a = {}
a.valueOf = function() {
this.x = this.x || 0;
return this.x++;
};
function* test(){
let i = 1,
j = 2;
yield* [i, j]
while(true){
i = j + 1;
j = j + 2;
yield* [i, j]; }}var m = test();
a = new Proxy (a, {
get: function(target, key) {
if(key === 'x') {return m.next().value
}
}
})
// console.log(a == 0 && a == 1);
console.log(a.x);
// console.log(a == 2);
console.log(a.x);
console.log(a.x);
Copy the code