JavaScript
-
js的基本类型有哪些?引用类型有哪些?null和undefined的区别。
-
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)
-
Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
-
JS常见的dom操作api
-
解释一下事件冒泡和事件捕获
-
事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?
-
对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
-
this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?
-
call,apply,bind
-
显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链
-
创建对象的多种方式
-
实现继承的多种方式和优缺点
-
new 一个对象具体做了什么
-
手写Ajax,XMLHttpRequest
-
变量提升
-
举例说明一个匿名函数的典型用例
-
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
-
attribute和property的区别
-
document load和document DOMContentLoaded两个事件的区别
-
JS代码调试
-
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
配置主应用
在主应用 shell 中,我们需要设置一些基础的 qiankun 配置。
// main.js
import {
registerMicroApps,
start
} from 'qiankun';
registerMicroApps([
{
name: 'app1',
entry: '//localhost:8080',
container: '#container',
activeRule: '/app1'
}
]);
start();
registerMicroApps
注册微应用的基本信息,包括名称、入口、挂载元素、激活规则等。start 方法启动 qiankun。
然后在 App.vue 中添加微应用的容器:
<!-- App.vue -->
<div id="container"></div>
此时主应用的基础配置已经完成。
配置微应用
在 app1 中,我们需要做一些适配,让它可以作为微应用被主应用加载:
// main.js
import { createApp } from 'vue';
import App from './App.vue';
let app = null;
function render() {
app = createApp(App);
app.mount('#app');
}
// 独立运行时直接渲染应用
if (!window.__POWERED_BY_QIANKUN__) {
render();
}
export async function bootstrap() {
console.log('react app bootstrap');
}
export async function mount(props) {
console.log('props from main framework', props);
render(props);
}
export async function unmount() {
app.unmount();
app._container.innerHTML = '';
}
根据是否是在 qiankun 中判断是否直接渲染应用。
导出生命周期钩子方法,这些方法会在微应用加载/卸载时被主应用调用。
这样微应用的配置也完成了。
结束
一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】