当前位置: 首页 > article >正文

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、工程化、微前端以及你的项目经验。你可以在模拟面试时多总结自己的经验,并通过手写代码提高自己的能力。

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

相关文章:

3.22模拟面试

前端模拟面试(1 年经验) 面试时长:40-60 分钟 面试难度:初中级 技术栈:Vue 3、TypeScript、微前端(qiankun)、Webpack/Rspack、Ant Design、组件库迁移 一、基础知识 HTML & CSS 介绍一下…...

汇编语言习题笔记——第1章 汇编语言基础

第1章 汇编语言基础 1. IA-32处理器有哪三类基本段,各是什么用途? 段类型寄存器主要用途特点代码段 (CS)CS存储可执行指令执行权限,通常只读,与 IP/EIP/RIP 配合,确定指令地址数据段 (DS, ES, FS, GS)DS, ES, FS, GS存储程序数据 (变量, 数据结构等)读写权限,多个寄存器…...

为扣子智能体接入 DeepSeek

扣子现已推出满血版 DeepSeek 全家桶,支持免费体验 R1、V3 模型。除此之外,扣子支持 DeepSeek 思维链(Chain-of-Thought,CoT)和 Function Calling 能力,为你的智能体添加私有知识和多种技能,拓展…...

3.22日西南竞篮,NBA勇士VS老鹰,赛前数据前瞻

3.22日NBA勇士VS老鹰赛前数据前瞻 关键要点 明天(3月22日)的NBA比赛是金州勇士对阵亚特兰大老鹰,盘口为勇士让2.5分,大小分预设为230.5。 勇士目前战绩41胜29负,西部第六;老鹰战绩33胜36负,东部…...

C语言:循环控制结构习题

1水仙花数是指各个位数的立方和等于本身的三位数。例如:153是水仙花数,因为1531的立方5的立方3的立方。 编程计算并输出所有的水仙花数。 第一种做法 思路: 1三位数:百位,十位和个位,除了百位是1-9&#…...

Dear ImGui for Unity 常见问题解决方案

Dear ImGui for Unity 常见问题解决方案 dear-imgui-unity Unity package for Dear ImGui 项目地址: https://gitcode.com/gh_mirrors/de/dear-imgui-unity 1. 项目基础介绍 Dear ImGui for Unity 是一个开源项目,旨在将Dear ImGui库整合到Unity游戏引擎中。…...

【Unity3D】摄像机适配场景以及Canvas适配

目录 宽度不变策略 高度不变策略 宽度不变策略 开发分辨率 750*1334 (宽高比:0.56) 真机分辨率 1170*2532 (宽高比:0.46) 真机宽高比<开发宽高比&#xff0c;采用宽度不变策略 理由&#xff1a;小于代表真机高度比开发高度更大&#xff0c;因此不需要担心高度上…...

盛铂科技国产SLMF315超低相位噪声频率综合器介绍

SLMF315频率综合器简介&#xff1a; 盛铂科技SLMF315超低相位噪声频率综合器的频率范围覆盖200MHz至15GHz。频率的最小步进仅为0.1Hz&#xff0c;在不考虑频率精度的情况下频率步进可达0.04Hz。SLMF315内部采用多环路设计从而获得极优秀的相位噪声特性&#xff0c;频率输出为1…...

一个简单的人脸识别demo

使用face_recognition和OpenCV库完成人脸检测和识别任务&#xff1a; # 导入必要的库 import cv2 # OpenCV库&#xff0c;用于图像处理 import face_recognition # 人脸识别库 import numpy as np # 数值计算库# 步骤1&#xff1a;加载已知人脸的图片并编码 # 加载乔布斯的…...

SpringDoc和Swagger使用

目录 一、SpringDoc 1.添加依赖 2.配置代码 配置解释 &#xff08;1&#xff09;springdoc.api-docs.path &#xff08;2&#xff09;springdoc.swagger-ui.path &#xff08;3&#xff09;springdoc.swagger-ui.operationsSorter &#xff08;4&#xff09;springdoc.…...

RestTemplate和RPC区别

RestTemplate是Spring框架中用于进行RESTful风格的HTTP请求的模板类&#xff0c;通常用于与外部服务进行通信。它基于HTTP协议&#xff0c;使用GET、POST、PUT、DELETE等HTTP方法来进行通信&#xff0c;传输的数据通常使用JSON或XML格式。它是一种基于资源的通信方式&#xff0…...

asp.net core mvc模块化开发

razor类库 新建PluginController using Microsoft.AspNetCore.Mvc;namespace RazorClassLibrary1.Controllers {public class PluginController : Controller{public IActionResult Index(){return View();}} }Views下Plugin下新建Index.cshtml {ViewBag.Title "插件页…...

第2.2节 Android Jacoco插件覆盖率采集

JaCoCo&#xff08;Java Code Coverage&#xff09;是一款开源的代码覆盖率分析工具&#xff0c;适用于Java和Android项目。它通过插桩技术统计测试过程中代码的执行情况&#xff0c;生成可视化报告&#xff0c;帮助开发者评估测试用例的有效性。在github上开源的项目&#xff…...

Vue3中router最佳封装落地

文章目录 前言一、拆分路由文件夹&#xff1f;二、main.ts中注册路由总结 前言 router在使用过程中如果我们直接在一个文件的一个数组中配置&#xff0c;最后路由越来越多会导致不易管理&#xff0c;我们可以将一个页面的路由配置在一个数组中最后统一导入&#xff0c;这样就会…...

MySQL Router被HTTP流量击穿

## MySQL Router被HTTP流量击穿 #莫名奇妙的问题&#xff0c;谁让客户把Router放公网呢&#xff1f;除了被挖矿&#xff0c;还能被HTTP流量攻击。 1、日志信息 rootubuntu:/mysql# terminate called after throwing an instance of ‘mysqlrouter: :URIErrorwhat(): inval…...

网络爬虫【爬虫库request】

我叫不三不四&#xff0c;很高兴见到大家&#xff0c;欢迎一起学习交流和进步 今天来讲一讲爬虫 Requests是Python的一个很实用的HTTP客户端库&#xff0c;完全满足如今网络爬虫的需求。与Urllib对比&#xff0c;Requests不仅具备Urllib的全部功能&#xff1b;在开发使用上&…...

如何使用jenv工具管理多个JDK版本

一、jenv到底是干啥的&#xff1f; 简单来说&#xff0c;jenv就是专门用来管理多个Java版本的工具。不管是开发、测试&#xff0c;还是生产环境&#xff0c;只要你需要在同一台机器上用不同的Java版本&#xff0c;它都能帮上大忙。比如说&#xff0c;项目A要求JDK 8&#xff0…...

如何彻底解决Docker Desktop中Kubernetes无法启动问题

我们时常会遇到Kubernetes启动提示如下报错信息&#xff1a; {"message":"starting kubernetes: pulling images: pulling from host: pulling tag \"registry.k8s.io/etcd:3.5.16-0\": Error response from daemon: .Log in with your Docker ID or…...

aws(学习笔记第三十四课) dockerized-app with asg-alb

aws(学习笔记第三十四课) dockerized-app with asg-alb 使用cdk生成dockerized-app并使用AutoScalingGroup和ApplicationLoaderBalancer 学习内容&#xff1a; 使用cdk生成dockerized-app并使用AutoScalingGroup和ApplicationLoaderBalancer在AutoScalingGroup中使用efs以及R…...

嵌入式c学习七

c语言指针&#xff1a;程序需要载入内存中运行&#xff0c;在32bit系统中内存地址的范围是&#xff1a;0x0000 0000-0xFFFF FFFF&#xff0c;内存大小为4GB&#xff0c;内存地址指的是内存单元的编号是固定的&#xff0c;本身就是一个整数&#xff0c;对于32bit系统&#xff0c…...

Selenium Web UI自动化测试:从入门到实战

引言 在当今快速迭代的软件开发周期中&#xff0c;自动化测试已成为保障产品质量、提升测试效率的核心手段之一。而针对Web应用的UI自动化测试&#xff0c;Selenium作为最流行的开源工具之一&#xff0c;凭借其跨浏览器、多语言支持&#xff08;Python、Java、C#等&#xff09…...

【实战指南】用MongoDB存储文档和图片等大文件(Java实现)

一、前言 在现代应用开发中,经常需要处理和存储大量的文档、图片等大文件。传统的关系型数据库在处理这类大文件时,往往会面临性能瓶颈、存储成本高等问题。而 MongoDB 作为一款流行的 NoSQL 数据库,提供了 GridFS 规范,能够很好地解决大文件存储的问题。GridFS 可以将大文…...

Jetpack Compose 显示时间

Jetpack Compose 显示时间 介绍主体代码使用 介绍 在软件中实时显示时间 主体代码 import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStat…...

vue3中,通过获取路由上的token直接进入首页,跳过登录页面

1.需求 A系统想快速进入到B系统&#xff0c;但又不想输入账号密码&#xff0c;A系统的token与B系统共用token&#xff0c;因此在访问B系统就会在路径上携带token&#xff08;https://magictool-box.com/login?token《token》&#xff09;&#xff0c;通过token直接进入B系统首…...

软考通关利器:中级软件设计师结构化开发核心考点

简介&#xff1a; 作为国家软考中级认证的核心科目&#xff0c;“软件设计师” 结构化开发能力是职业进阶的黄金敲门砖。本模块聚焦考试大纲高频考点&#xff0c;深度解析需求建模、结构化分析方法&#xff08;SA/SD&#xff09;、模块设计原则、数据流图&#xff08;DFD&#…...

[思考记录]两则:宏观视角、理想化

#宏观视角# 昨天听金老师讲解了他初步整理的大模型宏观概念关系图&#xff0c;受益不少。图上不仅是涵盖了诸多概念&#xff0c;更厉害的应该在于把概念之间的关系进行了描述&#xff0c;更直观展现了概念是如何与其他概念相互作用的。帮助从整体的角度去理解&#xff0c;以及透…...

MySQL 性能优化方向

MySQL 性能优化是一个系统性的工作,涉及数据库设计、查询优化、索引优化、硬件配置等多个方面。以下是 MySQL 性能优化的主要方向和具体优化方案: 一、数据库设计优化 1. 合理设计表结构 规范化设计:避免数据冗余,确保数据一致性。适度反规范化:在查询频繁的场景下,适当…...

3-22 vector的使用详解---STL C++

C中的vector容器展开系统讲解&#xff0c;具体内容如下&#xff1a; 1. vector的定义和特性&#xff08;基础概念&#xff09; 讲解vector作为动态数组的核心特性&#xff1a;自动内存管理、动态扩容机制&#xff08;倍增策略&#xff09;对比普通数组&#xff1a;支持随机访…...

Collectors.toList / list 转 list

前言 略 Collectors.toList List<User> userList ...; List<Long> userIdList userList.stream().map(User::getUserId).collect(Collectors.toList());...

uniapp 和 webview 之间的通信

1.背景 应用使用了uniapp开发跨端应用&#xff0c;在uniapp中内嵌webview页面实现页面热更新效果&#xff0c;不需要用户单独重新安装软件即可实现页面的版本更新。 2.webview通知uniapp 在开发过程中我们难会遇到需要uniapp和webview来实现数据通信的场景&#xff0c;接下来…...