Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

前端面试框架 #3

Open
dravenww opened this issue Feb 8, 2021 · 0 comments
Open

前端面试框架 #3

dravenww opened this issue Feb 8, 2021 · 0 comments

Comments

@dravenww
Copy link
Owner

dravenww commented Feb 8, 2021

vue

vue基本

一、 vue的生命周期: beforeCreate、created、beforeMounte、mounted、beforeUpdate、updated、beforeDestory、destroyed;

二、 Vue组件通信:

  • props(emit);
  • $attr和$listeners,
  • 事件bus对象(bus.$on, bus.$emit),
  • provide(inject),
  • v-model(props:value, emit:input ),
  • $children,
  • vuex

三、keep-alive使用及原理,LRU算法

四、vue的v-show和v-if的区别;vue的watch和computed的区别;

五、其他:vue的服务端渲染,例如框架nuxt的使用;前端组件库的使用,如element-ui;

vue2与vue3

3是Proxy+Reflect,2是Object.defineProperty;dom-diff的优化;componentApi等

vue-router

  • 实现的模式:hash & history;两者的区别和分析
  • 事件:全局:beforeEach、afterEach;路由:beforeEnter;组件内:beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave
  • 实现原理,源码

vuex

  • vuex是什么?vuex官网
  • state、getters、mutations(commit)、actions(dispatch)、module
  • mapState、mapMutations、mapGetters、mapActions;subscribe,subscribeAction
  • 实现原理,源码等

react

一、生命周期

  1.react16之前的生命周期是什么?
  2.react16之后的生命周期是什么?
  3.react16和react16之前的版本有什么区别?
  4.requestAnimationFrame是什么?requestIdleCallback是什么?如何实现requestAnimationFrame
// 实现requestAnimationFrame
var lastTime = 0
window.requestAnimationFrame = function (callback) {
    let now = Date().now;
    let timeCall = Math.max(0, 16 - (lastTime - now));

    let id = setTimeout(function () {
        callback(now + timeCall)
    }, timeCall)
    
    lastTime = now + timeCall;
    return id;
}

二、react-hooks

1.常用的reacthooks都有哪些?
2.使用useEffect模拟componentDidMount和componentDidUpdate
3.useEffect返回的是什么?做什么用的?
4.useEffect和useLayoutEffect的区别是什么?
5、useMemo和useCallback是什么?做什么用的?有什么区别?

三、react-router

1.如何实现路由切换,有几种方式?
2.有哪几个钩子函数?onEnter和routerWillLeave
3.link与a标签的区别什么?

四、redux

1.redux是什么?做什么的?与vuex有什么区别?
2.redux包含哪几块?state,reducers,actions

五、其他:

1.服务端渲染next;
2.组件库antd;
3.PureComponent与Component的区别是什么?
4.react的性能优化有什么建议?
5.封装一个promise的setState
// 使用promise封装setState
function setStateP(state) {
    return new Promise(resolve => {
        this.setState(state, resolve)
    })
}

工具型-webpack

  • 1.webpack是什么?
  • 2.webpack的工作原理是什么?
  • 3.写过plugin吗?怎么实现的?
  • 4.loader是做什么的?loader和plugin的区别什么?
  • 5.关于webpack的优化建议等
    聊聊webpack
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant