<> interview vue Common interview questions and written questions for front end engineers .
Interview nearly a dozen companies, summed up a set VUE Interview questions , Hope to help more people .
*
yes MVVM Understanding of
MVVM Divided into Model,View,ViewModel The three .
Model: Representative data model
View: Representative view
ViewModel: Connecting views and models , Realize the bidirectional binding of data
*
Vue The principle of data bidirectional binding
Using hijacking data publisher - The way of subscriber mode , adopt Object.defineProperty() To hijack the properties setter,getter, Publish messages to subscribers when data changes , Trigger the corresponding listening callback . When an ordinary
JavaScript Object to Vue As part of it data Option ,Vue Will traverse its properties , use Object.defineProperty Turn them into
getter/setter, Users can't see it getter/setter, But inside, they let me know Vue Tracking dependency , Notifies changes when properties are accessed and modified .
1, Implementation of a data listener Observer, It can monitor all properties of data objects , If there is any change, you can get the latest value and inform the subscriber
2, Implementation of an instruction parser Compile, Scan and parse the instructions of each element node , Replace data according to instruction template , And bind the corresponding update function
3, Implement a Watcher, As a connection Observer and Compile The bridge of , Be able to subscribe and receive notification of each property change , Execute the corresponding callback function of instruction binding , To update the view
*
yes webpack Understanding of
Front end packaging tools …
*
Understanding of front end Engineering
*
On Modularization , Understanding of componentization
*
use vue-lic Build a Vue Project for
*
yes npm Understanding of
Third party library management tools
*
ES6 What new concepts have been put forward
1.var let
2. Arrow function
3. Template string ( backquote )
4. Destructuring assignment
5.import,export
6.class
…
*
HTTP Common status codes
400 Syntax error in client request , Not understood by the server
403 The server received the request but refused to serve |
200 Client request successful |
404 The requested resource does not exist eg: Wrong input URL |
500 An unexpected error occurred on the server |
503 The server is currently unable to process client requests , It may return to normal after a period of time
*
Common methods of array , And use
*
let ,var ,const The difference between the two
var Declared variables can be declared repeatedly , and let You can't repeat the statement
var Is not limited to the block level , and let Is it limited to the block level
var Meeting with window Phase mapping ( A property will be hung ), and let Not with window Phase mapping
var Variables can be accessed on top of the declaration , and let There is a temporary dead zone , Accessing variables on the top of the declaration will report an error
const Must be assigned after declaration , Otherwise, it will report an error
const Defining immutable quantities , If you change, you will report an error
const and let It won't be the same with you window Phase mapping , Support for block level scopes , Accessing variables on the top of the declaration will report an error
*
Cross domain problems How to solve it
jsonp
*
How to solve the problem of browser compatibility
*
about data security Measures taken
md5, Symmetric encryption , Asymmetric encryption
*
Vue Family bucket ——vue,vue-router,vuex
*
vuex The five core attributes of
state,getter,mutations,actions,modules
*
v-show and v-if The difference between
*
Value transfer of parent-child components
The parent component passes the value to the child component :
The first step : In parent component v-bind:parentmsg=“ Of the parent component data value ”(parentmsg This name can be customized )
Step two : In subcomponents props:[‘parentmsg’]
{{parentmsg}} So you can use it The value of the parent component
The parent component passes the method to the child component :
The first step : In the parent component @func= Parent component method name ( Method name without ‘()’,func Customizable )
Step two : Write in subcomponent method this.$emit(‘func’, Method parameters ) (func Customizable , Nonparametric method ‘ Method parameters ’ Don't write it )
*
The way of route jump
1.<router-link to='home'> router-link
2. router.push('/home')
*
Vue Life cycle of an instance
*
vue-router in hash Mode and history The difference between models
The most intuitive difference is in the url in hash I brought one # and history There is no such thing ;
history Back end support required ;
history Refresh or jump back after jump will report an error
*
yes ui Use of framework
element-ui,iview,ionic
*
angular and vue A comparison of
*
Original Ajax How to send a request
*
The concept of closure
Function nested function , Internal functions refer to external function variables , After external function call , Its objects should have been destroyed , But closures exist , The variable object that still gives us access to the external function , As a result, the garbage collection mechanism did not take effect , Variables are saved , Memory leak .
*
Vue How to send requests in
vue-router
*
axios How to send a request
*
Front end cache
cookie, WebStorage
*
CSS Common layout
*
You used it CSS frame
less
*
Understanding of unidirectional data flow
*
Calculation properties (computed) and watch The difference between
*
Callback function
*
Promise Three states
pending,fulfilled,rejected( up in the air , perform , refuse ), There can only be one state at a time , And once the state changes, it can't change again .promise Is a constructor ,promise Object represents an item with two possible results ( Success or failure ) The task of , It also holds multiple callbacks , When different results appear, corresponding callbacks are issued respectively .
1. initialization , state :pending
2. When calling resolve( success ), state :pengding=>fulfilled
3. When calling reject( fail ), state :pending=>rejected
*
Concepts of synchronization and asynchrony
*
Get Requests and Post The difference between requests
* Get It's not safe , Because in the transmission process , The data is placed in the requested URL in ;Post All operations of are invisible to the user .
2 Get The amount of data transferred is small , This is mainly due to URL Length limit ;Post A large amount of data is transmitted , Generally, it is not limited by default .
3.Get limit Form The value of the dataset for the form must be ASCII character ; and Post Support the whole ISO10646 character set .
4. Get However, the efficiency of implementation is higher than that of control Post Good method .Get yes form Default method for submission .
*
Custom filter
*
How to use native js Bind multiple buttons to a button onclick event
*
VUE If you register global components
*
list css Selector and priority
*
Weight calculation rules
*
This paper expounds several ways of clearing floating and their advantages and disadvantages
*
sketch cookies sessionStorage and localStorage difference
*
Array de duplication
*
mvvm,mvc Principle and difference
Here are the written questions
Technology