1. Alibaba Front End (29 questions)
- Used KOA2 middleware
- Koa – body principle
- Introduce the middleware you have written
- Is there a Cluster involved
- Introduce pm2
- What happens to pm2 when the master dies
- How to communicate with MySQL
- React declares the cycle and its own understanding
- How do I configure the React-router
- Dynamic load module for routing
- Server rendering SSR
- This section describes the history of routes
- This section describes the flow of Redux data flow
- How does Redux enable communication between multiple components and manage multiple components using the same state
- How to split state between multiple components? Each small component has its own state, and there are some common states between them that need to be maintained. How to think about this
- Used Redux middleware
- How to solve cross-domain problems
- Common Http request headers
- Mobile adaption 1px problem
- Introduction to Flex Layout
- In other CSS modes, set the vertical center
- Why use transform (why not marginLeft/Top)
- What plugin and loader have you used in Webpack
- How are plugins in WebPack implemented
- How does dev-server run
- Project optimization
- How is extraction of public files configured
- How are security issues handled in the project
- How to implement deep copy of this object
2. Netease front-end (26 questions)
- What problems does Redux solve
- How to upload a file to a breakpoint
- Can forms cross domains
- What is the difference between Promise and Async
- How to handle search requests (anti-shake)
- Search request Chinese how to request
- Introducing the Observer mode
- Introduces the mediator pattern
- Where does the distinction between observer and subscription-publish apply
- React Optimization
- Introduce http2.0
- How do concurrent requests work
- How to reuse TCP connections with HTTP1.1
- Introduce the service worker
- This section describes position:sticky in CSS3
- How does redux request middleware handle concurrency
- Introduction to Promise, exception catching
- This section describes the new position property CSS3
- Browser event flow
- Describes the event broker and its advantages and disadvantages
- How to do event proxy in React component
- The React component event broker mechanism
- Introduce this situation
- How does the front end manage routes
- How can I solve the problem when ROUTING is used
- React How to check and change data
3. Didi (28 Q)
- How to switch routes between react and router
- What is the difference between a tag and a tag in a React-router
- What does it take to jump after the tag default event is disabled
- React layer performance optimization
- Overall front-end performance improvements fall into several categories
- Import {Button} from ‘antd’; import {Button} from ‘antd’
- What does Webpack do with dependencies in node_modules when using import
- JS asynchronous solution development history and advantages and disadvantages
- A request for an Http packet has several parts
- Where do cookies go, what do cookies do, and why do they exist
- Both cookies and tokens are stored in the header. Why only hijack the former
- What are the differences between cookies and sessions
- How the React Dom structure changes internally
- React has three components: textComponent, composeComponent, and domComponent. How to distinguish data changes when Dom structure changes, how to update, and how to schedule updates. What if there are other tasks in the update
- Key is mainly used to solve what kind of problem? Why not use index index (redraw)?
- How are asynchronous requests handled in Redux
- Redux middleware is something that takes several arguments (Coriolization functions at both ends)
- What exactly are the parameters at both ends of a Currie function
- How does middleware get store and action, and what does it do with it
- How is state injected into components and what is the process from reducer to component
- What happens to response.send, Response. rounded, response.json in KOA? Why does the browser recognize that it is a JSON structure or HTML
- How does koA-BodyParser parse request
- What is the difference between loader and plugin throughout the webpack life cycle
- This section describes the AST (Abstract Syntax Tree) Abstract Syntax Tree
- How is data passed between Android activities
- Android 4.0 to 6.0 WebView js compatibility changes
- How do WebViews and native communicate
- How to solve cross-domain, have you used Apache and other solutions
4. Toutiao (q 17)
- Understanding of async and await, internal principle
- So Promise, internal implementation
- Remove the floating
- Location problem (absolute location, relative location, etc.)
- From entering the URL to loading the page
- Tcp3 handshake
- Which layer does TCP belong to? (1 physical layer > 2 Data link layer > 3 Network layer (IP) > 4 Transport Layer (TCP) > 5 Application layer (HTTP)
- Redux’s design philosophy
- The process of accessing Redux
- The process of binding connect
- Connect the principle
- Webpack introduction
- = = and =When is equality used
- Bind, call, apply
- Understanding of animation
- Introduction to prototype chain (does it solve inheritance problems?)
- Knowledge of cross domains
5. (24 Q)
- Linux 754 introduced
- Bubble sort, selection sort, how to optimize bubble sort
- What are the advantages and disadvantages of the Transform animation versus directly using left and top to change positions
- How to determine if a linked list has a ring
- This paper introduces the characteristics of binary search tree
- Introduce temporary dead zones
- How are maps in ES6 different from native objects
- The difference between observer and publish-subscribe
- React Asynchronous rendering concepts and introduction to Time Slicing and Suspense
- 16.X declares cycle changes
- 16. In which lifecycle should props be processed after changes in X
- Introduction to pure functions
- Front-end performance optimization
- PureComponent is different from FunctionComponent
- Introduce JSX
- How to adapt RN to Android and IOS
- Why RN can be drawn as a native component in a native (bundle.js)
- Introducing the virtual DOM
- How to design a localStorage to ensure the effectiveness of data
- Promise.all()
- Introduces advanced components
- Sum (2, 3) implements the effect of sum(2)(3)
- React Performance Optimization
- How do two objects compare
6. Digging for money (24 Q)
- The prototype of the JS
- Variable scope chain
- Call, apply, bind
- The difference between anti-shake and throttling
- This section describes various asynchronous schemes
- React lifecycle
- Introduction of Fiber
- Front-end performance optimization
- This section describes DOM tree comparison
- The function of keys in React
- How to design a state tree
- This section describes the CSS and XSRF
- HTTP cache control
- How are data structures applied in a project
- What capabilities does Native provide to RN
- How to do engineering optimization
- ShouldComponentUpdate to solve what problem
- How to solve the problem that the props level is too deep
- How does the front end do unit testing
- Webpack life cycle
- The whole process of webpack packaging
- The commonly used plugins
- How do I manage pM2 processes? How do I handle a process failure
- How to manage processes without PM2
7. Hujiang (23 ask)
- This section describes cross-domain browser
- How to solve cross-domain problems
- How does the JSONP solution need the server to cooperate
- What to set up when Ajax occurs across domains (front end)
- The process from initiation to formal success of the request after adding CORS
- How to Defend against XSRF cross-domain attacks
- What do you notice when you use Async
- Async has multiple await requests. How can we optimize the request?
- What’s the difference between a Promise and Async when it fails
- Redux solves a problem in state management that React itself cannot solve
- Did Redux do any packaging
- React Life cycle: Common life cycle
- What does the corresponding life cycle do
- In which lifecycle should performance problems be solved
- How to optimize performance (load components asynchronously…)
- What details can be optimized for writing React
- React’s event mechanism (binding an event to a component)
- What are the main problems solved by event broker
- Which design patterns are used in front-end development
- Which features in React/Redux use which design patterns
- There are several types of JS variables. What are the differences
- JS garbage collection mechanism is what, which is commonly used, how to deal with
- How to organize CSS (Webpack)
8. Are you hungry?
- Small procedure inside open page how many
- How do React child and parent components transfer values
- How to Emit the Emit event and what needs to be introduced
- React advanced components. What are the differences between React advanced components and regular components
- React creates an array of objects. Each child object contains an ID and a name. How do you render all names
- In which life cycle
- Some of the names do not exist, get through the asynchronous interface, how to do
- What is the value of key for rendering? Can index be used? Id or index is better? What loaders are required for the CSS
- How to configure js, CSS, AND HTML to be packaged separately into a file
- Div vertically and horizontally centered (Flex, absolute positioning)
- Two blocks of elements, one left and one right, spaced 10 pixels apart
- Fixed up and down, middle scroll layout how to achieve
- [1, 2, 3, 4, 5] becomes [1, 2, 3, a, b, 5]
- Take the maximum value of the array (ES5, ES6)
- Difference between Apply and call
- What is the difference between ES5 and ES6
- What is the difference between some, every, find, filter, map, and forEach
- The array above is randomly evaluated, returning a different value each time
- How do I find random numbers from 0 to 5, 95 to 99
- How to bind events with 10,000 buttons on a page
- How to tell if it is button
- Generate 10,000 buttons on the page, and bind events, how to do (JS native manipulation DOM)
- What is the index of the loop binding? Why? How to solve it
- The page has an input tag and a P tag. If you change the input tag, the P tag will change
- Listening to the inp
9. Ctrip (18 questions)
- Write two algorithmic problems by hand
- React, do not encounter some pits
- What you think about closures, why closures
- Hand-written array deduplication function
- Handwriting array flattening function
- Introduce the purpose and nature of promises
- What’s the difference between Promise and Callback
- React lifecycle
10. Himalayas (30 Q)
- Write two algorithmic problems by hand
- React, do not encounter some pits
- What you think about closures, why closures
- Hand-written array deduplication function
- Handwriting array flattening function
- Introduce the purpose and nature of promises
- What’s the difference between Promise and Callback
- React lifecycle
11. (33 Q)
- What’s the difference between localStorage and cookie
- What are the CSS selectors
- The box model, and the difference between the standard case and IE
- How to achieve high adaptive
- Prototype differs from — proto
- What is the _construct
- How is new implemented
- The essence of promise, its strengths and weaknesses
- How to adapt H5 mobile phones
- Rem vs. Flex (root EM)
- Difference between EM and PX
- React declaration cycle
- How to remove # from URL
- What is the difference between a Redux state manager and a variable mounted in a Window
- Advantages and disadvantages of Webpack and gulp
- How to implement asynchronous loading
- How to implement modular packaging (Multi-entry)
- Front-end performance optimization (1JS CSS; 2 pictures; 3 Cache preloading; 4 SSR; 5 Add multiple domain names; 6 Load Balancing)
- Maximum number of concurrent requests (6)
- Why base64 can improve performance, disadvantages
- Webp is an image file format
- Introduce koa2
- How does a Promise come true
- Asynchronous request, low version Fetch How low version adaptation
- How does Ajax handle cross-domains
- How to set CORS
- Why does JSONP not support the POST method
- Introduction to the Same Origin Policy
- Some components used by React
- Introduce Immuable
- Introduce the principle of redux process
- Introducing the prototype chain
12. Micro Doctor (40 questions)
- Introduces JS data types, the difference between basic data types and reference data types
- Is Array type Object
- A. Var a = {name: “front-end development”}; var b = a; B. Var a = {b: 1} c. Var a = {b: {c: 1}
- The difference between stack and heap
- Difference between stack and heap when garbage collection
- There are 100,000 elements in the array, and how long it takes to fetch the first element and the 100,000th element
- How are stacks and heaps stored
- Closures and why aren’t they cleared
- Closure usage scenarios
- How to implement asynchronous JS
- Asynchronize the entire execution cycle
- Three states of Promise
- How to implement Async/Await
- The difference between a Promise and a setTimeout
- Why does JS distinguish between microtasks and macro tasks
- Whether the Promise constructor executes synchronously or asynchronously, then
- The difference between publish-subscribe and observer patterns
- JS execution process is divided into what stages
- Difference between lexical scope and this
- How do you normally do inheritance
- Deep copy and shallow copy
- Implementation principle of loadsh deep copy
- How is the let block scope implemented in ES6
- What happens after setState in React a. why is setState asynchronous by default B. when is setState synchronous
- Why there are so many Native (RN) frameworks (virtual DOM) after the emergence of the three major frameworks
- What does the virtual DOM mainly do
- What is the virtual DOM itself (JS object)
13. Secoo (20 q)
- Introduce the features, advantages and disadvantages of Promise
- Introduce Redux
- How does RN work on both Android and IOS
- How does RN call native functions
- Introduce the disadvantages of RN
- This section describes the sorting algorithm and the principle of fast sorting
- The difference between heap and stack
- Introduce the closure
- What is the core of closures
- The five-tier model of the network
- Difference between HTTP and HTTPS
- HTTPS encryption process
- This section describes SSL and TLS
- Introducing DNS Resolution
- JS inheritance method
- Introduction to Garbage Collection
- What problem does a cookie reference solve
- Difference between cookie and localStorage
- How to solve cross-domain problems
- Front-end performance optimization
14. Baby Tree (15 Q)
- How to organize common components when drawing using Canvas
- What’s the difference between formData and native Ajax
- So form submission, how does it relate to formData
- This section describes the redux access process
- What’s the difference between RudUX and global management (data control, data response)
- RN and native communication
- How is the MVP presentation organized
- Introducing asynchronous solutions
- How does promise implement then processing
- Koa2 Middleware principles
- Common Middleware
- How does the server do unified state handling
- How do you optimize relative path references
- Node file lookup priority
- What is the difference between NPM2 and NPM3 +
15. Hikvision (15 questions)
- Knex Connects to the database in response to a callback
- Introducing asynchronous solutions
- How do I handle exception catching
- How does the project manage modules
- Front-end performance optimization
- JS inheritance scheme
- How do I determine if a variable is an array
- How do I swap variables A and B
- Event delegation
- The Dom structure generated by the tag is an array of classes
- Class array and array difference
- How does an array of dom classes turn into an array
- This section describes single-page applications and multi-page applications
- Redux state tree management
- This section describes the apis of LocalStorage
16. Mushroom Street (15 Q)
- Semantic understanding of HTML
- And the difference ****
- Understanding closures
- Closure usage scenarios in engineering
- Introduce this and the prototype
- The biggest benefit of using prototypes
- React Design
- Why does the virtual DOM perform better than the real DOM
- React Common communication mode
- Redux’s overall workflow
- The difference between redux and global objects
- Redux data backtracking design idea
- Actual scenarios in singleton, factory, observer projects
- The use of trees in the project and understanding
- Work to harvest
17. Cool Family Music (21 Q)
- React lifecycle
- React Performance Optimization
- Why does adding native events leak memory without removing them
- Where else can memory leak
- SetInterval points to pay attention to
- Why are timers inaccurate
- Difference between setTimeout(1) and setTimeout(2)
- Introduces macro and micro tasks
- What’s the difference between implementing a promise and then
- Introduce pureComponet
- Introduce the Function Component
- The React data flow
- Props and state
- Introduce the react context
- This section describes the differences between class and ES5 classes
- Introduces the difference between arrow functions and ordinary functions
- Introduce the defineProperty method. When do you need it
- The for… In and object.keys
- Describes closures and their usage scenarios
- Use scenarios using closure privilege functions
- What’s the difference between get and Post
18 percent (14 QUESTIONS)
- The difference between React15/16. X
- What does rerendering render do
- Which methods trigger React rerender
- What is the difference between the lifecycle of the updates triggered by state and props
- SetState is synchronous or asynchronous
- Understanding stateless components
- Describes the Redux workflow
- This section describes ES6 functions
- Let, const, and var
- Difference between shallow copy and deep copy
- Introduces the arrow function this
- Introduce Promise and then
- Introduction to Quicksort
- Algorithm: the first K largest elements
19. Haifeng Education (Q 14)
- React, its pros and cons
- How to solve the problems encountered in the process of using
- What is the philosophy of React (functional programming for page rendering)
- What paradigm language is JS (Object-oriented or functional programming)
- Koa principle, why koA (Express vs. KOA)
- Koa middleware used
- Syntax used in ES6
- Promise and async/await and callback
- Does Promise address asynchrony (where the Promise chain is really powerful)
- The difference between a Promise and a setTimeout (Event Loop)
- The difference between a process and a thread (a node instance is a process, a node is a single thread, asynchronous through an event loop
- This section describes DFS depth-first
- Introduce the observer mode
- The data structure used in observer mode (no order, a list)