最后
基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
position: fixed;
width: 100%;
top: ;
left: ;
height: 100%;
background-color: rgba(, , , 0.2);
display: flex;
justify-content: center;
align-items: center;
}
.content {
min-width: 200px;
width: 30%;
background: #fff;
height: 200px;
padding: 10px;
border-radius: 5px;
}
input[type=“text”], input[type=“password”] {
border: ;
outline: ;
border-bottom: 1px solid #eee;
width: 80%;
margin: auto;
font-size: 0.5em;
}
button {
border: ;
margin-top: 50px;
background-color:#8e44ad;
color: #fff;
padding: 5px 10px;
font-size: 0.5em;
}
在其它组件中导入它:
<button @click=“show = true”> Login
我们可以使用 defineAsyncComponent
,只在需要的时候加载它(按钮被点击时使用v-if
来切换)。
<button @click=“show = true”> Login
这个用法看起来和上面的差不多,不急,我们 F12
打开控制台。
如果我们不使用defineAsyncComponent
,一旦我们的页面加载,我们就会看到我们的应用程序从服务器上获得LoginPopup.vue
。虽然在这个例子中,性能问题不那么严重,但如果我们有几十个组件这样做,性能上多多少少还是有影响的。
然而,如果我们使用defineAsyncComponent
查看同一个标签,会注意到,当我们的页面加载时,LoginPopup.vue
是没有的,这是因为它还没有被加载。
但,如果切换按钮,我们就可以看到它了:
这有助于我们实现最佳性能。我们只想在我们的页面初始加载时加载需要的组件。有条件渲染的组件在我们的页面加载时往往是不需要的,所以为什么要让我们的应用程序加载它们呢?
如何与异步的 setup 方法一起使用?
不管我们是否用defineAsyncComponent
来异步加载,任何具有异步 setup
方法的组件都必须用<Suspense>
来包装。
简而言之,创建一个异步 setup
函数是我们的一种选择,可以让我们的组件在渲染前等待一些API 调用或其他异步操作。
下面是带有异步setup
的组件,使用setTimeout()
模拟API调用
Loaded API: {{ article }}
Login to your account
Log in
我们可以使用或不使用defineAsyncComponent
将它导入到组件中:
import LoginPopup from ‘./components/LoginPopup.vue’
// OR
const LoginPopup = defineAsyncComponent(() => import(“./components/LoginPopup.vue”))
但如果我们想让它在我们的模板中渲染,我们需要把它包在一个Suspense
元素中。这将等待我们的setup
解析后,然后再尝试渲染我们的组件。
Suspense
的一个很好的特点是,我们可以使用槽和模板显示回退内容。回退内容将显示,直到setup
函数解析,我们的组件准备好渲染。 请注意,v-if
已经从组件本身移到了我们的Suspense 组件上,所以所有回退内容都会显示。
<button @click=“show = true”> Login
<template #default>
<template #fallback>
Loading...
数据结构与算法
这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。
- 二叉树层序遍历
- B 树的特性,B 树和 B+树的区别
- 尾递归
- 如何写一个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
记忆。
- 二叉树层序遍历
- B 树的特性,B 树和 B+树的区别
- 尾递归
- 如何写一个大数阶乘?递归的方法会出现什么问题?
- 把多维数组变成一维数组的方法
- 知道的排序算法 说一下冒泡快排的原理
- Heap 排序方法的原理?复杂度?
- 几种常见的排序算法,手写
- 数组的去重,尽可能写出多个方法
- 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
- 知道数据结构里面的常见的数据结构
- 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
- 合并两个有序数组
- 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)
[外链图片转存中…(img-v9yrXcer-1715615953947)]