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

前端面试题(一)答案版

面试形式:线下面试:时长60分钟

面试过程:填写个人信息->笔记题->HR根据前面2份资料提问->技术面试(见如下面试题)

面试官:项目负责人

公司背景:教育培训公司,项目给本公司服务,技术人员人数只有个位数

面试官提问(面试题):

1、var和let的区别?

答:(1)变量作用域:var具有函数作用域或全局作用域,let具有块级作用域

(2)变量提升:var会被提升至作用域顶部,let不会被提升

(3)重复声明:var可以在同一作用域内重复声明,let会报错

(4)暂时性死区:let声明的变量在声明之前无法访问,var声明的变量在声明之前可以访问undefined

(5)全局对象属性:var声明的变量会成为全局对象的属性,let声明的变量不会

2、style标签中的样式如何只对这一个组件生效?

答:(1)在style标签上添加scoped属性,这样样式就只会应用于当前组件

(2)使用CSS的Shadow DOM特性或CSS Modules来实现样式的局部作用域

3、CSS3新增伪类选择器?

答:(1):root选择文档的根元素

(2):nth-child(n)选择父元素中的第n个子元素

(3):nth-of-type(n)选择父元素中指定类型的第n个子元素

(4):last-child选择父元素中的最后一个子元素

(5):last-of-type选择父元素中指定类型的最后一个子元素

(6):only-child选择父元素中唯一的子元素

(7):only-of-type选择父元素中指定类型的唯一子元素

(8):empty选择没有子元素(包括文本节点)的元素

4、v-show和v-if的区别?

答:(1)v-if:是"真实的"条件渲染,会根据表达式的值来决定是否渲染元素

(2)v-show:只是简单地切换元素的CSS属性display,元素始终会被渲染

(3)性能:v-if有更高的切换消耗,v-show有更高的初始渲染消耗

5、微信小程序生命周期?

答:(1)全局生命周期: onLaunch、onShow、onHide、onError、onPageNotFound

(2)页面生命周期: onLoad、onShow、onReady、onHide、onUnload、onPullDownRefresh、onReachBottom、onShareAppMessage、onTabItemTap

6、 微信小程序文件类型?

答:WXML(页面结构)、WXSS(页面样式)、JS(页面逻辑)、JSON(页面配置)、图片、音频、视频等资源文件

7、如何理解MVVM?

答:MVVM是Model-View-ViewModel的缩写:

(1)Model代表数据模型

(2)View代表UI组件

(3)ViewModel作为Model和View之间的桥梁,负责监听Model数据的变化并更新View,也负责相应View的操作并更新Model

(4)这种模式将业务逻辑从UI中分离,可以实现双向数据绑定,提高代码的可维护性

8、vue中的常用指令?

答:(1)v-if、v-else、v-show等条件渲染指令

(2)v-for用于列表渲染

(3)v-bind用于绑定属性

(4)v-on用于事件监听

(5)v-model用于双向数据绑定

9、vue中常见修饰符?

答:(1).prevent修饰符可以阻止元素默认行为

(2).stop修饰符可以阻止事件冒泡

(3).capture修饰符可以使用事件捕获模式

(4).self修饰符只当事件在该元素本身(而不是子元素)触发时触发回调

10、不使用border=1px,如何在浏览器的标准模式和怪异模式一样的效果?

答:可以使用box-sizing: border-box属性,这样元素的宽高就会包括边框和内边距在内

11、cookie和session区别(跟踪用户状态的机制)?

答:(1)Cookie是保存在客户端(浏览器)的小型文本文件,用于保存一些会话信息

(2)Session是保存在服务端的会话信息,通过sessionId在客户端和服务端之间传递

(3)Cookie数据存放在客户端,Session数据存放在服务端,相对来说Session更安全

12、实现动画的几种方式?

答:(1)CSS动画: transition、animation

(2)JS动画: requestAnimationFrame、定时器

(3)SVG动画

(4)Canvas动画

13、[1,2,3]变成"1,2,3"有几种方法?

答:(1)使用join()方法: [1,2,3].join(',')

(2)使用toString()方法: [1,2,3].toString()

(3)使用模板字符串: ``${[1,2,3]}`

14、音频标签:video标签?

答:(1)audio>标签用于嵌入音频内容

(2)<video>标签用于嵌入视频内容

(3)两者都支持常见的媒体格式,如MP3、MP4、WebM等

15、画一颗五角星有几种方法?

答:(1)使用CSS的clip-path属性: clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);

(2)使用SVG的<polygon>元素: <polygon points="50,10 65,80 20,35 80,35 35,80"/>

(3)使用Canvas API绘制多边形

16、跨域是什么?有几种解决方法?

答:(1)跨域是指一个域下的网络应用,不能访问另一个域下的资源

(2)解决方法包括:JSONP、跨域资源共享(CORS)、反向代理、WebSocket、nginx配置等

17、cookies优缺点?

答:(1)优点:用于会话管理、个性化设置等

(2)缺点:数据容量小(4KB)、不安全(可被篡改)、跨域限制

18、http几次握手?

答:三次握手:客户端发SYN包 -> 服务端发SYN-ACK包 -> 客户端发ACK包

19、JQUERY熟悉吗?单页面开发需要使用JQuery吗?

答:对于单页面开发来说,是否需要使用 jQuery 就要看具体的项目和技术选型了。如果你选用了 React、Vue.js 或 Angular 等 JavaScript 框架,通常情况下是不需要额外引入 jQuery 的。这些框架提供了比 jQuery 更加强大和灵活的DOM操作和事件处理能力。但是,如果你的项目没有使用上述主流的 JavaScript 框架,而是采用了一种更传统的前端开发方式,那么引入 jQuery 库仍然是一个不错的选择,它可以大大提高开发效率。

 

 

相关文章:

前端面试题(一)答案版

面试形式&#xff1a;线下面试&#xff1a;时长60分钟 面试过程&#xff1a;填写个人信息->笔记题->HR根据前面2份资料提问->技术面试&#xff08;见如下面试题&#xff09; 面试官&#xff1a;项目负责人 公司背景&#xff1a;教育培训公司&#xff0c;项目给本公…...

qt c++ 子界面调用主窗口函数

方法&#xff1a;使用单例模式 将主窗口设计为单例模式。在子界面中通过单例访问主窗口实例&#xff0c;并调用公共函数。 // mainwindow.h #include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:static MainWindow& instance() {static …...

Excel中多条件判断公式怎么写?

在Excel里&#xff0c;这种情况下的公式怎么写呢&#xff1f; 本题有两个判断条件&#xff0c;按照题设&#xff0c;用IF函数就可以了&#xff0c;这样查看公式时逻辑比较直观&#xff1a; IF(A2>80%, 4, IF(A2>30%, 8*(A2-30%),0)) 用IF函数写公式&#xff0c;特别是当…...

从申请到放款,外汇贷款软件的全流程测试解析

一、业务概述 外汇贷款是商业银行经营的一项重要资产业务。它是指银行运用外汇资金&#xff0c;向借款人提供短期或长期的外汇资金融通。这种贷款业务不仅能帮助银行获取经济效益&#xff0c;还是银行联系客户的主要途径。外汇贷款对于利用外资、引进先进技术设备&#xff0c;以…...

数据分析之数据预处理、分析建模、可视化

1、数据分析概述 数据分析&#xff1a;对大量有序或无序的数据进行信息的集中整合、运算提取、展示等操作&#xff0c;通过这些操作找出研究对象的内在规律。 目的&#xff1a;揭示事物运动、变化、发展的规律。 意义&#xff1a;提高系统运行效率、优化系统作业流程、预测未…...

计算机网络:1概述

概述 因特网 网络、互连网&#xff08;互联网&#xff09;与因特网的区别与关系 若干节点和链路互连形成网络&#xff0c;若干网络通过路由器互连形成互连网&#xff0c;世界上最大的互连网是互联网&#xff08;因特网Internet&#xff09;。 因特网发展的三个阶段 因特网…...

Mybatis工作流程和插件开发

在了解插件开发之前&#xff0c;我们先总体的来梳理一下Mybatis的大致执行流程&#xff1a; 1.new SqlSessionFactoryBuilder().build(inputStream):先根据配置文件&#xff08;包含了全局配置文件和映射配置文件&#xff09;初始化一个对象Configuration&#xff08;这里对象里…...

部署大模型LLM

在autodl上部署大模型 windows运行太麻烦&#xff0c;环境是最大问题。 选择云上服务器【西北B区 / 514机】 cpp (c c plus plus) 纯 C/C 实现&#xff0c;无需外部依赖。针对使用 ARM NEON、Accelerate 和 Metal 框架的 Apple 芯片进行了优化。支持适用于 x86 架构的 AVX、…...

【CT】LeetCode手撕—88. 合并两个有序数组

目录 题目1- 思路2- 实现⭐88. 合并两个有序数组——题解思路 2- ACM实现 题目 原题连接&#xff1a;88. 合并两个有序数组 1- 思路 模式识别 模式1&#xff1a;两个有序数组合并 ——> 双指针模式2&#xff1a;返回结果填充到 nums1[mn] ——> 需要开辟新的数组空间 …...

深入分析 Android BroadcastReceiver (二)

文章目录 深入分析 Android BroadcastReceiver (二)1. 深入理解 BroadcastReceiver 的高级使用和优化2. 有序广播&#xff08;Ordered Broadcasts&#xff09;2.1 实现有序广播 3. 粘性广播&#xff08;Sticky Broadcasts&#xff09;3.1 使用粘性广播 4. 本地广播&#xff08;…...

Linux常⽤服务器构建-ssh和scp

目录 1.ssh <1>ssh介绍 <2>安装ssh A.安装ssh服务器 B.远程登陆 <3>使⽤ssh连接服务器 2.scp 本地⽂件复制到远程&#xff1a; 本地⽬录复制到远程&#xff1a; 远程⽂件复制到本地&#xff1a; 远程⽬录复制到本地&#xff1a; 1.ssh <1>…...

《QT实用小工具·七十》openssl+qt开发的P2P文件加密传输工具

1、概述 源码放在文章末尾 该项目实现了P2P的文件加密传输功能&#xff0c;具体包含如下功能&#xff1a; 1、 多文件多线程传输 2、rsaaes文件传输加密 3、秘钥随机生成 4、断点续传 5、跨域传输引导服务器 项目界面如下所示&#xff1a; 接收界面 发送界面 RSA秘钥生成…...

短链接生成器排名前三!长链接转化成短链接工具有哪些?

在现今的网络营销环境中&#xff0c;短链接的应用越来越广泛。它不仅能简化长链接&#xff0c;提高分享效果&#xff0c;还能提升企业品牌形象和用户体验。于是&#xff0c;市场上涌现出众多短链接生成工具。本文将为您揭秘短链接生成器排名前三的产品&#xff0c;帮您找到最适…...

Vue50-mixin混入

一、为什么要使用 mixin混入 两个组件共享一个配置。 二、使用 mixin混入 2-1、创建一个混合js文件 2-2、引入混合js文件 1、局部混合 在每个组件中都引入混合js文件 注意&#xff1a; 混合就是复用配置&#xff0c;vm实例中的所有的配置项&#xff0c;都能在混合.js文件中写…...

Java创建线程的方式

继承Thread类 这是创建线程的基本方式之一。你需要创建一个新的类&#xff0c;该类继承自Thread类&#xff0c;并重写run()方法。然后&#xff0c;你可以创建这个类的一个实例并调用它的start()方法来启动新线程。 public class MyThread extends Thread { Override public vo…...

C# 程序结构

C# 程序结构 C#(读作“C-sharp”)是一种由微软开发的高级编程语言,它是.NET框架的一部分。C# 设计用于现代软件开发,具有强大的类型系统、丰富的库支持和面向对象的特性。本文将详细介绍C#程序的基本结构,包括其语法、类型系统、控制结构、类和对象等。 C# 程序的基本结…...

【Linux】使用 iptables 验证访问HDFS 所使用到的端口

目录 ​编辑 一、实操背景 二、iptables 简介 三、模拟操作 一、实操背景 背景&#xff1a; 在客户有外网的服务器需要访问内网大数据集群HDFS&#xff0c;使用iptable模拟测试需要开放的端口。 二、iptables 简介 具体介绍看文章&#xff1a; 【Linux】Iptables 详解与实战…...

工程设计问题---多盘离合器制动器设计问题

这个问题的主要目的是使多片式离合器制动器的质量最小化。在这个问题中&#xff0c;使用了五个整数决策变量&#xff0c;它们是内半径&#xff08;x1&#xff09;、外半径&#xff08;x2&#xff09;、盘厚度&#xff08;x3&#xff09;、致动器的力&#xff08;x4&#xff09;…...

triton矩阵乘以及缓存优化

这里triton.cdiv(M, META[BLOCK_SIZE_M]) * triton.cdiv(N, META[BLOCK_SIZE_N])&#xff0c;所以grid的形状是一维的。 观察函数内部 pid tl.program_id(axis0)&#xff0c;因为grid是一维的&#xff0c;所以这里就是总块数&#xff0c;我们假设实际A*BC&#xff0c; A&…...

springboot 搭建一个 测试Kafka 集群连通性demo

废话不多说直接上代码&#xff1a; 1.pom <!-- https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka --><dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><ve…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...