3.22模拟面试

前端模拟面试(1 年经验)

面试时长:40-60 分钟
面试难度:初中级
技术栈:Vue 3、TypeScript、微前端(qiankun)、Webpack/Rspack、Ant Design、组件库迁移


一、基础知识

  1. HTML & CSS

介绍一下 BFC(块级格式化上下文)的作用?

flex: 1 具体代表什么?

CSS 选择器优先级计算规则是什么?

如何实现一个两栏布局,左侧固定 200px,右侧自适应?

如何让 CSS 动画更流畅?

  1. JavaScript & TypeScript

this 在 JavaScript 中是如何绑定的?

event loop 机制中,Promise.then 和 setTimeout 谁先执行?

typeof null 的结果是什么?为什么?

TypeScript 中 interface 和 type 有什么区别?

如何实现一个 deepClone 方法?

  1. Vue 3

Vue 2 和 Vue 3 在响应式上有什么不同?

ref 和 reactive 的区别是什么?

setup 函数的执行时机是什么?

Vue 3 组件生命周期中 onMounted 之后的生命周期有哪些?

介绍一下 defineExpose 及其应用场景。


二、框架 & 工程化

  1. Webpack & Rspack

Webpack 的 tree-shaking 原理是什么?

如何优化 Webpack 的构建速度?

Rspack 是如何提升构建性能的?

什么是 sideEffects?如何在 Webpack 中应用?

  1. 微前端 & qiankun

微前端的核心思想是什么?

qiankun 是如何实现子应用的隔离的?

你们团队在使用 qiankun 过程中遇到过哪些问题?是如何解决的?

主应用如何与子应用进行通信?


三、实践 & 业务场景

  1. 组件库迁移

你们是如何从旧组件库迁移到 Ant Design 的?过程中遇到哪些挑战?

业务组件库如何设计?你们如何管理版本发布?

  1. 性能优化

你们是如何优化 Webpack 启动时间的?

Vue 组件如何避免不必要的渲染?

前端如何做首屏加载优化?

  1. 项目经验

介绍一个你负责的项目,遇到了哪些技术挑战?

你在团队中主要承担了哪些角色?

你们是如何做代码 review 的?


四、手写代码

  1. 实现一个 deepClone 方法

  2. 实现一个 useDebounce Vue 3 组合式 API

  3. 实现一个 EventBus(发布订阅模式)

  4. 手写 Promise.all

  5. 实现一个 requestIdleCallback 兼容方案

  6. 实现一个简易版 computed


五、开放性问题

你对前端的发展趋势有什么看法?

如果让你优化当前团队的前端工程体系,你会从哪些方面入手?

你认为 1 年经验的前端如何更好地成长?


总结

这个面试涵盖了前端基础、Vue 3、工程化、微前端以及你的项目经验。你可以在模拟面试时多总结自己的经验,并通过手写代码提高自己的能力。

你需要更详细的讲解或模拟对答吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/73171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kotlin 函数引用

引言 先确认一下,什么叫做引用 Object obj new Object() //这里的obj就是一个强引用 再确认一个结论: lambda 属于函数类型对象 。 fun methodResponseResult(msg: String , respo:(Int, String)->Unit){}fun methodRespoResunt(type: Int ,msg: S…

微前端qiankun框架的使用

文章描述 随着工作时间的增加,发现公司的项目逐渐多了起来,有一个项目比较庞大,是需要集成多个子系统而形成的大项目。其中便是使用微前端的概念qiankun框架来集成其他多个子项目的。接下来,一起来看一下qiankun框架的具体使用方…

基于CVX优化器的储能电池调峰调频算法matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 原理概述 4.2 CVX工具箱概述 5.完整工程文件 1.课题概述 基于CVX优化器的储能电池调峰调频算法matlab仿真。CVX 是一种用于求解凸优化问题的强大工具。凸优化问题具有良好的数学性质,能…

回归——数学公式推导全过程

文章目录 一、案例引入 二、如何求出正确参数 1. 最速下降法 1)多项式回归 2)多重回归 2. 随机梯度下降法 一、案例引入 以Web广告和点击量的关系为例来学习回归,假设投入的广告费和点击量呈现下图对应关系。 思考:如果花了…

微服务中的服务发现

微服务中的服务发现 什么是服务发现 服务发现是微服务架构中的关键机制,用于确定各个微服务的地址。例如,在一个 API Server 服务中,我们可能需要调用 User 服务来处理用户注册、登录和信息查询,也可能需要 Product 服务来获取商…

C#与西门子PLC的六大通信库

C#与西门子PLC的六大通信库: 一、S7.NET S7.NET是一款开源的S7协议通信库,支持西门子S7通信。 二、Sharp7 Sharp7与S7.NET一样,是一款.NET版本的S7通信库。 三、Snap7 Snap7是一个开源的C通信库,支持西门子S7通信。 四、Prodave P…

IOS接入微信方法

导入SDK 和配置 SDK 的不做介绍; 1 在IOS 开发者中心 Identifiers 打开‘Associated Domains’ 2 建立一个文件(不带后缀的)apple-app-site-association, teamid在 IOS 开发者中心的会员找,appid在 xcode里面找 {"applin…

DHCPv6 Stateless Vs Stateful Vs Stateless Stateful

DHCPv6常见配置模式 在 IPv6 网络中,DHCPv6 的 Stateless(无状态)、Stateful(有状态) 和 Stateless + Stateful(混合模式) 是三种常见的配置模式。它们的主要区别在于客户端如何获取 IPv6 地址和其他网络配置信息(如 DNS 服务器)。 Stateless(无状态)模式 Statele…

HTTPS协议—加密算法和中间攻击人的博弈

活动发起人小虚竹 想对你说: 这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧&#xff01…

Java替换jar包中class文件

在更新java应用版本的运维工作中,由于一些原因,开发没办法给到完整的jar包,这个时候,就可以只将修改后的某个Java类的class文件替换掉原来iar包中的class文件,重新启动服务即可: 1、将jar包和将要替换的cl…

【UI设计】一些好用的免费图标素材网站

阿里巴巴矢量图标库https://www.iconfont.cn/国内最大的矢量图标库之一,拥有 800 万 图标资源。特色功能包括团队协作、多端适配、定制化编辑等,适合企业级项目、电商设计、中文产品开发等场景。IconParkhttps://iconpark.oceanengine.com/home字节跳动…

【10】高效存储MongoDB的用法

目录 一、什么是MongoDB 二、准备工作 (1)安装MongoDB ​(2)安装pymongo库 三、连接MongoDB 四、指定数据库 五、指定集合 六、插入数据 (1) insert 方法 (2)insert_one(…

MATLAB+Arduino利用板上的按键控制板上Led灯

几年不使用,之前的知识都忘掉了。需要逐步捡起来。 1 熟悉按键的使用 2熟悉灯的控制 1 电路 我们将通过 MATLAB 的 Arduino 支持包与 Arduino 板通信,读取按键状态并控制 LED 灯的亮灭。 按键:连接到 Arduino 的数字引脚(例如…

《深度学习》——YOLOv3详解

文章目录 YOLOv3简介YOLOv3核心原理YOLOv3改进YOLOv3网络结构 YOLOv3简介 YOLOv3(You Only Look Once, version 3)是一种先进的实时目标检测算法,由 Joseph Redmon 和 Ali Farhadi 开发。它在目标检测领域表现出色,具有速度快、精…

【项目设计】网页版五子棋

文章目录 一、项目介绍1.项目简介2.开发环境3.核心技术4.开发阶段 二、Centos-7.6环境搭建1.安装wget工具2.更换软件源(yum源)3.安装scl工具4.安装epel软件源5.安装lrzsz传输工具6.安装高版本gcc/g编译器7.安装gdb调试器8.安装git9.安装cmake10.安装boost库11.安装Jsoncpp库12.…

在coze工作流中将数据回写到飞书表格

在coze工作流中将数据回写到飞书表格

并查集(竞赛)

一、模型建立 本质就是一个数组,数组的下标对应节点的编号,数组的值对应对应编号的节点的父节点。规定根节点的父节点是自己。 规定三个集合的根节点分别是1 4 6 二、并查集操作并实现 并查集主要操作:查找一个节点的父节点,判…

Leetcode 刷题笔记1 图论part04

leetcode 110 字符串接龙 def judge(s1, s2):count 0for i in range(len(s1)):if s1[i] ! s2[i]:count 1return count 1if __name__ __main__:n int(input())begin_str, end_str map(str, input().split())if begin_str end_str:print(0)exit()strlist []for _ in ran…

从扩展黎曼泽塔函数构造物质和时空的结构-7

有了先前关于电荷之间吸引和排斥关系的频率分析图,我们可以按照类似的方法,对磁场做一样的分析,即分析磁体同极相斥,异极相吸的本质。 我们知道上图得以成立的原因在于磁感线,如下图所示的排布方式, 磁体的…

AI比人脑更强,因为被植入思维模型【18】万物系统思维模型

把事物看成链,看成网,看成生态。 定义 万物系统思维模型是一种将宇宙万物视为一个相互关联、相互作用的整体系统的思维方式。它强调从系统的角度去认识、分析和解决问题,认为系统中的各个要素之间存在着复杂的相互关系,这些关系不…