前端面试8

news/2024/7/8 3:56:25 标签: 前端

在这里插入图片描述

基础知识

  1. 解释一下什么是跨域问题,以及如何解决?

    • 跨域问题是由于浏览器的同源策略限制了从一个源加载的网页脚本访问另一个源的数据。解决方法包括使用JSONP、CORS(跨源资源共享)、设置代理服务器等。
  2. 描述一下事件冒泡和事件捕获的区别。

    • 事件冒泡是指事件从最深的节点开始,然后逐级向上层节点传播的过程。而事件捕获则是事件先从最上层元素开始,然后逐级向下直到目标元素的过程。现代浏览器支持addEventListener的第三个参数来指定是使用捕获还是冒泡阶段处理事件。
  3. 请解释一下闭包是什么,它有什么作用?

    • 闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包最常见的方式就是在一个函数内部创建另一个函数。闭包的作用主要有两个:一是可以读取函数内部的变量,二是让这些变量的值始终保持在内存中,不会在函数执行完毕后被垃圾回收机制回收。

框架与库

  1. Vue.js中 computed 和 watch 的区别是什么?

    • computed 是基于它们的依赖进行缓存的,只有当依赖发生变化时才会重新计算。适合用于计算属性。
    • watch 更适合于执行异步操作或开销较大的操作,它会在数据变化时执行回调函数,没有缓存功能。
  2. React中 useState 钩子函数的工作原理是什么?

    • useState 是React 16.8引入的Hooks之一,它允许在函数组件中添加状态。useState接收一个初始状态作为参数,返回一个数组,其中第一个元素是当前状态,第二个元素是一个可以更新状态的函数。每次调用这个更新函数都会导致组件重新渲染。

移动开发

  1. React Native中如何实现页面跳转?
    • 使用react-navigation库是最常见的做法。首先安装并配置该库,然后在需要跳转的地方使用navigation.navigate('ScreenName')方法。例如:
      import { NavigationContainer } from '@react-navigation/native';
      import { createStackNavigator } from '@react-navigation/stack';
      
      const Stack = createStackNavigator();
      
      function App() {
        return (
          <NavigationContainer>
            <Stack.Navigator>
              <Stack.Screen name="Home" component={HomeScreen} />
              <Stack.Screen name="Details" component={DetailsScreen} />
            </Stack.Navigator>
          </NavigationContainer>
        );
      }
      
      在某个组件内跳转:
      this.props.navigation.navigate('Details');
      

性能优化

  1. 前端性能优化有哪些常见方法?
    • 减少HTTP请求次数(合并文件、使用雪碧图等)。
    • 利用浏览器缓存(设置合理的缓存策略)。
    • 图片优化(压缩图片、使用适当的图片格式)。
    • 代码层面的优化(避免不必要的DOM操作、使用CSS3硬件加速)。
    • 异步加载和懒加载(如图片懒加载、代码分割)。
    • 使用CDN加速静态资源加载。

http://www.niftyadmin.cn/n/5536403.html

相关文章

用Python读取Word文件并提取标题

前言 在日常工作中&#xff0c;我们经常需要处理Word文档&#xff0c;特别是从中提取关键信息&#xff0c;如标题、段落等。今天&#xff0c;我们将利用Python来实现这一功能&#xff0c;并为大家提供一段完整的代码示例。 准备工作 首先&#xff0c;你需要安装python-docx库…

如何选择快手矩阵系统:打造高效短视频营销的指南

快手作为中国领先的短视频社交平台&#xff0c;为内容创作者和品牌提供了广阔的展示舞台。为了更高效地管理和扩展在快手上的影响力&#xff0c;快手矩阵系统成为了一个重要的工具。本文将指导您如何选择一个合适的快手矩阵系统&#xff0c;以优化您的内容管理和营销策略。 快…

2-1 概率论基础讲解

2-1 概率论基础讲解 主目录点这里 概率论是集中研究概率和随机现象的数学分支&#xff0c;是研究随机性或不确定性等现象的学科。主要研究对象是随机事件、随机变量、随机过程。 基本概念 随机概念 随机实验&#xff1a;对自然现象进行的一次观察或一次科学实验 基本事件&…

在window上搭建docker

1、打开Hyper-V安装 在地址栏输入控制面板&#xff0c;然后回车 勾选Hyper-V安装&#xff0c;如果没有找到Hyper-V&#xff0c;那么请走第2步 2、如果没有Hyper-V(可选&#xff09;第一步无法打开 家庭版本需要开启Hyper-V 创建一个文本文档&#xff0c;后缀名称为.bat.名称…

掌握电路交换与分组交换:计算机网络的核心技术

计算机网络是现代信息社会的基石&#xff0c;而交换技术是实现网络通信的核心。本文将详细介绍两种典型的交换方式&#xff1a;电路交换和分组交换&#xff0c;帮助基础小白快速掌握这两种技术的基本概念和区别。 什么是电路交换&#xff1f; 电路交换&#xff08;Circuit Swi…

理解 React 中的 API 封装、自定义 Hooks、组件、独立模块与 Context

在现代前端开发中&#xff0c;React 提供了多种方法来组织和管理代码。这些方法包括 API 封装、自定义 Hooks、组件、独立模块和 Context。理解它们的区别和联系&#xff0c;可以帮助我们编写更清晰、更模块化的代码。 1. API 封装 目的&#xff1a;处理与后端服务的通信逻辑…

状态模式在金融业务中的应用及其框架实现

引言 状态模式&#xff08;State Pattern&#xff09;是一种行为设计模式&#xff0c;它允许对象在内部状态改变时改变其行为。状态模式通过将状态的相关行为分离到独立的状态类中&#xff0c;使得状态转换更加明确和简洁。在金融业务中&#xff0c;状态模式可以用于实现交易状…

WPS中制作甘特图的详细教程

网上没几个详细说怎么在WPS中制作甘特图的&#xff0c;我自己整理了一下详细教程&#xff0c;最终效果如下图所示&#xff1a; 1.写好需要展示的项目相关信息&#xff0c;如下图所示&#xff1a; #####这个进度的百分比渐变效果这样设置就行了 2.现在我们需要计算已用时间和剩…